树的相关概念及术语



练习题:求树中叶子结点的方法


解:
**求树中叶子结点的方法:**sum(node)=sum(分支)+1
sum(分支)=度的数目 * 结点数目
设叶子结点的数目为x,
建立等式:3+4+5+2+x=4 * 3+3 * 4+2 * 5+1 * 2+0 * x+1
解得x为23

二叉树的定义,性质以及存储结构



注意:二叉树不是树(n=0的时候为空二叉树,而树要求n!=0)二叉树是一种树形结构度为2.

二叉树的性质

性质很重要,背下来

练习题:求二叉树的总结点数


方法:叶子结点数=度为2的结点数+1
设叶子结点为n0;

n0=20;//此处为叶子结点数,即度为0
n1=10+15=25;//此处求出只有左孩子或右孩子的结点数,即度为1
n2=n0-1=19;//此处求出度为2的结点数
所以:n=n0+n1+n2=64

满二叉树

完全二叉树的定义

完全二叉树的性质

注:完全二叉树,最多有一个度为一的结点。


特别注意此处的向下取整符号

练习题:求完全二叉树叶子结点数


解:根据性质5第三条,结点为100的完全二叉树,其父结点编号为最多到50,所以从51到100都是叶子结点。

练习题2

解:
(1)由于第六层为满二叉树所以前六层共有结点=2^6-1=63个//性质二:高度为k的二叉树,总结点数<=s ^ k -1,k为层数
之后再加上第七层的结点数
所以总共结点数为=2^6-1+10=73个
(2)方法一详解:
编号为73的叶子结点其父结点为73/2向下取整为36,所以从37开始就都为叶子结点

二叉树的存储

顺序存储


动态二叉链表


二叉链表中有n个结点,则其含有n+1个空指针

二叉树的遍历

先序,中序,后序遍历


解:
先序为:ABCDEFGHI
中序为:CDBEFAHGI
后序为:DCFEBHIGA

根据序列还原二叉树


方法: 先确定根节点(先序为第一个字母,后序为最后一个字母),在根据不同序列之间对比,将剩下的元素写为子树,之后按照同样地方法确定根节点。

遍历算法


遍历算法的应用~求给定二叉树的高度



求高度的关键是运用递归算法

设计算法求二叉树的结点数


设计算法求叶子结点数


练习题:非递归输出最后一个结点

二叉链表转化为顺序链表


数据结构--树与二叉树相关推荐

  1. 数据结构——树和二叉树章节思维导图

    数据结构--树和二叉树章节思维导图

  2. 数据结构-树与二叉树-思维导图+小结

    数据结构-树与二叉树-思维导图 1 数据结构-第五章-树与二叉树-思维导图 2 思维导图-补充 3 小结 3.1 知识点小结 3.2 习题小结 1 数据结构-第五章-树与二叉树-思维导图   数据结构 ...

  3. 王道——数据结构——树与二叉树(3)

    系列文章目录 其他章节相关文章 王道--数据结构--栈和队列(1) 本章节其他相关文章 王道--数据结构--树与二叉树(1) 王道--数据结构--树与二叉树(2) 王道--数据结构--树与二叉树(4) ...

  4. 数据结构—树与二叉树

    总第119篇 前言 之前谈到的线性表.栈和队列都是一对一的数据结构,但是现实中也存在很多一对多的数据结构,这篇要写的就是一种一对多的数据结构---树.全文分为如下几部分: 树的一些基本概念 树的存储结 ...

  5. C语言 数据结构 树和二叉树

    树 1.树:是n节点的有限集.树是n(n=>0)个节点的有限集. n=0时成为空树. 在任意一颗非空树中:(1)有且仅有一个称为根的节点:(2)当n>0时,其余节点可分为m(m>0) ...

  6. 数据结构-树,二叉树,森林

    树,二叉树,森林 王卓老师的数据结构课程笔记 树和二叉树 定义 结点之间有分支,具有层次关系 是n个结点的有限集. 若n = 0,称为空树: 若n > 0,则它满足如下两个条件: 有且仅有一个特 ...

  7. 数据结构树、二叉树、完全二叉树、二叉查找树、平衡二叉树、红黑树、B+树

    树.二叉树.平衡二叉树.二叉搜索树 树的前序遍历.中序遍历和后序遍历 树的前序遍历.中序遍历和后续遍历是以遍历时根所在的位置顺序命名的.层次遍历即按层从上至下,从左至右遍历即可. 前序遍历:根-> ...

  8. 数据结构--树和二叉树

    文章目录 树和二叉树 树 1.树的定义 2.树的逻辑表示 3.树的基本术语: 4.树的性质 5.树的基本运算 二叉树 二叉树的存储结构 二叉树的遍历 树和二叉树 树 1.树的定义 2.树的逻辑表示 树 ...

  9. 数据结构——树与二叉树

    树与二叉树 一.树的定义: 1.定义:树(Tree)是n(n>=0)个节点的有限集,n=0时称为"空树".在任意一棵非空树中: ⒈有且仅有一个特定的称为根(root)的节点. ...

  10. Python数据结构与算法笔记(八):数据结构——树,二叉树和AVL树

    树 class Node:def __init__(self, name, type='dir'):self.name = nameself.type = type #"dir" ...

最新文章

  1. Java 打印数组的方法
  2. linux支持hd610显卡吗,HD610相当于什么显卡 HD610和HD630的区别 (全文)
  3. 生物信息3天速成班—成为团队中不可或缺的人
  4. 【 FPGA 】FIR 滤波器之多相抽取器(Polyphase Decimator)
  5. opengl正方形绕点旋转_中考热点:再说旋转动点问题中的最值问题之提分攻略
  6. 各种主流数据库的比较
  7. [课程复习] 数据结构之经典题目回顾 (一)选择题、填空题1
  8. tf.nn.softmax
  9. jquery设置宽_JavaScript学习笔记(三十二) jQuery(中)
  10. 程序员表白代码python_程序员python表白代码
  11. HDU 2224 The shortest path
  12. 仿墨迹天气小程序源码(袋鼠天气)
  13. 手把手一步步用DataGridView 控件编写属于自己的日历
  14. linux长传大文件,linux大文件传输
  15. iOS 开启静音键时APP播放视频没有声音
  16. swift声明属性为某个类型同时遵循某协议
  17. 三菱FX5U系列PLC控制10轴设备成套资料打包三菱FX5U控制10轴伺服的设备成套电气图纸
  18. 各大邮箱网址用哪个好?企业内部邮箱哪个比较好用?
  19. 最新边信息推荐系统综述Research Commentary on Recommendations with Side Information: A Survey and Research Direc
  20. 软通动力:电子签是HR数字化的重要抓手

热门文章

  1. Eolink 10月企业与产品动态速览
  2. mybatis的switch标签
  3. Jyutping(粵拼)詳細教程
  4. Matlab:图像轮廓的曲率计算
  5. 第一章 命题逻辑 1.7 推理理论
  6. 力扣 LCP 42. 玩具套圈 (数学公式反推)
  7. VR虚拟展厅产品展示如何实现的
  8. 2021年新规下申请测绘资质甲级、乙级需要满足的条件有哪些?
  9. 【超详细】全国大学生软件测试大赛:移动应用测试参赛指南
  10. Visual Studio 2015/2017 与ASP.NET CORE 联合创建具有SPA模式的Angular2模板