数据结构复习整理.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1 初始化操作 InitList (L) 功能:建立空的线性表L; 2 销毁操作 DetroyList (L) 功能:回收为线性表L动态分配的存储空间; 3 置空操作 ClearList (L) 功能:L中已存在,重新将其置成空表; 4 判空操作 ListEmpty (L) 功能:判断线性表L是否为空表,若为空表返回TRUE,否则返回FALSE; 5 求表长操作 ListLength (L) 功能:返回线性表L的表长; 6 取元素操作:GetElem ( L, i, e) 功能:将线性表L中第 i 个元素赋值给 e; 7 查找操作 LocateElem ( L, e, compare() ) 功能:在线性表 L 中查找与元素e 满足compare()的第 1 个元素,返回该元素在表中的序号(或位置),若表中不存在这样的元素,则返回 0; 8 查找前驱 PriorElem ( L, cur_e, pre_e ) 功能:若 cur_e 是 L 中的数据元素且不是第一个,则用 pre_e 返回它的前驱,否则失败,pre_e无定义。 9 查找后继 NextElem ( L, cur_e, next_e ) 功能:若 cur_e 是L中的数据元素且不是最后一个,则用next_e返回它的后继,否则失败,next_e无定义。 10 插入操作 ListInsert ( L, i, e ) 功能:在线性表L的第i个元素之前插入1个新元素e; 11 删除操作 ListDelete ( L, i, e ) 功能:删除线性表L的第i个元素,并用 e 返回; 12 遍历操作 ListTraverse ( L,visit( ) ) 功能:依次对线性表L的每个元素调用函数visit()。若visit()失败,则返回 ERROR,否则返回 OK; 顺序存储表示是将数据元素存放于一个连续的存储空间中,实现顺序存取或(按下标)直接存取。它的存储效率高,存取速度快。但它的空间大小一经定义,在程序整个运行期间不会发生改变,因此,不易扩充。同时,由于在插入或删除时,为保持原有次序(没有规定元素进栈顺序),平均需要移动一半(或近一半)元素,修改效率不高。 链接存储表示的存储空间一般在程序的运行过程中动态分配和释放,且只要存储器中还有空间,就不会产生存储溢出的问题。同时在插入和删除时不需要保持数据元素原来的物理顺序,只需要保持原来的逻辑顺序,因此不必移动数据,只需修改它们的链接指针,修改效率较高。但存取表中的数据元素时,只能循链顺序访问,因此存取效率不高。 作为一般规律,当线性表中元素个数变化较大或者未知时,最好使用链表实现;而如果用户事先知道线性表的大致长度,使用顺序表的空间效率会更高。 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,链表比较方便插入和删除操作。 栈是限定仅能在表尾一端进行插入、删除操作的线性表 能进行插入和删除的一端称为栈顶,另一端称为栈底。 称插入操作为进栈,删除操作为出栈。进栈出栈操作只能在栈顶进行。 1、栈是限定仅能在表尾一端进行插入、删除操作的线性表 2、栈的元素具有后进先出的特点 3、栈顶元素的位置由一个称为栈顶指针的变量指示,进栈和出栈操作都要修改栈顶指针 队列是限定仅能在表头进行删除,表尾进行插入的线性表。 能进行插入的一端称为队尾,能进行删除的一端称为队头。 称插入操作为入队,删除操作为出队。 三、队列的应用 1)解决计算机主机与外设不匹配的问题; 2)解决由于多用户引起的资源竞争问题; 3)离散事件的模拟——模拟实际应用中的各种排队现象; 4)用于处理程序中具有先进先出特征的过程。 1、队列是限定仅能在表尾一端进行插入,表头一端进行删除的线性表; 2、队列中的元素具有先进先出的特点; 3、队头、队尾元素的位置分别由称为队头指针和队尾指针的变量指示; 4、入队操作要修改队尾指针,出队操作要修改队头指针。 数组的概念 数量固定,数据类型相同的(变量)元素组合在一起。使用一个名称代表它。这个名称就是数组名。 如果要访问其中某个元素(变量),可以使用元素的索引值(下标)来访问它。 在C语言中,数组元素的索引值从0开始。 数组的存储 两种形式:既可以是 稀疏矩阵 含有较多值相同元素或较多零元素,且值相同元素或者零元素分布没有一定规律的矩阵称为稀疏矩阵 如何设计递归函数? 一、分治法 (Divide and Conq

文档评论(0)

yan666888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档