-------------------- 第二讲-------- 第一节------在此给出链表的基本操作

news/2024/11/12 16:08:45 标签: 数据结构与算法

下面说线性结构,线性结构是数据结构中最基础最简单的一种结构类型   其中典型的是线性表

线性表:举一个列子        

下面有一个一元多项式F(x)=a0+a1*x+a2*x+~~~~~~~+an*x;

请你思考并给出,你所能想到的几种储存方式.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1:   用一个数组将其系数储存起来,然后用for循环这样一个一个相加.

------弊端是   1:时间复杂度比较高,机器做了许多的无用功,例如当一元多项式为2*x+3*x^2000.这样就做了许许多多的无用功----------------------下面给出对于这种情况的优化算法---------------

2:  用一个结构体数组只将系数和次方都不为零的储存起来计算这样就节省了好多时间和空间--形如

typedef struct Polynode *Polynomial;
typedef struct polynode
{
    int coed;//系数 
    int expon;//指数 
    polynomial ilnk;//指针域 
}

----------------------同一个问题有不同的储存方法-----储存方法和算法是密切相关的-----------------------------

在数据结构中最简单的储存方法就是两种1:数组   2:链表  .

=======================我是大分隔符================================   

什么是线性表?   

线性表:由同类型   数据元素 构成的 有序序列的线性结构 . 

操作集: 线性表L (属于)List ,整数i 表示位置,元素X (属于) ElementType ,
线性表基本操作主要有:
1 、List MakeEmpty() : 初始化一个空线性表L ;
2 、ElementType FindKth( int K, List L ) :根据位序K ,返回相应元素 ;
3 、int Find( ElementType X, List L ) :在线性表L 中查找X 的第一次出现位置;
4 、void Insert( ElementType X, int i, List L) :在位序i 前插入一个新元素X ;
5 、void Delete( int i, List L ) :删除指定位序i 的元素;
6 、int Length( List L ) :返回线性表L 的长度n 。

====线性表的顺序储存实现(数组)就不再说了没必要====下面给出线性表的链式储存实现(链表)======

分别为   储存,插入,删除.

==========链表和数组的不同==链表只要求 在逻辑上相邻,在物理不要求相邻===

 

 

转载于:https://www.cnblogs.com/A-FM/p/5084647.html


http://www.niftyadmin.cn/n/847591.html

相关文章

ubuntu 安装ruby rails

步骤0 - 安装系统需要的包 Mac 请安装 Xcode 开发工具,它将帮你安装好 Unix 环境需要的开发包Ubuntu 请安装$ sudo apt-get install -y build-essential openssl curl libcurl3-dev libreadline6 libreadline6-dev git zlib1g zlib1g-dev libssl-dev lib…

gvim自动补全设置

在_vimrc里加:autocmd FileType python set omnifuncpythoncomplete#Completeautocmd FileType javascript set omnifuncjavascriptcomplete#CompleteJSautocmd FileType html set omnifunchtmlcomplete#CompleteTagsautocmd FileType css set omnifunccsscomplete#…

U-Boot移植——Nand Flash

0 开发环境 宿主机:Ubuntu14.04 开发板:MIni2440 U-Boot:u-boot.1.1.6 1 准备工作 先根据《U-Boot移植——添加新开发板》添加对MIini2440的支持,然后再继续本文的工作。本文的工作主要参考参考资料[5]p276-283 2 include/confi…

sensors.goldfish.so是什么

sensors.goldfish.so是什么突然发现编译总是会有sensors.goldfish.so生成,今天追究了一下,它来自development/tools/emulator/system/sensors看样子是给模拟器用的。同样的例子还有一些库,都是模拟器用的。不用关心。也可以修改Android.mk不编…

vim删除文本的命令

x 删除光标下的字符 ("dl" 的缩写) X 删除光标前的字符 ("dh" 的缩写) D 从当前位置删除到行尾 ("d$" 的缩写) dw 从当前位置删除到下一个单词开头 db 从当前位置删除到前一个单词的开头 diw 删除光标上的单词 (不包括空白字符…

大数据虚拟化零起点-2基础运维第一步-环境规划和准备

大数据的虚拟化之旅以POC开启最为合适。POC是Proofof Concept的简称,意思是概念验证,也就是通常意义上指的测试,用以了解产品的特性是否符合预期的需求。那么,如何从零起点部署大数据虚拟化的POC环境呢?我认为&#xf…

java去重(1通过迭代器,2直接赋值)

1.List<Integer> listnew ArrayList<Integer>(); //有值 List<Integer> listTemp new ArrayList<Integer>(); //临时的list Iterator<Integer> itlist.iterator();//取得有值得list的迭代器 while(it.hasNext()){ int a it.next(); if(lis…

在ubuntu12.04中开启休眠功能

在ubuntu12.04中开启休眠功能1&#xff0c;调整swap分区大于等于内存。2&#xff0c;找出swap的UUID。sudo blkid3&#xff0c;修改/etc/default/grub文件。找到GRUB_CMDLINE_LINUX""&#xff0c;修改为GRUB_CMDLINE_LINUX"resumeUUID第二步找到的swap uuid&quo…