欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    数据结构+二叉树及遍历+PPT.ppt

    • 资源ID:162985       资源大小:1.64MB        全文页数:48页
    • 资源格式: PPT        下载积分:7金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要7金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构+二叉树及遍历+PPT.ppt

    数据结构和算法数据结构和算法课程课程13Ver. 1.0目标目标在本章中,你将学习:在树中存储数据实现二叉树实现二叉搜索树数据结构和算法数据结构和算法课程课程13Ver. 1.0在树中存储数据在树中存储数据假设你被要求呈现操作系统的目录结构。目录结构含有不同的文件夹和文件。一个文件夹可能含有更多的子文件夹和文件。在这种情况下,要用线型结构来表示这种结构几乎是不可能的,因为所有的项目之间都有层级关系。要表示这样的结构,就需要一种非线型的数据存储机制。数据结构和算法数据结构和算法课程课程13Ver. 1.0一个树结构就是以非线型结构来表示不同数据元素之间的层级关系的数据结构。ABCDIJHKGLMFE定义树结构定义树结构 树被应用于数据元素之间的关系以层级关系来表示的应用程序中。数据结构和算法数据结构和算法课程课程13Ver. 1.0每个树结构中的数据元素都被称为一个节点。最顶层的节点被称为根(root)。root定义树结构(续)定义树结构(续)nodeABCDIJHKGLMFE数据结构和算法数据结构和算法课程课程13Ver. 1.0树中的每一个节点在其层级下可能有子树。root定义树结构(续)定义树结构(续)nodeABCDIJHKGLMFE数据结构和算法数据结构和算法课程课程13Ver. 1.0树结构术语树结构术语叶子节点:指没有子节点的节点。叶子节点:指没有子节点的节点。 节点 E, F, G, H, I, J, L, 和 M 是叶子节点。ABCDIJHKGLMFE让我们来讨论树结构常用的一些术语。数据结构和算法数据结构和算法课程课程13Ver. 1.0子树:子树:是树结构的一部分, 但它本身也可被看作一个树结构,这就是子树。 子树也可以含有叶子节点。子节点:子节点:一个树结构中子树的根节点被称为子节点。 树结构术语(续)树结构术语(续) 有根B的树结构包含节点E、F、G和H,此树是节点A的子树。 E, F, G和 H 是B节点的子节点。 B是这些节点的父节点。ABCDIJHKGLMFE数据结构和算法数据结构和算法课程课程13Ver. 1.0节点的度:节点的度:它指树结构中一个节点的子树的数量。树结构术语(续)树结构术语(续)C节点的度为1D节点的度为2A节点的度为3B节点的度为4ABCDIJHKGLMFE边:边:从父节点到子节点的连接被称为一个边。Edge数据结构和算法数据结构和算法课程课程13Ver. 1.0 B、C和D节点互为兄弟节点。 E、F、G和H互为兄弟节点。兄弟:兄弟:它指同一个节点的子节点。树结构术语(续)树结构术语(续)ABCDIJHKGLMFE数据结构和算法数据结构和算法课程课程13Ver. 1.0节点的层级:节点的层级:它指一个节点与根节点之间的距离(按节点数目计算)。根节点永远位于0级。当你将树移至低处,层级增加1。树结构术语(续)树结构术语(续)内部节点:内部节点:它指根节点与叶子节点之间的中间节点 。 节点 B, C, D和 K 是内部节点。Level 0Level 1Level 2Level 3ABCDIJHKGLMFE数据结构和算法数据结构和算法课程课程13Ver. 1.0树结构术语(续)树结构术语(续)树结构的深度:树结构的深度:指一个树结构的最大层级。下面的树结构的深度是 4。Level 0Level 1Level 2Level 3ABCDIJHKGLMFE数据结构和算法数据结构和算法课程课程13Ver. 1.0查看下列树结构并回答问题:a. 该树的深度为多少?b. 节点B的子节点是那个?c. F节点的父节点是那个?d. E节点的层级为多少?e. H节点的兄弟节点是那个?f.D节点的兄弟节点是那个?g. 那些节点是叶子节点?课间思考课间思考ABFGCEDHIroot数据结构和算法数据结构和算法课程课程13Ver. 1.0课间思考(续)课间思考(续)答案:a. 4b. D 和Ec. Cd. 2e. H 没有兄弟节点f.D节点的兄弟节点是Eg. F, G, H和 I数据结构和算法数据结构和算法课程课程13Ver. 1.0定义二叉树定义二叉树一个二叉树就是每个节点只能最多拥有2个子节点的树结构。这些子节点一般被视为左子节点和右子节点。 二叉树有各种类型:严格二叉树二叉树的每一个节点(叶节点除外)都有非空的左子节点和右子节点。满二叉树完整二叉树数据结构和算法数据结构和算法课程课程13Ver. 1.0满二叉树 深度d的二叉树拥有刚好2d 1个节点。ABCDEFG 深度 = 3 节点数 = 23 1 = 7定义二叉树(续)定义二叉树(续)数据结构和算法数据结构和算法课程课程13Ver. 1.0完整二叉树: 指有 n 个节点且深度为 d ,且其节点对应深度为k 的完整二叉树中序号从0到n 1 的节点。ABCDEF完整二叉树完整二叉树ABCDEG不完整二叉树不完整二叉树定义二叉树(续)定义二叉树(续)ABCDEF满二叉树满二叉树G0126543012345012345数据结构和算法数据结构和算法课程课程13Ver. 1.0表示一个二叉树表示一个二叉树二叉树的数组表示:所有节点被表示为数组中的元素。ABCDEFGABCDEGF01234560123456二叉树二叉树数组表示数组表示如果一个二叉树有N个节点,那么对于索引为I的任何节点,其中0 i n 1, 那么此节点没有左子节点。i 的右子节点位于 2i + 2:如果 2i + 2 n 1,那么此节点没有右子节点。数据结构和算法数据结构和算法课程课程13Ver. 1.0二叉树的链接表现形式:使用链接列表来实现一个二叉树。链接表示中的每个节点都具有以下信息:数据对左子节点的引用对右子节点的引用如果一个节点不含有左子节点或右子节点,或一个子节点都没有,相应的左(右)子节点字段就指向NULL。DataNode表示一个二叉树(续)表示一个二叉树(续)数据结构和算法数据结构和算法课程课程13Ver. 1.05268597224807036.5236682459727080二叉树二叉树链接表示链接表示rootroot表示一个二叉树(续)表示一个二叉树(续)数据结构和算法数据结构和算法课程课程13Ver. 1.0你可以在叉树上执行各种操作。在二叉树上最常见的操作是遍历。遍历指的是访问树中所有节点一次的过程。遍历二叉树有三种方式:中序遍历(Inorder traversal)前序遍历(Preorder traversal)后序遍历(Postorder traversal)遍历二叉树遍历二叉树数据结构和算法数据结构和算法课程课程13Ver. 1.0中序遍历一个二叉数所需的步骤如下: 1. 遍历左子树 2.访问根节点 3.遍历右子树让我们考虑一个示例。中序遍历中序遍历数据结构和算法数据结构和算法课程课程13Ver. 1.0中序遍历(续)中序遍历(续)ACEBFGDHIroot节点A的左子树不为 NULL。因此,移动到B以遍历A的左子树。节点B的左子树不为NULL。因此,移动到D以遍历B的左子树。数据结构和算法数据结构和算法课程课程13Ver. 1.0中序遍历(续)中序遍历(续)节点D的左子树为 NULL。因此,访问节点D。DACEBFGDHIroot数据结构和算法数据结构和算法课程课程13Ver. 1.0中序遍历(续)中序遍历(续)D的右子树不为NULL。因此,移动到D的右子树。DACEBFGDHIroot数据结构和算法数据结构和算法课程课程13Ver. 1.0中序遍历(续)中序遍历(续)H的左子树为空。因此,访问节点 H。DHACEBFGDHIroot数据结构和算法数据结构和算法课程课程13Ver. 1.0中序遍历(续)中序遍历(续)H的右子树为空。因此,移动到节点 B。DHACEBFGDHIroot数据结构和算法数据结构和算法课程课程13Ver. 1.0中序遍历(续)中序遍历(续)已经访问了B的左子树。因此,访问节点 B。DHBACEBFGDHIroot数据结构和算法数据结构和算法课程课程13Ver. 1.0中序遍历(续)中序遍历(续)B的右子树不为空。因此,移动到B的右子树。DHBACEBFGDHIroot数据结构和算法数据结构和算法课程课程13Ver. 1.0中序遍历(续)中序遍历(续)E的左子树为空。因此,访问节点E。DHEBACEBFGDHIroot数据结构和算法数据结构和算法课程课程13Ver. 1.0中序遍历(续)中序遍历(续)E的右子树为空。因此,移动到节点A。DHEBACEBFGDHIroot数据结构和算法数据结构和算法课程课程13Ver. 1.0中序遍历(续)中序遍历(续)已经访问过A的左子树。因此,访问节点A.DHEBAACEBFGDHIroot数据结构和算法数据结构和算法课程课程13Ver. 1.0中序遍历(续)中序遍历(续)A 的右子树不为空。因此,移动到A的右子树。DHEBAACEBFGDHIroot数据结构和算法数据结构和算法课程课程13Ver. 1.0中序遍历(续)中序遍历(续)C的左子树不为空。因此,移动到C的左子树。DHEBAACEBFGDHIroot数据结构和算法数据结构和算法课程课程13Ver. 1.0中序遍历(续)中序遍历(续)F的左子树为空。因此,访问节点F。DHEBAFACEBFGDHIroot数据结构和算法数据结构和算法课程课程13Ver. 1.0中序遍历(续)中序遍历(续)F的右子树为空。因此,移动到节点C。DHEBAFACEBFGDHIroot数据结构和算法数据结构和算法课程课程13Ver. 1.0中序遍历(续)中序遍历(续)已经访问过节点C的左子树。因此,访问节点C.DHEBAFCACEBFGDHIroot数据结构和算法数据结构和算法课程课程13Ver. 1.0中序遍历(续)中序遍历(续)C的右子树不为空。因此,移动到节点C的右子树。DHEBAFCACEBFGDHIroot数据结构和算法数据结构和算法课程课程13Ver. 1.0中序遍历(续)中序遍历(续)G的左子树不为空。因此,移动到节点G的左子树。DHEBAFCACEBFGDHIroot数据结构和算法数据结构和算法课程课程13Ver. 1.0中序遍历(续)中序遍历(续)I的左子树为空。因此,访问 I。DHEBAFCIACEBFGDHIroot数据结构和算法数据结构和算法课程课程13Ver. 1.0中序遍历(续)中序遍历(续)I的右子树为空。因此,移动到节点G。DHEBAFCIACEBFGDHIroot数据结构和算法数据结构和算法课程课程13Ver. 1.0中序遍历(续)中序遍历(续)访问节点 G。DHEBAFCIGACEBFGDHIroot数据结构和算法数据结构和算法课程课程13Ver. 1.0中序遍历(续)中序遍历(续)G的右子树为空。DHEBAFCIG遍历完成遍历完成ACEBFGDHIroot数据结构和算法数据结构和算法课程课程13Ver. 1.0前序遍历前序遍历按前序遍历一个二叉树的顺序如下: 1. 访问根节点 2.遍历左子树 3.遍历右子树数据结构和算法数据结构和算法课程课程13Ver. 1.0前序遍历(续)前序遍历(续)ACEBFGDHI对下面的树执行前序遍历。ABDHECFGI前序遍历:前序遍历:数据结构和算法数据结构和算法课程课程13Ver. 1.0后序遍历后序遍历在二叉树中进行后序遍历的步骤如下:1. 遍历左子树2. 遍历右子树3. 访问根节点数据结构和算法数据结构和算法课程课程13Ver. 1.0后序遍历(续)后序遍历(续)ACEBFGDHI对下面的树执行后序遍历。HDEBFIGCA后序遍历:后序遍历:数据结构和算法数据结构和算法课程课程13Ver. 1.0在_遍历方法中,会首先访问根节点,然后再是左右子树。课间思考课间思考答案:前序数据结构和算法数据结构和算法课程课程13Ver. 1.0在本节课中,你已经学到:一个树结构就是以非线型数据结构来表示不同数据元素之间的层级关系。一个二叉树就是一个特定类型的树,其中的每个节点最多只能有2个

    注意事项

    本文(数据结构+二叉树及遍历+PPT.ppt)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开