[高等教育]计算机公共基础—数据结构.pptVIP

[高等教育]计算机公共基础—数据结构.ppt

  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文档。上传文档
查看更多
[高等教育]计算机公共基础—数据结构

计算机公共基础 计算机公共基础 算 法 算法的特征 算法的设计的要求(评价) 用计算机解题过程 解题过程图示 数据结构的定义 数据的逻辑结构 常见数据结构图示 数据的物理结构 数据的运算 线性表 线性表的顺序存储 顺序表的插入 顺序表的删除 顺序存储结构的优缺点 线性表的链式存储 单向链表 双向链表的运算 循环链表的运算 链式存储结构的优缺点 栈 栈的应用 栈的应用—程序中断示意图0 程序中断示意图1 程序中断示意图2 程序中断示意图3 多级嵌套中断 队 队的应用 顺序队列的问题(假溢出) 循环队列 解决方案 树 树的图形表示 二叉树 满二叉树 完全二叉树 二叉树的存储 二叉树的遍历 二叉树遍历的3种方法 查找(堆 个) 顺序查找 顺序查找示例 折半查找 折半查找示例1 折半查找示例2 排序 交换排序 沉底法示例—1 沉底法示例—2 选择排序 选择排序示例 插入排序 直接插入排序示例 队结构实例——两端开口的管道 特点: 先进先出表或FIFO(First In First Out) 出队 进队 元素像是恰好能推入管道里的木块 将木块从一端推入——进队 将木块从另一端取出——出队 如:排队买东西、计算机系统中对资源的使用等 头 尾 数组q 0 1 2 3 m-1 头 尾 数组q 0 1 2 3 m-1 头 尾 数组q 0 1 2 3 m-1 队头 队尾 特点:重复使用已退队元素所占存储单元! 队空状态:头尾指针相等,等于0至m-1之间任一值 队满状态:头尾指针相等,等于0至m-1之间任一值 问题:如何判断队空和队满? 方法一、使用变量count作为当前队中元素计数器 队空时, count=0 元素进队count++ 元素出队count-- 方法二、长度为m的数组,至多存储m-1个元素 头尾指针相等,则表示队空 尾指针再前进一步就“赶上”头指针,就表示队满 树的定义: 树(tree)是n(n≥0)个结点的集合,其满足以下特性 若n=0,是一棵空树(null tree) n=1,是一棵单结点树 n1,其中必有一个结点是树的根结点,简称根(root),其余结点被划分成若干个子集,每个子集都单独构成一棵树,它们都是根的子树(subtree) 树特别适用于描述各种层次关系、分支关系、嵌套关系的基本数据结构,如:行政建制、家庭关系、资源管理器。 A B C G H L D E F I M J K 根 子树 子树 子树 A B C G H L D E F J K M I 边:表示父子关系 树的名词:根、父、子、叶、层、度 树的特性:一对多 二叉树的定义: 二叉树(binary tree)也称二分树,其中的每个结点最多有两颗子树(左儿子、右儿子)。即每一个结点的度小于等于2。 结点的两棵子树分别称为左子树和右子树。 A B G C E D F A B G C E D F A B G C E D F 满二叉树的定义: 每一层的结点数量都达到最大,即第k层上有2k-1个结点 完全二叉树的定义: 完全二叉树也称左满二叉树,或顺序二叉树,是由满二叉树的编号从1到n的前n个结点(这里n≤2k-1)构成的二叉树。 完全二叉树示例 完全二叉树示例 二叉树可以采用二叉链表存储 rightchild data leftchild A B G C E D F root A B C D F G E 示例 遍历的定义: 遍历指的是对树中每个结点访问且仅访问一次。 访问是指对结点进行某种加工或处理,如输出结点值,查找某个(或某些)结点,计算结点的层号、高度、子孙个数等等 。 遍历对线性结构非常方便,只要按照线性表的顺序依次进行即可。 遍历对非线性结构则复杂,如果处理不当容易出现疏忽或遗漏,因此非线性的根本问题是遍历,遍历的实质是非线性转化为线性。 如:对树木的计数问题,如果是有规律种植在道路的一侧;原始树林中的树木的数量 二叉树遍历常用的有3种方法: 起点 A B C D E G F 终点 1.先序遍历:ABDFGCE 2.中序遍历:BFDGAEC 3.后序遍历:FGDBECA 查找,也称为检索。如查找某人的地址、电话号码;查某单位45岁以上职工等,都属于查找范畴。查找是按关键字进行的,所谓关键字(key)是数据元素(或记录)中某个数据项的值,用它可以标识(或识别)一个数据元素。例如,描述一个考生的信息,可以包含:考号、姓名、性别、年龄、家庭住址、电话号码、成绩等关键字。但有些关键字不能唯一标识一个数据元素,而有的关键字可以唯一标识一个数据元素。如考生信息中,姓名不能唯一标识一个数据元素(因有同名同姓的人),而考号可以唯一标识一个数据元素(每个考生考号是唯一的,不能相同

文档评论(0)

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

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

1亿VIP精品文档

相关文档