第06章 数据结构 树和二叉树(Java版)第三版

合集下载

数据结构二叉树PPT课件

数据结构二叉树PPT课件

A
B
CX
E FGH I
J
8
四. 基本名词术语
1. 结点的度:该结点拥有的子树的数目。
2. 树的度:树中结点度的最大值。
3. 叶结点:度为0 的结点. 4. 分支结点: 度非0 的结点. 5. 层次的定义: 根结点为第一层,若某结点在第i 层,
则其孩子结点(若存在)为第i+1层.
A
第1层
B
CX
第2层
12
完全二叉树.
三.i 层最多有2i–1个结点(i1)。
2. 深度为h 的非空二叉树最多有2h -1个结点.
3. 若非空二叉树有n0个叶结点,有n2个度为2的结点,

n0=n2+1
4. 具有n个结点的完全二叉树的深度h=log2n+1.
13
二叉树的存储结构
39

A
BC D
E F GH I
对树进行先根遍历,获得的先根序列是: ABEFCDGHI
对树进行后根遍历,获得的后根序列是: EFBCGHIDA
40
2.森林的遍历
先序遍历(对森林中的每一棵树进行先根遍历)
1)若森林不空,访问森林中第一棵树的根结点; 2)先序遍历森林中第一棵树的子树森林; 3)先序遍历森林中(除第一棵树外)其余树构成的森林。
(空) 根 根 根

左 子 树
右 子 树
左 子 树
右 子 树
11
二. 两种特殊形态的二叉树
1. 满二叉树
若一棵二叉树中的结点, 或者为叶结点, 或者具有两 棵非空子树,并且叶结点都集 中在二叉树的最下面一层.这 样的二叉树为满二叉树.
2.完全二叉树
若一棵二叉树中只有最下 面两层的结点的度可以小于2, 并且最下面一层的结点(叶结 点)都依次排列在该层从左至 右的位置上。这样的二叉树为

全套电子课件:数据结构(第3版)

全套电子课件:数据结构(第3版)

数据元素是组成数据的基本单位。在程序
中通常把结点作为一个整体进行考虑和处
理。
53080105 杨帆
学号 53080101 53080102
姓名 韩冬 冯明
53080103 刘禹伯
53080104
每一行(代表一位同学)
53080105 53080106
孙晓东 杨帆 迟克逊
作为一个基本单位来考 53080107 陆静雅
1956年,美国杜邦公司提出关键路径法,并 于1957年首先用于投资1000万美元的化工厂 建设,工期比原计划缩短了4个月。杜邦公司 在采用关键路径法的一年中,节省了100万美 元。
Ⅱ. Dijkstra算法在物流配送问题中的应用
Ⅲ. 树结构在数据挖掘领域中的应用 Ⅳ. 散列技术在数据加密领域中的应用 Ⅴ. 查找技术在数据库领域中的应用 Ⅵ. 倒排文件、查找算法在搜索引擎中的应用
➢1976年,著名计算机科学家沃思(N. Wirth) 出版了名为《算法+数据结构=程序》的专 著,不仅形象地描述了数据结构、算法与 程序之间的关系,还旗帜鲜明的提出数据
数据结构的发展历史
➢20世纪40年代:处理纯数值性的信息
➢20世纪50年代末:解决非数值计算问题
➢20世纪60年代:数据结构列为一门独立的 课程
采用算法描述语言(ADL)和C++程序设计语言描述算法。 重视时间复杂性分析,重要算法的关键步骤给出正确性证
明。
教学计划
第二章 第三章 第四章 第五章 第六章 第七章 第八章
绪论 线性表、堆栈和队列 数组和字符串 树与二叉树 图 排序 查找
第二章 绪 论
2.1 为什么要学习数据结构
计算机科学是一门研究数据表示和数据处 理的科学。

数据结构树和二叉树习题及答案

数据结构树和二叉树习题及答案

习题六树和二叉树一、单项选择题1.以下说法错误的是()A.树形结构的特点是一个结点可以有多个直接前趋B.线性结构中的一个结点至多只有一个直接后继C.树形结构可以表达(组织)更复杂的数据D.树(及一切树形结构)是一种”分支层次”结构E.任何只含一个结点的集合是一棵树2.下列说法中正确的是()A.任何一棵二叉树中至少有一个结点的度为 2B.任何一棵二叉树中每个结点的度都为 2C.任何一棵二叉树中的度肯定等于 2D.任何一棵二叉树中的度可以小于 23.讨论树、森林和二叉树的关系,目的是为了()A.借助二叉树上的运算方法去实现对树的一些运算B.将树、森林按二叉树的存储方式进行存储C.将树、森林转换成二叉树D.体现一种技巧,没有什么实际意义4.树最适合用来表示()A.有序数据元素 B .无序数据元素C.元素之间具有分支层次关系的数据 D .元素之间无联系的数据5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是()A.9 B.11 C .15 D .不确定6.设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1, M2和M3与森林F对应的二叉树根结点的右子树上的结点个数是()。

A.M1 B .M1+M2 C .M3 D .M2+M37.一棵完全二叉树上有1001个结点,其中叶子结点的个数是()A.250 B .500 C .254 D .505 E .以上答案都不对8.设给定权值总数有n 个,其哈夫曼树的结点总数为()A.不确定 B . 2n C . 2n+1 D . 2n-19.二叉树的第I层上最多含有结点数为()I I-1 I-1 IA.2I B .2I-1-1 C .2I-1D .2I-110.一棵二叉树高度为h, 所有结点的度或为0,或为2,则这棵二叉树最少有()结点A.2h B .2h-1 C .2h+1 D .h+111.利用二叉链表存储树,则根结点的右指针是()。

数据结构-C语言描述(第三版)(陈慧南)章 (6)

数据结构-C语言描述(第三版)(陈慧南)章 (6)

第6章 树 例如,设有序表为(21, 25, 28, 33, 36, 43),若要在表中 查找元素36,通常的做法是从表中第一个元素开始,将待查元素 与表中元素逐一比较进行查找,直到找到36为止。粗略地说,如 果表中每个元素的查找概率是相等的,则平均起来,成功查找一 个元素需要将该元素与表中一半元素作比较。如果将表中元素组 成图6-3所示的树形结构,情况就大为改观。我们可以从根结点 起,将各结点与待查元素比较,在查找成功的情况下,所需的最 多的比较次数是从根到待查元素的路径上遇到的结点数目。当表 的长度n很大时,使用图6-3所示的树形结构组织表中数据,可 以很大程度地减少查找所需的时间。为了查找36,我们可以让36 与根结点元素28比较,36比28大,接着查右子树,查找成功。显 然,采用树形结构能节省查找时间。
第6章 树
E
E
A
F
B
G
CD
LJ
M
N
T1
X
YZ
U T2
B
F
A
DC
G
JL
T3 N
M
(a)
(b)
图6-2 树的例子
(a) 树T1和T2组成森林;(b) 树T3
第6章 树
6.2 二 叉 树
二叉树是非常重要的树形数据结构。很多从实际问题中抽 象出来的数据都是二叉树形的,而且许多算法如果采用二叉树 形式解决则非常方便和高效。此外,以后我们将看到一般的树 或森林都可通过一个简单的转换得到与之相应的二叉树,从而 为树和森林的存储及运算的实现提供了有效方法。
第6章 树
图6-1描述了欧洲部分语言的谱系关系,它是一个后裔图, 图中使用的描述树形结构数据的形式为倒置的树形表示法。在 前几章中,我们学习了多种线性数据结构,但是一般来讲,这 些数据结构不适合表示如图6-1所示的层次结构的数据。为了 表示这类层次结构的数据,我们采用树形数据结构。在本章中 我们将学习多种不同特性的树形数据结构,如一般树、二叉树、 穿线二叉树、堆和哈夫曼树等。

学习JavaScript数据结构与算法(第3版)

学习JavaScript数据结构与算法(第3版)
10.4树的遍历
10.6自平衡树
10.5搜索树中的值
10.7小结
10.3.1创建BinarySearchTree类 10.3.2向二叉搜索树中插入一个键
10.4.1中序遍历 10.4.2先序遍历 10.4.3后序遍历
10.5.1搜索最小值和最大值 10.5.2搜索一个特定的值 10.5.3移除一个节点
1.3.1变量 1.3.2运算符 1.3.3真值和假值 1.3.4相等运算符(==和===)
1.4.1条件语句 1.4.2循环
2.1 ECMAScript还 是JavaScript
2.2 ECMAScript 2015+的功能
2.3介绍 TypeScript
2.4小结
2.1.1 ES6、ES2015、ES7、ES2016、ES8、ES2017和ES.Next 2.1.2使用Babel.js
03
14.3贪心 算法
04
14.4回溯 算法
06
14.6小结
05
14.5函数 式编程简介
14.2.1最少硬币找零问题 14.2.2背包问题 14.2.3最长公共子序列 14.2.4矩阵链相乘
14.3.1最少硬币找零问题 14.3.2分数背包问题
14.4.1迷宫老鼠问题 14.4.2数独解题器
14.5.1函数式编程与命令式编程 14.5.2 ES2015+和函数式编程 14.5.3 JavaScript函数式工具箱——map、filter和reduce 14.5.4 JavaScript函数式类库和数据结构
15.2用算法娱乐身 心
15.1大O表示法
15.3小结
15.1.1理解大O表示法 15.1.2时间复杂度比较 15.1.3 NP完全理论概述

数据结构(c语言版)第三版习题解答

数据结构(c语言版)第三版习题解答

数据结构(c语言版)第三版习题解答数据结构(C语言版)第三版习题解答1. 栈(Stack)1.1 栈的基本操作栈是一种具有特定限制的线性表,它只允许在表的一端进行插入和删除操作。

栈的基本操作有:(1)初始化栈(2)判断栈是否为空(3)将元素入栈(4)将栈顶元素出栈(5)获取栈顶元素但不出栈1.2 栈的实现栈可以使用数组或链表来实现。

以数组为例,声明一个栈结构如下:```c#define MAX_SIZE 100typedef struct {int data[MAX_SIZE]; // 存储栈中的元素int top; // 栈顶指针} Stack;```1.3 栈的应用栈在计算机科学中有广泛的应用,例如计算表达式的值、实现函数调用等。

下面是一些常见的栈应用:(1)括号匹配:使用栈可以检查一个表达式中的括号是否匹配。

(2)中缀表达式转后缀表达式:栈可以帮助我们将中缀表达式转换为后缀表达式,便于计算。

(3)计算后缀表达式:使用栈可以方便地计算后缀表达式的值。

2. 队列(Queue)2.1 队列的基本操作队列是一种按照先进先出(FIFO)原则的线性表,常用的操作有:(1)初始化队列(2)判断队列是否为空(3)将元素入队(4)将队头元素出队(5)获取队头元素但不出队2.2 队列的实现队列的实现一般有循环数组和链表两种方式。

以循环数组为例,声明一个队列结构如下:```c#define MAX_SIZE 100typedef struct {int data[MAX_SIZE]; // 存储队列中的元素int front; // 队头指针int rear; // 队尾指针} Queue;```2.3 队列的应用队列在计算机科学中也有广泛的应用,例如多线程任务调度、缓存管理等。

下面是一些常见的队列应用:(1)广度优先搜索:使用队列可以方便地实现广度优先搜索算法,用于解决图和树的遍历问题。

(2)生产者-消费者模型:队列可以用于实现生产者和消费者之间的数据传输,提高系统的并发性能。

云大《数据结构》课程教学课件-第6章 树和二叉树(147P)_OK

云大《数据结构》课程教学课件-第6章 树和二叉树(147P)_OK

^d ^ ^ e ^ 三叉链表
3)二叉链表是二叉树最常用的存储结构。还有其它链接方 法,采用何种方法,主要取决于所要实施的各种运算频度。
例:若经常要在二叉树中寻找某结点的双亲时,可在每个结 点上再加一个指向其双亲的指针域parent,称为三叉链表。
lchild data parent rchild
2021/8/16
2021/8/16
9
6.2 二 叉 树
6.2.1 二叉树的概念
一、二叉树的定义: 二叉树(Binary Tree)是n(n>=0)个结点的有限集,它或者是 空集(n=0)或者由一个根结点和两棵互不相交的,分别称 为根的左子树和右子树的二叉树组成。 可以看出,二叉树的定义和树的定义一样,均为递归定 义。
A
集合3
集合1
BCD
EF
G
集合2
2021/8/16
3
2、树的表示方法 1)树形图法
A
BCD
EF
G
2)嵌套集合法
3)广义表形式 ( A(B, C(E,F), D(G) )
4)凹入表示法
2021/8/16
A B
D
CG
EF
A B C E DF G
4
3、 树结构的基本术语
1)结点的度(Degree):为该结点的子树的个数。 2)树的度:为该树中结点的最大度数。
7)路径(Path):若树中存在一个结点序列k1,k2,…,kj,使得ki是 ki+1的双亲(1<=i<j),则称该结点序列是从ki到kj一条路径 (Path)
路径长度:路径的长度为j-1,其为该路径所经过的边的数 目。
A
BCD
EF
G

《数据结构》习题集:第6章 树和二叉树

《数据结构》习题集:第6章 树和二叉树

第6章树和二叉树一、选择题1.有一“遗传”关系,设x是y的父亲,则x可以把它的属性遗传给y,表示该遗传关系最适合的数据结构是( D )A、向量B、树C、图D、二叉树2.树最适合用来表示( B )A、有序数据元素B、元素之间具有分支层次关系的数据C、无序数据元素D、元素之间无联系的数据3.树B 的层号表示为1a,2b,3d,3e,2c,对应于下面选择的( C )A、1a(2b(3d,3e),2c)B、a(b(D,e),c)C、a(b(d,e),c)D、a(b,d(e),c)4.对二叉树的结点从1 开始连续编号,要求每个结点的编号大于其左、右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,则可采用( B )次序的遍历实现二叉树的结点编号。

A、先序B、中序C、后序D、从根开始按层次遍历5.按照二叉树的定义,具有3 个结点的二叉树有(C )种。

A、3B、4C、5D、66.在一棵有n个结点的二叉树中,若度为2的结点数为n2,度为1的结点数为n1,度为0的结点数为n0,则树的最大高度为(),其叶结点数为();树的最小高度为(),其叶结点数为();若采用链表存储结构,则有()个空链域。

log+1 C、log2n D、nA、n/2B、⎣⎦n2E、n0+n1+n2F、n1+n2G、n2+1H、1I、n+1 J、n1K、n2L、n1+17.对一棵满二叉树,m 个树叶,n 个结点,深度为h,则( D )A、n=m+hB、h+m=2nC、m=h-1D、n=2h-18.设高度为h 的二叉树中只有度为0 和度为2 的结点,则此类二叉树中所包含的结点数至少为( A ),至多为(D )。

A、2hB、2h-1C、2h-1D、2h-19.在一棵二叉树上第5 层的结点数最多为(B)(假设根结点的层数为1)A、8B、16C、15D、3210.深度为5 的二叉树至多有( C )个结点。

A、16B、32C、31D、1011.一棵有124 个叶结点的完全二叉树,最多有(B )个结点A、247B、248C、249D、25012.含有129 个叶子结点的完全二叉树,最少有( B )个结点A、254B、255C、256D、25713.假定有一棵二叉树,双分支结点数为15,单分支结点数为30,则叶子结点数为( D )个。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据结构(Java版)(第3版)》
6.2.2 二叉树性质
性质1:若根结点的层次为 ,则二叉树第i层 性质 :若根结点的层次为1,则二叉树第 层 最多有2 ( 最多有 i−1(i≥1)个结点。 )个结点。 性质2:在高度为k的二叉树中,最多有 k−1个 的二叉树中, 性质 :在高度为 的二叉树中 最多有2 个 结点( 结点(k≥0)。 )。 性质3:设一棵二叉树的叶子结点数为 性质 :设一棵二叉树的叶子结点数为n0,2度 度 结点数为n2,则n0=n2+1。 结点数为 。
《数据结构(Java版)(第3版)》
6.2.3 二叉树的遍历
先根次序:访问根结点,遍历左子树,遍历右子树。 先根次序:访问根结点,遍历左子树,遍历右子树。 中根次序:遍历左子树,访问根结点,遍历右子树。 中根次序:遍历左子树,访问根结点,遍历右子树。 后根次序:遍历左子树,遍历右子树,访问根结点。 后根次序:遍历左子树,遍历右子树,访问根结点。
《数据结构(Java版)(第3版)》
6.1.2 树的术语
1. 父母、孩子与兄弟结点 父母、 2. 度 3. 结点层次、树的高度 结点层次、 4. 边、路径 5. 无序树、有序树 无序树、 6. 森林
《数据结构(Java版)(第3版)》
6.1.3 树的表示法
1. 图示法 2. 横向凹入表示法
A B E F C G D H I J
public class BinaryTree<T> implements BinaryTTree<T> { BinaryNode<T> root; //根结点 根结点 }
《数据结构(Java版)(第3版)》
3.二叉树三种次序遍历的递归算法 二叉树三种次序遍历的递归算法
//先根次序遍历以 结点为根的子树 先根次序遍历以p结点为根的子树 先根次序遍历以 private void preOrder(BinaryNode<T> p) { if (p!= { preOrder(p.left); } } 【例6.1】 构造并遍历二叉树。 】 构造并遍历二叉树。
《数据结构(Java版)(第3版)》
3. 广义表表示
A(B(E, F), C(G), D(H, I, J))
6.1.4 树抽象数据类型
public interface TTree<T> //树接口 树接口 { boolean isEmpty(); //判断是否空树 判断是否空树 TreeNode<T> getChild(TreeNode<T> p,int i);//返回 第i个孩子 返回p第 个孩子 返回 TreeNode<T> getParent(TreeNode<T> node);//返回 返回node的父母 返回 的父母 int count(); //树的结点个数 树的结点个数 int height(); //树的高度 树的高度 TreeNode<T> search(T x); //查找并返回元素为 的结点 查找并返回元素为x的结点 查找并返回元素为 void preOrder(); //先根次序遍历树 先根次序遍历树 void postOrder(); //后根次序遍历树 后根次序遍历树 void levelOrder(); //按层次遍历树 按层次遍历树 void insertRoot(T x); //插入元素 作为根结点 插入元素x作为根结点 插入元素 TreeNode<T> insertChild(TreeNode<T> p,T x,int i);//插入孩子 插入孩子 void removeChild(TreeNode<T> p, int i); //删除孩子 删除孩子 } 《数据结构(Java版)(第3版)》
6.1 树及其抽象数据类型
6.1.1 树定义 6.1.3 树的表示法 6.1.2 树的术语 6.1.4 树抽象数据类型
《数据结构(Java版)(第3版)》
6.1.1 树定义
树(tree)是由 (n≥0)个结点组成的 )是由n( ) 有限集合。 的树称为空树; 的树T: 有限集合。n=0的树称为空树;n>0的树 : 的树称为空树 的树 根(root)结点,它没有前驱结点。 )结点,它没有前驱结点。 棵互不相交的子树。 其他结点分为m棵互不相交的子树。
《数据结构(Java版)(第3版)》
性质4: 个结点完全二叉树的高度是 性质 :n个结点完全二叉树的高度是
k = log 2 n + 1 。
性质5:一棵具有n个结点的完全二叉树 对序号为i 个结点的完全二叉树, 性质5:一棵具有n个结点的完全二叉树,对序号为i (0≤i<n)的结点,有: )的结点,
《数据结构(Java版)(第3版)》
//结点的层次 结点的层次
2.三叉链表表示的二叉树类
public class TriBinaryTree<T> { public TriNode<T> root; //根结点 根结点 } (1)构造二叉树 )
《数据结构(Java版)(第3版)》
(2)插入结点 )
① ② ③ ④ 求结点个数 求高度 查找 获得父母结点
《数据结构(Java版)(第3版)》
5. 构造二叉树
(1)先根和中根序列表示 )
《数据结构(Java版)(第3版)》
(2)标明空子树的先根序列表示 )
【例6.2】 输出二叉树中指定结点的所有祖先结点。 】 输出二叉树中指定结点的所有祖先结点。
输出三叉链表存储二叉树的一条直径。 例6.4 输出三叉链表存储二叉树的一条直径。
《数据结构(Java版)(第3版)》
6.4 线索二叉树
为根结点, ① 若i=0,则i为根结点,无父母结点;若i >0,则i的父母结点 , 为根结点 无父母结点; , 的父母结点 序号为。 序号为。 的左孩子结点序号为2i+1;否则 无左孩子。 无左孩子。 ② 若2i+1<n,则i的左孩子结点序号为 , 的左孩子结点序号为 ;否则i无左孩子 的右孩子结点序号为2i+2;否则 无右孩子。 无右孩子。 ③ 若2i+2<n,则i的右孩子结点序号为 , 的右孩子结点序号为 ;否则i无右孩子
(1)插入一个结点 )
(2)删除一棵子树 )
《数据结构(Java版)(第3版)》
7. 二叉树 遍历的非 递归算法
《数据结构(Java版)(第3版)》
8. 二叉树的层次遍历
《数据结构(Java版)(第3版)》
6.3.3 三叉树的二叉链表实现
1. 二叉树的三叉链表结点类 public class TriNode<T> { public T data; //数据域 数据域 public TriNode<T> parent, left, right; //父母结点、左和右孩子结点 父母结点、 父母结点 public int level; }
二叉链表 三叉链表
《数据结构(Java版)(第3版)》
6.3.2 二叉树的二叉链表实现
1. 二叉树的二叉链表结点类
public class BinaryNode<T> { } T data; //数据元素 数据元素 BinaryNode<T> left, right; //左、右孩子 左
2. 二叉树类
6.3 二叉树的表示和实现
6.3.1 二叉树的存储结构 6.3.2 二叉树的二叉链表实现 6.3.3 三叉树的二叉链表实现
《数据结构(Java版)(第3版)》
6.3.1 二叉树的存储结构
1. 二叉树的顺序存储结构
《数据结构(Java版)(第3版)》
2.二叉树的链式存储结构 二叉树的链式存储结构
6.2 二叉树及其抽象数据类型
6.2.1 二叉树定义 6.2.2 二叉树性质 6.2.3 二叉树的遍历 6.2.4 二叉树抽象数据类型
《数据结构(Java版)(第3版)》
6.2.1 二叉树定义
二叉树(binary tree)是n个结点的有限集合: 二叉树( ) 个结点的有限集合: 个结点的有限集合 空二叉树; 空二叉树; 由一个根结点、两棵互不相交的左子树和右 由一个根结点、 子树组成。 子树组成。
《数据结构(Java版)(第3版)》
目的和要求
• • • • • 目的:理解树型结构; 目的:理解树型结构;掌握链式存储结构表达 非线性结构,掌握递归算法设计。 非线性结构,掌握递归算法设计。 内容:二叉树的定义、性质、存储结构, 内容:二叉树的定义、性质、存储结构,二叉链 表表示的二叉树类;中序线索二叉树; 表表示的二叉树类;中序线索二叉树; Huffman树;树的定义、存储结构和实现。 树的定义、存储结构和实现。 要求:理解树和二叉树概念, 要求:理解树和二叉树概念,掌握树和二叉树的 表示和实现,掌握递归算法设计。 表示和实现,掌握递归算法设计。 重点:二叉链表表示的二叉树类; 重点:二叉链表表示的二叉树类;Huffman树;树 的定义、存储结构和构造算法。 的定义、存储结构和构造算法。 难点:链式存储结构表达非线性结构; 难点:链式存储结构表达非线性结构;递归算法 设计。 设计。 实验:树和二叉树的基本操作, 实验:树和二叉树的基本操作,链式存储结 构表示树和二叉树;递归算法。 构表示树和二叉树;递归算法。 《数据结构(Java版)(第3版)》
先根遍历序列:A B D G C E F H 先根遍历序列: 中根遍历序列: 中根遍历序列:D G B A E C H F 后根遍历序列: 后根遍历序列:G D B E H F C A
《数据结构(Java版)(第3版)》
6.2.4 二叉树抽象数据类型
public interface BinaryTTree<T> { boolean isEmpty(); //判断是否空 判断是否空 int count(); //返回结点个数 返回结点个数 int height(); //返回高度 返回高度 void preOrder(); //先根次序遍历 先根次序遍历 void inOrder(); //中根次序遍历 中根次序遍历 void postOrder(); //后根次序遍历 后根次序遍历 void levelOrder(); //按层次遍历 按层次遍历 BinaryNode<T> search(T key); //查找 查找 BinaryNode<T> getParent(BinaryNode<T> node);//返回父母 返回父母 void insertRoot(T x); //插入元素 作为根结点 插入元素x作为根结点 插入元素 BinaryNode<T> insertChild(BinaryNode<T> p, T x, boolean leftChild); void removeChild(BinaryNode<T> p, boolean leftChild); void removeAll(); } 《数据结构(Java版)(第3版)》
相关文档
最新文档