数据结构第五章学习小结 5.1-5.4 5.1 树和二叉树的定义 5.1.1 树的定义 树是n个结点的有限集,它或为空树,或为非空树 对于非空树T: (1)有且仅有一个称之为根的结点; (2)除根结点以外的其余结点可分为 m个互不相交的有限集 T1, T2 , …,Tm,其中每一个集合本身又是一棵树 ...
分类:
其他好文 时间:
2020-05-22 00:01:17
阅读次数:
56
概念: 遍历二叉树: 遍历:指按某条搜索路线遍访每个结点且不重复(又称周游)。 遍历的用途:它是树结构插入、删除、修改、查找和排序运算的前提,是二叉树一切运算的基础和核心。 时间效率: O(n) //每个结点最多访问两次 空间效率: O(n) //栈占用的最大辅助空间 用栈进行迭代运算 和队列很像 ...
分类:
其他好文 时间:
2019-05-04 16:13:27
阅读次数:
151
本二叉树的功能为:创建二叉树,递归先根,中根,后根遍历,二叉树节点总数目,二叉树深度,二叉树叶子节点数,复制二叉树,寻找某节点是否存在并输出,交换左右子树,插入某节点。 下面介绍每种算法的主要思路: 1.创建二叉树:首先引入申请空间的指针节点。设叶子节点的左右子树均为零,每当遇到输入的数字为零时,将 ...
分类:
编程语言 时间:
2018-12-07 01:32:03
阅读次数:
205
之前实现过二叉树的创建,非递归遍历和递归遍历。现在添加一些其他的操作,包括:销毁一棵树计算树的深度(高度).计算叶子节点的个数计算所有节点的个数复制二叉树具体见代码:#include<stdio.h>
#include<stdlib.h>
typedefstructNode
{
intdata;
structNode*lch..
分类:
其他好文 时间:
2016-07-13 06:58:32
阅读次数:
219
这道题和上一道的思路一样,只是在BST的处理上注意下,包括二叉树的复制,二叉树的调整。 1 vector b; 2 class Solution { 3 public: 4 TreeNode* CopyTree(TreeNode* t) 5 { 6 TreeNode*...
分类:
其他好文 时间:
2015-02-07 00:22:44
阅读次数:
246