数据结构ppt5自研练习

  • 树的定义与术语
    • 树的定义
    • 有序树
    • 相关术语
  • 二叉树的定义
    • 二叉树有五种形态
    • 二叉树的特征
    • 二叉树与树的主要区别
    • 含有三个结点的二叉树形态
    • 含有三个结点的树的形态
    • 含有n个结点的二叉树有多少种形态
  • 二叉树的性质
    • 满二叉树
      • 满二叉树特点
    • 完全二叉树
    • 完全二叉树特点
  • 典型例题

树的定义与术语

家谱,行政组织机构
编译程序中,用树来表示源程序的语法结构
数据库系统中,用树来组织信息
在分析算法的行为时,可以用树来描述其执行过程

父子关系,兄弟姐妹,后代,祖先
组织管理机构,上下级,下属
政府机构,国防部,教育部
整体部分关系 吉林大学 人文部 文学院

模块化结构关系 软件工程中的模块化技术:
通过模块化,把大的复杂的任务分成一组小的不算复杂的任务:
文字处理器,文件,字体,导入,光标

树的定义

一棵树是一个有限结点的结点集合T,若T空,则为空树
1.有一个根节点
2.其余结点都是不想交非空集合,都称为root(T)的子树
路径长度 A-B-E-F长度为3

有序树

子树T的相对次序被指明,则为有序树,否则为无序树,Ti称为根的第i个子树
线性结构和树结构比较:除了叶子结点和根节点,其他结点,树可能有多个后继

相关术语


  • 结点子节点个数,用D[i]表示

  • 分支节点
    度>0的节点,可以说非叶节点

  • 树的度
    整棵树所有节点最大的度

  • 节点的层数
    根结点层数为0,其他陆续加一


  • 节点之间的线

  • 路径长度
    从上到下经过边数量
    从根结点到某结点的路径长度为该结点的层数

  • 子孙结点、祖先结点
    存在?到?路径,决定祖先和子孙

树的高度
NL(i)是层数,最大层数是高度

二叉树的定义

二叉树

  • 空集
  • 一个根和两颗不相交的左右子树二叉树构成

二叉树有五种形态

  • 一个根
  • 根加左子树
  • 根加右子树
  • 根加左右子树

二叉树的特征

  • 二叉树每个结点最多俩结点
  • 二叉树有左右

二叉树与树的主要区别

二叉树的子树有左右之分,即使某结点只有一个子树也要指明是左边还是右边

含有三个结点的二叉树形态

有五种

含有三个结点的树的形态

俩种

含有n个结点的二叉树有多少种形态

卡特兰数
卡特兰数
答案:

二叉树的性质

  • 二叉树中层数为i的结点至多有 2 i 2^i 2i
  • 高度为k的二叉树至少有 k + 1 k+1 k+1个结点
    4个结点最多高度为3
  • 高度为k的二叉树至多有2^(k+1)-1个结点,1+……+ 2 k 2^k 2k=这个
  • 叶子结点个数为n0,度为2的结点个数为n2则 n0=n2+1
    度为0,1,2的结点个数分别为n0+n1+n2=n
    e=n-1;子节点和父节点的链接
    e=2n2+n1;所有发出分支的结点
    联立:n0=n2+1

满二叉树

每一层都充满结点达到最大结点数

满二叉树特点

  • 叶结点都在第k层
  • 每个分支结点都有俩子节点
  • 叶结点的个数等于非叶结点的个数加1;n0=n2+1

完全二叉树

高度相同的满二叉树和完全二叉树

  • 满二叉树按照层次编号
  • 完全二叉树所有结点对应满二叉树前n个结点

除最后一层外每一层都满

完全二叉树特点

  • 最下面俩层结点的度小于二
  • 最下面一层结点都集中在该层最左边的若干位置上
  • 叶子结点只在最后俩层出现
  • 层次顺序最右边的结点可以没有右孩子

典型例题

数据结构ppt7自研练习相关推荐

  1. 重构实践:基于腾讯云Elasticsearch搭建QQ邮箱全文检索

    导语 | 随着用户邮件数量越来越多,邮件搜索已是邮箱的基本功能.QQ 邮箱于 2008 年推出的自研搜索引擎面临着存储机器逐渐老化,存储机型面临淘汰的境况.因此,需要搭建一套新的全文检索服务,迁移存储 ...

  2. 我的2016--找工作总结

    时光飞逝,不知不觉间,2016年已经快要走到尾声,而我的研究生生涯也即将走到尽头.从今年3月份找实习开始,到10月份签了三方,这中间也经历了起起伏伏各种波折.现在总结一下找工作的这些事情. 先说一下我 ...

  3. 数据结构习题精解 C语言实现+微课视频(习题解答、研考试题、微课视频)

    数据结构习题精解 C语言实现+微课视频(习题解答.研考试题.微课视频) 配套 数据结构.数据结构C语言实现等经典教材的课后习题解答,著名高校典型考研试题详解.微课视频

  4. 保研/面试复习-数据结构与算法-万字总结(近三万字)

    以下是笔者整理的保研/面试容易被问到的算法问题,包含最短路径,dfs,bfs,最小生成树MST(krusal和prim),KMP(这个可能较难,如果算法不是问得很深,一般不会问到),十种排序算法(大部 ...

  5. 保研笔记三 数据结构(未完待续)

    目录 基础概念部分 链表.栈.队列 排序算法 字符串 树 动态规划 数据结构面试题 保研笔记--专业课面试之数据结构 数组.链表.栈.队列 头指针和头结点的区别? 数组和链表的区别? 栈和队列的区别 ...

  6. 数据结构与算法分析c++第四版_研分享 | 人工智能学院数据结构与算法分析考研备考整理...

    数据结构与算法分析 1.在顺序表中插入或删除一个元素,需要平均移动(表中一半)元素,具体移动的元素个数与(表长和该元素在表中的位置)有关. 2.如果有两个数,每个数的所有约数(除它本身以外)的和正好等 ...

  7. 计算机保研复习数据结构薄弱知识

    ​ 看了一个博主写的非常全的数据结构文章,在这里把自己迷惑的,需要加强记忆的知识总结一下 参考链接:https://blog.csdn.net/weixin_40113925/article/deta ...

  8. 2022大三计算机 | 保研面试 | 专业课(数据结构、计组等) 数学(离散等) | 资料整理

    准备复习专业课和数学,每天会复习8个问题/知识点,大概6月底全部复习完 专业课:数据结构.计算机组成原理.操作系统.计算机网络.数据库.软件工程.汇编.编译.程序设计语言 数学:高数.线代.离散 借C ...

  9. 2021 计算机 保研经历 保研经验贴 保研知识扫盲 保研时间线(合肥工业大学 软件工程 rk4/165,211 3%)

    前言 保研常识扫盲 最近很多学弟学妹问我一些相关问题,在这里做一个基础总结 保研是指推免研究生,即不需要通过国家统一的研究生考试,直接获得一个免试推荐的资格. 每个学校都有一定的保研名额,你拿到保研名 ...

最新文章

  1. mysql的存储引擎详解_Mysql存储引擎详解
  2. 飞机上一般是什么操作系统?
  3. hibernate mysql longblob_使用hibernate 插入mysql blob 字段 最大能插入多大的数据
  4. linux系统中怎么驱动U盘
  5. bazel 链接第三方动态库_惠州权威信息系统安全检测第三方
  6. Android之自定义控件入门
  7. opencv7-绘制形状和文字
  8. .NET文档生成工具ADB[更新至2.3]
  9. 11muduo_base库源码分析(二)
  10. show,hide与fadeIn、fadeOu的区别
  11. k8s部署应用nginx
  12. linux安装consul集群
  13. 技术总监和CTO的区别 浅谈CTO的作用----软件公司如何开源节流
  14. 自己实现的promise
  15. java导出mysql数据表的结构生成word文档
  16. 产品数据管理(PDM)技术概述
  17. 黑客术语 什么是“0day”、“零日漏洞”?
  18. 360技术笔试+技术能力笔试(1)——能力测评
  19. ulp(unit in the last place)是什么意思
  20. gmail支持html吗,gmail smtp

热门文章

  1. ChatGPT调教指南(中文)
  2. Matlab曲线的颜色、线型等参数设置方法
  3. kali Linux Vega工具安装与解决报错
  4. 裕华万宝风扇安装顺序
  5. java web——servlet+jsp实现前后台交互
  6. ZigBee学习笔记——(一)无线传感器网络
  7. 中国甲基异丁基甲醇行业头部企业市场占有率及排名调研报告
  8. uniapp video 标签,点击进入全屏播放,退出全屏,停止播放,暂停播放
  9. Spring Boot JUnit 测试 Controller
  10. 亚马逊卖家该如何解决新品获评?