随笔分类 - 

摘要:书上和各种资料对B树的定义有很多 下面是一种B树节点的定义和插入实现(java) import java.util.LinkedList; public class BTreeNode { /** * B-树阶数 */ int m; /** * 节点关键字列表 */ LinkedList<Integ 阅读全文
posted @ 2019-12-05 15:32 小小小小的我 阅读(251) 评论(0) 推荐(0)
摘要:判断一棵树是不是另一棵树的子结构其实逻辑还是比较清晰的,假设判断A是是不是B的子结构。显然为真的条件是 以B树中任意一个节点为根的树和A可以进行匹配就为真。 public static boolean dfs(TreeNode root1, TreeNode root2) { if (root1 ! 阅读全文
posted @ 2019-11-24 22:18 小小小小的我 阅读(176) 评论(0) 推荐(0)
摘要:数据结构中的堆是一颗完全二叉树,一般由数组实现(也有优先队列),这篇主要讲一下用数组实现的堆。 1: 对一个普通数组进行堆排序(尤其是原地排序,不能占用额外空间的)其实这样的堆排序我很难说他实现了堆,它只是对普通数组使用了堆的特性 (并没有堆的数据结构的实现) 这种一般要经过两个步骤: 1 建堆 把 阅读全文
posted @ 2019-11-15 14:25 小小小小的我 阅读(199) 评论(0) 推荐(0)
摘要:二叉树最近公共祖先的定义为:“对于二叉树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大,一个节点也可以是它自己的祖先。 在讨论二叉树的最近公共祖先之前,其实可以先讨论一下二叉搜索树的最近公共祖先。显然我们可以利用二叉搜索树的性质进行解决。 阅读全文
posted @ 2019-11-08 12:40 小小小小的我 阅读(453) 评论(0) 推荐(0)