考研课件数据结构线性表

考研课件数据结构线性表

ID:39816892

大小:4.57 MB

页数:63页

时间:2019-07-12

考研课件数据结构线性表_第1页
考研课件数据结构线性表_第2页
考研课件数据结构线性表_第3页
考研课件数据结构线性表_第4页
考研课件数据结构线性表_第5页
资源描述:

《考研课件数据结构线性表》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据结构线性表张宪超教授本节重点复习要点考点精讲例题精解同步练习复习要点(1)1.线性表的概念线性表的定义和特点线性表的基本操作2.线性表的存储表示顺序表的定义及基本运算的实现单链表的定义及基本运算的实现3.线性表的特殊链接表示循环链表的特殊遍历方式双向链表的方向性复习要点(2)4.线性表的应用(1)在一维数组上的算法,如原地逆置、非零元素压缩、成块元素移动等。在一维数组上的递归算法,如求和平均值等。在顺序表上的查找、插入、删除、合并、求交等算法及性能分析。在单链表上的迭代求解算法及性能,包括统计链表结点个数、在链表中寻找与给定值x

2、匹配的结点、在链表中寻找第i个结点、链表逆转等。复习要点(3)4.线性表的应用(2)带表头结点的单链表上的迭代算法,包括统计链表结点个数、在链表中寻找与给定值x匹配的结点、在链表中寻找第i个结点、两个有序链表的合并等。单链表的递归算法,包括统计链表结点个数、在链表中寻找与给定值x匹配的结点、在链表中寻找第i个结点、求链表各结点值的和、平均值等。循环链表的迭代算法、双向链表的迭代算法。5.多项式的建立,两个多项式的相加,两个多项式的相乘算法考点精讲1.线性表的定义和基本操作线性表的定义线性表的操作2.线性表的实现线性表的顺序存储线性表

3、的链式存储顺序存储与链式存储的比较其他线性表的形式3.线性表的插入和删除操作基于顺序存储结构的运算基于链式存储结构的运算线性表的定义和基本操作线性表的定义线性表的操作线性表的定义和基本操作(1)线性表的定义(1)通常,定义线性表为n个数据元素(或称为表元)的有限序列。记为。其中L是表名,ai是表中的结点,是不可再分割的数据。n是表中数据元素的个数,也称为表的长度,若n=0叫做空表。线性表的特点存在唯一的一个头元素(第一个元素)存在唯一的一个尾元素(最后一个元素)除了第一个元素外,集合中的每个元素均只有一个直接前驱除了最后一个元素外,

4、集合中的每一个元素均只有一个直接后继线性表的定义和基本操作(2)线性表的定义(2)理解线性表的要点表中的元素具有逻辑上的顺序性,在表中各元素的排列有其先后次序表中元素个数有限表中元素都有数据元素,即每一个表元素都是不可再分的原子数据表中元素的数据类型都相同表中元素具有抽象性,即仅讨论表元素之间的逻辑关系线性表的定义和基本操作(3)线性表的操作表的初始化运算:将线性表置为空表求表长度运算:统计线性表中表元素的个数查找运算:查找线性表中第i个元素或查找表中具有给定关键值的表元素插入运算:将新表元素插入到线性表第i个位置上,或插入到具有给

5、定关键值的表元素的前面或后面删除运算:删除表中第i个元素,或删除给定关键值的表元素读取运算:读取线性表第i个表元素的值复制运算:复制线性表所有表元素到另一个线性表线性表的实现线性表的顺序存储线性表的链式存储顺序存储与链式存储的比较其他线性表的形式线性表的顺序存储线性表的顺序存储又称为顺序表一组地址连续的存储单元存储表中元素逻辑关系相邻的表元素在物理位置上也相邻线性表的顺序存储结构线性表的链式存储线性表的链式存储又称为线性链表结点之间在空间上可以连续也可以不连续结点内附的链接指针表示元素之间的逻辑关系逻辑上相邻的表元素在物理位置上不一

6、定相邻顺序存储与链式存储的比较比较顺序存储链式存储访问方式顺序存取/直接存取从链表头顺序存取逻辑关系与物理位置完全对应不一定对应存储空间利用率无附加空间附加一个指针的空间查找速度快慢插入和删除速度慢快空间限制静态分配:不能扩充不需事先分配动态分配:扩充需移动元素其他线性表的形式双向链表每个结点包含两个指针,指明直接前驱和直接后继元素,可在两个方向上遍历该结点相邻的元素循环链表表尾结点的后继指针指向表中的第一个结点,可以在任意位置上遍历链表静态链表借助数组来描述线性表的链式存储结构线性表的插入和删除运算基于顺序存储结构的运算基于链式存

7、储结构的运算基于顺序存储结构的运算基于链式存储结构的运算单链表的查找运算单链表的插入运算单链表的删除运算单链表的查找运算templateLink*LinkList::SetPos(inti){if(i==-1)//i为-1则定位到头结点returnhead;intcount=0;Link*p=newLink(head->link);while(p!=NULL&&countlink;count++;}returnp;//指向第i个结点,当链表长度小于i时返回NULL}单链表的插

8、入运算templateboolLinkList::Insert(constinti,constTvalue){if((p=SetPos(i-1))==NULL)//p是第i个结点的前驱{cout<<"插入操作不允

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。