随笔分类 -  数据结构---树

摘要:值得一说的是删除操作,删除操作我们分为三种情况: 1.要删的节点有两个孩子: 找到左子树中的最大值或者右子树中的最小值所对应的节点,记为node,并把node的值赋给要删除的节点del,然后删除node 实际上真正删除的是node,del只是发生了一次值的替换。 为了方便理解和操作,我们把两个孩子的 阅读全文
posted @ 2018-03-07 20:39 Curo 阅读(1929) 评论(0) 推荐(0)
摘要:一:基本概念 本文转载于:http://lib.csdn.net/article/datastructure/9218 1:什么是生成树? 对于图G<V,E>,如果其子图G'<V',E'>满足V'=V,且G'是一棵树,那么G'就是图G的一颗生成树。生成树是一棵树,按照树的定义,每个顶点都能访问到任何 阅读全文
posted @ 2018-01-30 18:48 Curo 阅读(841) 评论(0) 推荐(0)
摘要:求二叉树中的节点个数 求二叉树中叶子节点的个数 求二叉树的深度 求二叉树第K层的节点个数 递归遍历前序中序后序 非递归遍历前序中序后序层序 1 前序遍历 2 中序遍历 3 后序遍历 4 层序遍历 将二叉查找树变为有序的双向链表 求二叉树的镜像 判断两棵二叉树是否结构相同 判断二叉树是不是平衡二叉树 阅读全文
posted @ 2018-01-29 20:53 Curo 阅读(166) 评论(0) 推荐(0)
摘要:二叉树一共有4种遍历: 1.层次遍历(8-4-9-3-5-10) 2.前序遍历(8-4-3-5-9-10) 3.中序遍历(3-4-5-8-9-10) 4.后序遍历(3-5-4-10-9-8) 其中后三种遍历又分别分为递归遍历与非递归遍历,我们重点说非递归遍历。 非递归前序遍历 思路:判断节点非空 打 阅读全文
posted @ 2018-01-20 22:09 Curo 阅读(280) 评论(0) 推荐(0)
摘要:要求:给出一组数据,根据这组数据创建完全二叉树。 首先,我们知道,数组下标的范围是0到n-1,而在树中编号是从1开始的,下标的范围是1到n; 根据二叉树的性质(将一个完全二叉树按照从上到下,从左到右进行编号,其编号为i的节点,如果满足2*i<=n,则说明编号为i的节点有左孩子,否则没有,如果满足2* 阅读全文
posted @ 2018-01-20 15:17 Curo 阅读(12430) 评论(0) 推荐(1)
摘要:哈夫曼树 哈夫曼树又称最优二叉树,是带权路径长度最短的树,可用来构造最优编码,用于信息传输、数据压缩等方面,是一种应用广泛的二叉树。 几个相关的基本概念: 1.路径:从树中一个结点到另一个结点之间的分支序列构成两个节点间的路径 2.路径长度:路径上的分支的条数称为路径长度 3.树的路径长度:从树根到 阅读全文
posted @ 2017-12-05 22:16 Curo 阅读(942) 评论(0) 推荐(0)
摘要:1.概念 又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。 Trie树与二叉搜索树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀(pre 阅读全文
posted @ 2017-12-02 13:01 Curo 阅读(251) 评论(0) 推荐(0)