| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 数据结构->二叉树的介绍 -> 正文阅读 |
|
[数据结构与算法]数据结构->二叉树的介绍 |
目录 一,树的概念和结构1.1 概念树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。看起来向一颗根朝上的倒挂着的树。 子树(分支)间不能有联系,否则不是树形结构。 1.2 相关的重要概念? ? ? ? ?用血缘关系来记忆树的概念 双亲节点或父节点若一个节点含有子节点(有分支),则这个节点称为其子节点的父节点; 如上图:A是B的父节点 孩子节点或子节点一个节点含有的子树的根节点称为该节点的子节点; 如上图:B是A的孩子节点 节点的度一个节点含有的子树的个数称为该节点的度(一个节点的孩子个数); 如上图:A的为6,D为1,E为2 树的度一棵树中,最大节点的度称为树的度(拥有最多孩子的节点的孩子个数); 如上图:树的度为6 叶子节点或终端节点度为0的节点称为叶节点(树末尾无分支的节点); 如上图:B、C、H、I、K、L、M、N、P、Q节点为叶节点 兄弟节点具有相同父节点的节点互称为兄弟节点; 如上图:B、C是兄弟节点 节点的层次从根开始定义起,根为第1层,根的子节点为第2层,以此类推; 树的高度或深度树中节点的最大层次; 如上图:树的高度为4 节点的祖先从根到该节点所经分支上的所有节点;如上图:A是所有节点的祖先 子孙以某节点为根的子树中任一节点都称为该节点的子孙。如上图:所有节点都是A的子孙 森林由m(m>0)棵互不相交的树的集合称为森林; 1.3 树的孩子兄弟表示法采用的是链式存储结构,保存孩子的节点指向孩子,兄弟的节点指向兄弟,并保存元素
二、二叉树2.1 概念二叉树是n个有限元素的集合,该集合或者为空、或者由一个称为根的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成,是有序树。当集合为空时,称该二叉树为空二叉树。在二叉树中,一个元素也称作一个节点。
2.2 特殊的二叉树满二叉树一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为K,且结点总数是2^k-1?,则它就是满二叉树。 完全二叉树对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。 要注意的是满二叉树是一种特殊的完全二叉树。 ?2.3 重要性质? ? 规定根节点的层数为1,层数用k表示,层数K=树的深度h 总节点数n:n=2^k-1 或 n=2^h-1 n个结点的满二叉树的深度h
指定层数节点数:一棵非空二叉树的第i层上最多有 2^(i-1)?个结点. 叶节点和度为2节点的特殊关系n0=n2+1? n0(叶子节点数)? ? n2(度为2节点数) 总节点数为n的完全二叉树
2.4 二叉树的存储结构顺序存储普通的二叉树是不适合用数组来存储的,因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结构存储。如下图 链式存储用链表来表示一棵二叉树,即用链来指示元素的逻辑关系。 通常的方法是链表中每个结点由三个域组成,数据域和左右指针域,左右指针分别用来给出该结点左孩子和右孩子所在的链结点的存储地址 。 二叉树的基本概念到这结束,下一篇介绍堆的概念及实现:堆的实现+堆排序_i跑跑的博客-CSDN博客 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 9:45:30- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |