数据结构与算法分析java——树1
1. 基本术语
度(degree):一个节点的子树个数称为该节点的度; 树中结点度的最大值称为该树的度。
层数(level):从根结点开始算,根节点为1
高度(height)/深度(depth):节点的最大层数
2. 二叉树性质






满二叉树:

完全二叉树:


3. 二叉树的存储结构
1)顺序存储结构

2)链式存储

4. 二叉树的遍历
1)前序遍历: 根 左子树 右子树
2)中序遍历
3)后序遍历
4)层次遍历:从上往下,从左到右
5. 数和二叉树的转换及树的存储结构
1)树转化为二叉树



2)二叉树还原为树

3)树的遍历
1)先根遍历:与其转换的二叉树的前序遍历结果相同

2)后根遍历:与其转换的二叉树的中序遍历结果相同



后根遍历: EFBCGDA F LMG H B NIC D JKE A
6. 树的存储结构
1)双亲链表示法

2)孩子链表示法

3)双亲孩子链表
4)孩子兄弟链
数据结构与算法分析java——树1的更多相关文章
- 数据结构与算法分析java——树2(二叉树类型)
1. 二叉查找树 二叉查找树(Binary Search Tree)/ 有序二叉树(ordered binary tree)/ 排序二叉树(sorted binary tree) 1). 若任意节点 ...
- 《数据结构与算法分析-Java语言描述》 分享下载
书籍信息 书名:<数据结构与算法分析-Java语言描述> 原作名:Data Structures and Algorithm Analysis in Java 作者: 韦斯 (Mark A ...
- 读书笔记:《数据结构与算法分析Java语言描述》
目录 第 3 章 表.栈和队列 3.2 表 ADT 3.2.1 表的简单数组实现 3.2.2 简单链表 3.3 Java Collections API 中的表 3.3.1 Collection 接口 ...
- 数据结构与算法分析java——线性表1
说到线性结构的话,我们可以根据其实现方式分为三类: 1)顺序结构的线性表 2)链式结构的线性表 3)栈和队列的线性表 应用程序后在那个的数据大致有四种基本的逻辑结构: 集合:数据元素之间只有&qu ...
- 数据结构与算法分析-AVL树
1.AVL树是带有平衡条件的二叉查找树. 2.AVL树的每个节点高度最多相差1. 3.AVL树实现的难点在于插入或删除操作.由于插入和删除都有可能破坏AVL树高度最多相差1的特性,所以当特性被破坏时需 ...
- 数据结构与算法分析java——散列
1. 散列的概念 散列方法的主要思想是根据结点的关键码值来确定其存储地址:以关键码值K为自变量,通过一定的函数关系h(K)(称为散列函数),计算出对应的函数值来,把这个值解释为结点的存储地址,将结点存 ...
- 数据结构与算法分析java——栈和队列
1. 栈 1.1 分类 顺序栈:顺序线性表实现 链式栈:单向链表存储堆栈 1.2栈的应用 1)数制转换 import java.util.Scanner; import java.util.Stack ...
- 数据结构与算法分析java——线性表3 (LinkedList)
1. LinkedList简介 LinkedList 是一个继承于AbstractSequentialList的双向链表.它也可以被当作堆栈.队列或双端队列进行操作.LinkedList 实现 Lis ...
- 数据结构与算法分析java——线性表2(ArrarList )
ArrayList ArrayList 是一个数组队列,相当于 动态数组.与Java中的数组相比,它的容量能动态增长.它继承于AbstractList,实现了List, RandomAccess, C ...
随机推荐
- php session_id() session_name()
1.Session.use_cookies:默认值为"1",代表SessionID使用Cookie来传递,反之就是用Query_String来传递 2.Session.name:这 ...
- 文献综述四:基于 UML 技术的客户关系管理系统实现
一.基本信息 标题:基于 UML 技术的客户关系管理系统实现 时间:2015 出版源:电子设计工程 文件分类:uml技术的研究 二.研究背景 使用UML 建模技术和 B/S 架构访问模式,设计出可应用 ...
- (转) Linux Shell经典实例解析
原文:http://blog.csdn.net/yonggeit/article/details/72779955 该篇博客作为对之前Linux Shell常用技巧和高级技巧系列博客的总结,将以Ora ...
- 05-ognl基本语法
1 基本取值 @Test //1基础语法演示-基本取值 //取出root中的属性值 public void fun2() throws Exception{ //1 准备OGNLcontext Ogn ...
- Linux getopt()函数 getopt_long()函数---转
http://hi.baidu.com/scoundrelgg/item/d4083f8412eea05d26ebd97f Linux getopt()函数 getopt_long()函数 get_o ...
- HDU 4027—— Can you answer these queries?——————【线段树区间开方,区间求和】
Can you answer these queries? Time Limit:2000MS Memory Limit:65768KB 64bit IO Format:%I64d & ...
- Oracle 数据类型详解
数据类型(datatype)是列(column)或存储过程中的一个属性. Oracle支持的数据类型可以分为三个基本种类:字符数据类型.数字数据类型以及表示其它数据的数据类型. 字符数据类型 CHAR ...
- 虚拟环境--pipenv
1.安装pipenv,这个工具属于python3 升级pip : pip3 install pipenv 2.在项目中创建虚拟环境 3.激活虚拟环境,进入虚拟环境 进入虚拟环境之前: pipenv s ...
- 静态化HttpClient
实现方法: public class HttpClientHelper { private static HttpClient _client; public static HttpClient Ge ...
- 位运算(6)——Number Complement
Given a positive integer, output its complement number. The complement strategy is to flip the bits ...