当前位置: 首页 > news >正文

游戏界面设计网站游戏工作室加盟

游戏界面设计网站,游戏工作室加盟,百度网盘0基础网站开发教程,北仑网站网页建设数据结构-二叉树-基础知识 1.树1.1什么是树1.2基本概念子节点、父节点叶节点节点的度树的高度/深度节点的子孙、祖先 1.3树与非树1.4如何实现1.5实例 2.二叉树2.1什么是二叉树2.2特殊的二叉树满二叉树完全二叉树 2.3性质层数度节点 2.4存储结构 1.树 1.1什么是树 树型结构是一…

数据结构-二叉树-基础知识

  • 1.
    • 1.1什么是树
    • 1.2基本概念
      • 子节点、父节点
      • 叶节点
      • 节点的度
      • 树的高度/深度
      • 节点的子孙、祖先
    • 1.3树与非树
    • 1.4如何实现
    • 1.5实例
  • 2.二叉树
    • 2.1什么是二叉树
    • 2.2特殊的二叉树
      • 满二叉树
      • 完全二叉树
    • 2.3性质
      • 层数
      • 节点
    • 2.4存储结构

1.

1.1什么是树

树型结构是一类重要的非线性数据结构。树是以分支关系定义的层次结构。
把它叫做“树”是因为它常看起来像一棵倒挂的树,也就是说它常是根朝上,而叶朝下的。

在这里插入图片描述

1.2基本概念

子节点、父节点

子节点也叫孩子节点。

子节点:在树形图中,当前节点的各个子树的根称为当前节点的子节点。即当前节点所直接支配的节点。

可理解为:指该节点下一层与其直接相连的节点。
在这里插入图片描述
A的子节点为BCD
E的子节点为JK

对于各个子节点,它们上面的那个就叫父节点,也叫双亲节点。
BCD的父节点为A
JK的父节点为E

叶节点

叶节点也叫终端节点、叶子。特点是度为0
在这里插入图片描述
对于上图,CFGHIJK就是叶节点。

节点的度

节点的度:节点拥有子节点的数量。

可理解为:该节点的下一层与其直接相连的节点数。

在这里插入图片描述
A的度为3
D的度为4

树的高度/深度

指树的最大层次。
在这里插入图片描述
上图,树的高度为4

节点的子孙、祖先

子孙:指该节点下面所有与其直接或间接相连的节点。
祖先:指从该节点到根所经过的所有节点。
在这里插入图片描述
B的子孙为EJK
J的祖先为EBA
A为所有节点的祖先。

1.3树与非树

对于一个树,有几个重要的特点:

  • 子树不能相交。
  • 除了根节点,每个节点有且仅有一个父节点。
  • N个节点,就有N+1条边。
    反例:
    在这里插入图片描述
    在这里插入图片描述

1.4如何实现

左孩子右兄弟表示法。
即,在每个节点中,存储其最左边的子节点的地址、其右边那个兄弟节点的地址。

大概是这样:
在这里插入图片描述

typedef int DataType;
struct TreeNode
{struct TreeNode* pFistChild;struct TreeNode* pNextBorther;DataType data;
};

1.5实例

如文件夹:
在这里插入图片描述

2.二叉树

2.1什么是二叉树

二叉树每个节点的度最大为二,即,每个节点最多分出两个子树,且有左右之分
每一个二叉树都由下面几种情况组合而成:
在这里插入图片描述

2.2特殊的二叉树

满二叉树

每层都是满的,就是满二叉树,如下面这几个:
在这里插入图片描述

完全二叉树

现假设有个满二叉树,有h层,那么,在第h层的最后去掉几个节点就得到完全二叉树:
在这里插入图片描述
需注意:满二叉树是特殊的完全二叉树。

2.3性质

层数

根节点层数为1

层数1234h
每层最多节点数12482^(h-1)
最多节点总数13715(2^h)-1
  • n个节点的满二叉树:层数h=log(n+1)

  • 对任意的二叉树,当度为2的节点有n1个,度为0的节点有n2个,有n2=n1+1

节点

n个节点的完全二叉树,由根节点开始从0编号。
在这里插入图片描述
那么,对于一个序号为k的节点,有:

  • k == 0,为根;k != 0,双亲节点的序号为(k-1)/2
    如对DE(4-1)/2 == (3-1)/2 == 1
  • 2*k + 1 < n,左孩子序号为2k+1
  • 2*k + 2 < n,右孩子序号为2k+2

2.4存储结构

可用两种结构存储,一种顺序结构,一种链式结构。
顺序结构:用数组存储,一般只适合完全二叉树,否则会造成空间浪费。
链式结构:用链表存储,用指针链接节点。


希望本篇文章对你有所帮助!并激发你进一步探索数据结构的兴趣!

本人仅是个C语言初学者,如果你有任何疑问或建议,欢迎随时留言讨论!让我们一起学习,共同进步!

http://www.yayakq.cn/news/562257/

相关文章:

  • 正规网站制作公司是哪家佛山市官网网站建设企业
  • 推广 高端网站建设100个顺口的公司名字
  • wordpress站点制作视频解析网站如何做搜索
  • 低价格的网站建设公司如何注册域名?成本多少
  • 建设银行的网站怎么打开深圳外贸网站
  • 超炫网站欣赏网页设计比较好的网站
  • 一个网站的成本怎么做网页别人可以看到图片
  • net快速建站html5 图片网站
  • 商城网站开发教程百度手机网页版入口
  • 建房的网站龙岗区住房和建设局网站
  • 移动端网站建设需要注意哪些问题2008iis7怎么搭建网站
  • 第1063章 自己做视频网站上海建网站服务
  • 建立公司网站步骤自己会网站开发如何赚钱
  • 网站嵌套代码我想学制作网站吗
  • 非模板网站无极网
  • 多语言外贸网站开发沼气服务网站建设管理
  • 网站建设与推广实训小结网络营销推广的方式都有哪些
  • 陕西省建设厅安全证考试官网网站谷歌优化怎么做
  • 做网站要用到数据库吗西安学校网站建设公司
  • 宣化网站制作公司南昌网站开发培训学校
  • 创网站模板站怎么改成营销型网站
  • 企业建站报价方案网页设计购物网站
  • 八埏网站开发免费淘宝客网站建设
  • 网站首页弹出图片wordpress短代码图片
  • 网站设计与制作服务wordpress 亚马逊存储
  • 西安技术网站建设京东联盟怎么做网站
  • 北京网站建设外包公司排名物流营销型网站案例
  • 加强门户网站建设 信息公开wordpress php
  • 信息化建设 调查报告 乡镇网站郴州网络推广公司在哪里
  • 找人做网站昆明成都百度推广代理公司