- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第01章 算法与数据结构基础01.ppt
图 单链表的插入 图 双向链表的插入 3.线性链表的删除 线性链表的删除是指在链式存储结构下的线性表中删除包含指定元素的结点。 图 单链表的删除 1.5.3循环链表及其基本运算 循环链表的结构与前面所讨论的线性链表相比,具有以下两个特点: (l)在循环链表中增加了一个表头结点,其数据域为任意或者根据需要来设置,指针域指向线性表的第一个元素的结点。循环链表的头指针指向表头结点。 (2)循环链表中最后一个结点的指针域不是空,而是指向表头结点。即在循环链表中,所有结点的指针构成了一个环状链。 在循环链表中,只要指出表中任何一个结点的位置,就可以从它出发访问到表中其他所有的结点,而线性单链表做不到这一点。 另外,由于在循环链表中设置了一个表头结点,因此,在任何情况下,循环链表中至少有一个结点存在,从而使空表与非空表的运算统一。 1.3.2 线性表的顺序存储结构 线性表的顺序存储结构具有以下两个基本特点: ①线性表中所有元素所占的存储空间是连续的; ②线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。 优点:便于查找元素 缺点:做插入删除操作时需要移动元素 图 顺序表 1.3.3 顺序表的插入运算 在一般情况下,要在第i(1≤ i≤n)个元素之前插入一个新元素时,首先要从最后一个(即第n个)元素开始,直到第i个元素之间共n-i+1个元素依次向后移动一个位置,移动结束后,第i个位置就被空出,然后将新元素插入到第i项。插入结束后,线性表的长度就增加了1。 图 顺序表的插入 1.3.4 顺序表的删除这算 在一般情况下,要删除第i (1≤ i≤n)个元素时,则要从第 i+1个元素开始,直到第n个元素之间共n-i个元素依次向前移动一个位置。删除结束后,线性表的长度就减小了1。 1.4 栈 和 队 列 1.什么是栈 栈是一种特殊的线性表。其插入与删除运算都只在线性表的一端进行。 栈(stack)是限定在一端进行插入与删除的线性表。 an … a2 a1 栈底 bottom 栈顶 top 栈示意图 在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。 栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素:栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。即栈是按照“先进后出”(FILO--First In Last Out)或“后进先出”(LIFO-Last In First Out)的原则组织数据。因此,栈也被称为先进后出表或后进先出表。 通常用指针top来指示栈顶的位置,用指针bottom指向栈底。 往栈中插入一个元素称为入栈运算,从栈中删除一个元素(即删除栈顶元素)称为退栈运算。 栈的基本运算有三种: 入栈、退栈与读栈顶元素。 (l)入栈运算 入栈运算是指在栈顶位置插入一个新元素。这个运算有两个基本操作:首先将栈顶指针进一(即top加1),然后将新元素插入到栈顶指针指向的位置。 当栈顶指针已经指向存储空间的最后一个位置时,说明栈空间己满,不可能再进行入栈操作。这种情况称为栈上溢错误。 (2)退栈运算 退栈运算是指取出栈顶元素并赋给一个指定的变量。 这个运算有两个基本操作: (1)将栈顶元素(栈顶指针指向的元素)赋给一个指定的变量 (2)将栈顶指针退一(即 top减 1)。 当栈顶指针为0时,说明栈空,不可能进行退栈操作。这种情况称为栈下溢错误。 (3)读栈顶元素 读栈顶元素是指将栈顶元素赋给一个指定的变量。 注意,这个运算不删除栈顶元素,只是将它的值赋给一个变量,因此,在这个运算中,栈顶指针不会改变。 当栈顶指针为0时,说明栈空,读不到栈顶元素。 思考: 如果进栈序列为A、B、C、D,则可能的出栈序列是() A)CADB B)BDCA C)CDAB D)任意顺序 1.4.1 队列及其基本运算 1. 队列(queue) 允许在一端进行插入、而在另一端进行删除的线性表。 允许插入的一端称为队尾,通常用一个称为尾指针(rear)的指针指向队尾元素,即尾指针总是指向最后被插入的元素;允许删除的一端称为排头(也称为队头),通常也用一个排头指针(front)指向排头元素的前一
您可能关注的文档
- 税务会计第4章 出口货物退免税会计.ppt
- 税务会计第6章 营业税会计.ppt
- 税务培训(保险公司).ppt
- 税务基本知识培训.ppt
- 税务稽查管理及查账系统.ppt
- 税务行政处罚课件.ppt
- 税及其避税ppt.ppt
- 税控发票开票软件(税控盘版)FAQ文档(企业端)-20151019.doc
- 税控发票开票软件(金税盘版)V2.0培训.ppt
- 税收基础(新版).ppt
- 2025年无人机低空医疗物资投放社会效益报告.docx
- 2025年再生塑料行业包装回收利用产业链重构研究.docx
- 《AI眼镜周边产品市场机遇:2025年终端销售与需求增长洞察》.docx
- 2025年坚果加工行业深加工技术突破与市场拓展策略报告.docx
- 2025年通信芯片行业技术竞争与未来趋势报告.docx
- 《2025年生鲜电商配送冷链事故分析与预防措施》.docx
- 《商业航天融资新趋势2025民营卫星企业资本涌入估值分析市场动态》.docx
- 2025年能源绿色健康行业创新技术与市场应用报告.docx
- 2025年无人机低空医疗救援通信方案分析报告.docx
- 2025年烹饪机器人行业市场集中度分析报告.docx
原创力文档


文档评论(0)