04 2019 档案

摘要:红黑树介绍红黑树(Red-Black Tree),它一种特殊的二叉查找树。执行查找、插入、删除等操作的时间复杂度为O(logn)。 红黑树是特殊的二叉查找树,意味着它满足二叉查找树的特征:任意一个节点所包含的键值,大于等于左孩子的键值,小于等于右孩子的键值。红黑树的每个节点上都有存储位表示节点的颜色 阅读全文
posted @ 2019-04-22 17:40 橘子洲头。 阅读(353) 评论(0) 推荐(0) 编辑
摘要:定义2-3树是平衡的3路查找树,其中2(2-node)是指拥有两个分支的节点,3(3-node)是指拥有三个分支的节点。B-树是一种平衡的多路查找树,2-3树属于b-树,其也同样具有B-树的性质,如m阶B-树,节点至多有m个分支、m-1个关键字;内部节点的分支数至少为m/2取上限;所有叶节点都出现在 阅读全文
posted @ 2019-04-22 16:24 橘子洲头。 阅读(502) 评论(0) 推荐(0) 编辑
摘要:AVL树(平衡二叉树)定义 AVL树本质上是一颗二叉查找树,但是它又具有以下特点:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树,并且拥有自平衡机制。在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为平衡二叉树。下面是平衡二叉树和非平衡二叉树 阅读全文
posted @ 2019-04-20 10:53 橘子洲头。 阅读(393) 评论(0) 推荐(0) 编辑
摘要:定义二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉排序树。 性 阅读全文
posted @ 2019-04-18 21:26 橘子洲头。 阅读(314) 评论(0) 推荐(0) 编辑
摘要:一、已知前序、中序、后序遍历结果的其中两种,还原二叉树。 ①已知前序遍历结果:1,2,4,5,3,6,7 中序遍历结果:4,2,5,1,6,3,7还原二叉树后BFS出结果。 TreeNode.java CreateTree.java: ②已知前序遍历结果:1,2,4,5,3,6,7 后序遍历结果:4 阅读全文
posted @ 2019-04-18 15:52 橘子洲头。 阅读(479) 评论(0) 推荐(0) 编辑
摘要:一、查找最大值 二、查找最小值 三、插入节点 四、查找节点 五、修改节点直接调用setData方法即可。 六、删除子节点 七、求深度 阅读全文
posted @ 2019-04-10 22:08 橘子洲头。 阅读(893) 评论(0) 推荐(0) 编辑
摘要:二叉树的遍历分为深度优先遍历(DFS)和广度优先遍历(BFS) DFS遍历主要有: 前序遍历 中序遍历 后序遍历 一、递归实现DFSNode.java: 递归遍历: 二、非递归实现DFS(依靠栈) 三、实现层序遍历(依靠队列) 阅读全文
posted @ 2019-04-09 20:02 橘子洲头。 阅读(434) 评论(0) 推荐(0) 编辑
摘要:通用树的理论知识 一、树的定义 由一个或多个(n>=0)节点组成的有限集合T,有且仅有一个节点称为根(root),当n>1时,其7余的节点为m(m>=0)个互不相交的有限集合T1,T2,...,Tm。每个集合本身又是棵树,称其为根的子树。注意:空树也是树,树具有递归性。 二、树的相关术语 1. 根: 阅读全文
posted @ 2019-04-09 14:38 橘子洲头。 阅读(421) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示