- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构复习04149
数据结构总复习 第1章 绪论 数据结构的定义 按某种逻辑关系组织起来的一批数据(或称带结构的数据元素的集合)应用计算机语言并按一定的存储表示 方式把它们存储在计算机的存储器中,并在其上定义了一个运算的集合。 具体来说,数据结构包含三个方面的内容,即数据的逻辑结构,数据的存贮结构和对数据所施加的运算(操作)。 算法与数据结构 算法与数据结构关系密切 选择的数据结构是否恰当直接影响算法的效率;而数据结构的优劣由算法的执行来体现。 计算机科学家沃斯N.Wirth “算法+数据结构=程序” 算法程序 算法是供人阅读的 程序是让机器执行的 算法用计算机语言实现时就是程序 程序不具有算法的有穷性 第2章 线性表 线性结构的特点:在数据元素的非空有限集中,有且仅有一个开始结点和一个终端结点,并且所有结点只有一个直接前趋和一个直接后继。简言之,线性结构反映结点间的逻辑关系是 一对一。线性结构包括线性表、堆栈、队列、字符串、数组等等,其中,最简单、最常用的是线性表。 线性表的定义及特点 线性表的存储方法 顺序存储:逻辑上相邻物理上一定相邻 链式存储:逻辑上相邻物理上不一定相邻 顺序表 顺序表——线性表的顺序存储表示 顺序存储——用一组地址连续的存储单元依次存储线性表的元素,可通过数组来实现。(逻辑上相邻物理上一定相邻) LOC(ai ) = LOC(a1) + (i - 1) ? l (a1为首元素) 顺序存储的优点 可以随机存取表中任一元素O(1);存储空间使用紧凑 顺序存储的缺点: 在插入元素时平均需要移动n/2个元素,删除某一元素时,平均需要移动n-1/2个元素。算法的 平均时间复杂度为 O(n) 预先分配空间需按最大空间分配,利用不充分;表容量难以扩充 写出顺序表基本操作及逆置算法(见作业) 链表——线性表的链式存储 链式存储结构特点 用一组任意的存储单元存储线性表的数据元素 利用指针实现了用不相邻的存储单元存放逻辑上相邻的元素 每个数据元素ai,除存储本身信息外,还需存储其直接后继的信息 链式存储结构的优点: 结点空间可以动态申请和释放; 数据元素的逻辑次序靠结点的指针来指示,插入和删除时不需要移动数据元素。 链式存储结构的缺点: 每个结点的指针域需额外占用存储空间。当数据域所占字节不多时,指针域所占存储空间的比重显得很大。 链表是非随机存取结构。对任一结点的操作都要从头指针依链查找该结点,这增加了算法的复杂度。 O(n) 不便于在表尾插入元素:需遍历整个表才能找到位置。 写出单链表基本操作及逆置算法(见教材p32页算法2.19) 第3章 栈和队列 栈——限定仅在表尾进行插入和删除的线性表,把这个表尾称为栈顶。 特点:后进先出(LIFO表) 栈的存储方法 栈的顺序存储——顺序栈 栈的链式存储——链栈 例1:一个栈的输入序列是12345,若在入栈的过程中允许出栈,则栈的输出序列43512可能实现吗?12345的输出呢? 43512不可能实现,主要是其中的12顺序不 能实现; 12345的输出可以实现,只需压入一个立即 弹出一个即可。 例3一个栈的输入序列为123,若在入栈的过程中允许出栈,则可能得到的出栈序列是什么? 例2 :数组Q[n]用来表示一个循环队列,f 为当前队列头元素的前一位置,r 为队尾元素的位置。假定队列中元素的个数小于n,计算队列中元素的公式为: (A) r-f (B)(n+f-r)% n (C)n+r-f (D) (n+r-f)% n 第6章树和二叉树 二叉树的定义 定义:是n(n≥0)个结点的有限集合,由一个根结点以及两棵互不相交的、分别称为左子树和右子树的二叉树组成 。 逻辑结构: 一对二(1:2) 基本特征: ① 每个结点最多只有两棵子树(不存在度大于2的结点); ② 左子树和右子树次序不能颠倒(有序树)。 ③二叉树不是树的特殊情况 满二叉树 完全二叉树 课堂练习: 课堂练习: 二叉树存储 二叉树存储方法有顺序存储和链式存储 二叉树顺序存储结构 完全二叉树:用一组地址连续的存储单元依次自上而下、自左至右存储结点元素,即将编号为 i 的结点元素存储在一维数组中下标为 i 的分量中(不用下标为0存储单元)。此顺序存储结构仅适用于完全二叉树 不是完全二叉树怎么办? 一律转为完全二叉树!方法很简单,将各层空缺处统统补上“虚结点”,其内容为空。 缺点:①浪费空间;②插入、删除不便 二叉树遍历 若规定先左后右,则只有前三种情况: DLR —— 先(根)序遍历, LDR —— 中(根)序遍历, LRD —— 后(根)序遍历 结论 已知二叉树的先序序列 和中序序列,可以唯一确
您可能关注的文档
最近下载
- 澳大利亚强制性消费品安全和信息标准目录.docx VIP
- 西安市艾滋病检测点资格申表.doc VIP
- 财政部 建设部《建设工程价款结算暂行办法》.pdf VIP
- GB 9706.1-2020 培训教材(天津医械检测中心).pptx VIP
- 《现代管理学》详细教案【参考】.doc VIP
- 新疆专升本考试考试模拟试卷.docx VIP
- Unit 3 “探索”板块 Theme Reading 主题阅读课(教学设计)英语仁爱科普版2024七年级上册-A4.docx VIP
- genesis官方培训教材.ppt
- (完整版)护士十五五发展规划.docx VIP
- 论文双室固定床离子交换除盐系统的.doc VIP
文档评论(0)