第一讲 线性表.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一讲 线性表

计算机的基本工作方式 将编好的程序和原始数据,输入并存储在计算机的内存储器中(即“存储程序”); 计算机按照程序逐条取出指令加以分析,并执行指令规定的操作(即“程序控制”)。 这一原理称为存贮程序和程序控制,是现代计算机的基本工作方式。 程序=数据结构+算法 什么是数据结构(data structure) 什么是算法(algorithm) 计算机和人对奕问题 三种基本数据结构 线性结构——数据元素之间存在一对一的线性关系 树形结构——数据元素之间存在一对多的层次关系 图状结构——数据元素之间存在多对多的网状关系 1、数据的逻辑结构与存储结构之间有怎样的关系? 讨论: 链式结构——什么是指针 指针是以存储单元的地址作为其值的一种数据类型。 讨论 (1)这样插入的链表有什么特点? 单循环链表 例2约瑟夫问题。 例3 营业额统计 给定N(1≤N≤32767)天的营业额a1,a2,……,an. 定义一天的最小波动值等于 min{|该天以前某一天的营业额-该天营业额|} 特别地,第一天的最小波动值即为a1 试求N天的最小波动值之和 分析 穷举:O(N^2) 算法低效 算法分析 1、将这N个元素进行排序,得到序列c,同时 记录原来第i个元素在排序后的位置bi 双向链表 3.1 对于an,查看bn的前驱pre[bn]与后继next[bn] 所指的数 3.2 最小波动值必然是an与这两个数中的某一个的差的绝对值 3.3 处理完an后,我们把它从双向链表中删除,接着处理an-1 动画演示 时间复杂度分析 小结 readln(n) ; head:=nil; while n 0 do{插入表头,形成链表 } begin new ( p ) ; p^.data:=n; p^.next:=head; head:= p ; read ( n ) ; end ; 参考程序: (2)可以用表尾插入来改变链表结点的顺序吗?程序怎样完成? head:=nil; read(x); while x0 do begin if head=nil then begin new(p); p^.data:=x;p^.next:=nil; q:=p; head:=p end else begin new(p); p^.data:=x;p^next:=nil; q^.next:=p; q:=p; end; read(x); end; head 线性链表应用的三种模式: (1)数据元素的查找 (2)数据元素的插入 (3)数据元素的删除。 线性链表的访问基本方法是: (1)从头结点开始沿线性链表方向进行探求,一般用于指向刚查过的结点地址,另一个用于指向下一个待查的结点地址。 (2)结束访问的条件有两个:一个是结点地址为Nil,另一个是找到了相应的结点。 容易出错的是:当p为nil时,取p^.data时出错,因为p是nil,p^.data的值无意义。 小结: 在链表进行插入和删除,只需要修改指针。对于频繁进行插入和删除的线性表,宜采用链表做存储结构。若表的插入和删除主要发生在表的首尾两端,则采用尾指针表示的单循环链表为宜。 在顺序表中进行插入和删除,平均要移动表中近一半的结点,尤其是当每个结点的信息量较大时,移动结点的时间开销就相当可观。 插入删除操作 顺序存取结构,链表中的结点,需从头指针起顺着链扫描才能取得。 随机存取结构,查找方便,但插入和删除操作很费时。 时间 存取 动态分配,只要内存空间尚有空闲,就不会产生溢出。当线性表的长度变化较大,难以估计存储规模时,宜采用动态链表作存储结构为好。 静态分配。程序执行前须确定存储规模。估计过大造成空间浪费,估计太小使空间溢出机会增多。 空间 分配 链 表 顺序表 实战演练:线性链表的归并运算: 将下列两个有序线性表进行归并。 线性表(1)是:{3,5,8,11,13} 线性表(2)是:{1,4,5,9,15} 归并后的线性表为:{1,3,4,5,8,9,11,13,15} (1)线性链表

文档评论(0)

wyjy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档