随笔分类 - 数据结构
参考书籍:数据结构与算法分析 Java语言描述
摘要:通过构造性能良好的哈希函数,可以减少冲突,但一般不可能完全避免冲突,因此解决冲突是哈希法的另一个关键问题。创建哈希表和查找哈希表都会遇到冲突,两种情况下解决冲突的方法应该一致。下面以创建哈希表为例,说明解决冲突的方法。常用的解决冲突方法有以下四种: 开放定址法 这种方法也称再散列法,其基本思想是:当
阅读全文
摘要:二叉堆 二叉堆常常用于优先队列的实现。 堆是一个被完全填满的二叉树,有可能的例外是在底层,底层上的元素从左到右填入。 因为二叉堆是完全二叉树,所以可以使用数组表示,而不需要使用链表。(使用链表似乎代码实现方便点) 堆序性质 任意节点的值都小于它所有字节点的值 代码实现
阅读全文
摘要:二叉树 每个节点都不能有多于两个的儿子。 二叉树的五个性质 1.在二叉树的第i层上最多有2 i-1 个节点 。(i>=1) 2.二叉树中如果深度为k,那么最多有2k-1个节点。(k>=1) 3.n0=n2+1 n0表示度数为0的节点 n2表示度数为2的节点 4.在完全二叉树中,具有n个节点的完全二叉
阅读全文
摘要:如下图所示,则认为树B是树A的子树。 代码如下:
阅读全文
摘要:http://blog.csdn.net/xyz5354/article/details/39140489 二叉树的遍历 前序遍历:根节点->左子树->右子树 中序遍历:左子树->根节点->右子树 后序遍历:左子树->右子树->根节点 求下面树的三种遍历: 前序遍历:abdefgc 中序遍历:deb
阅读全文
摘要:几种排序算法的比较 直接插入排序 算法 插入排序由N-1趟排序组成。对于p=1到N-1趟,插入排序保证从位置0到位置p上的元素为已排序状态。 时间复杂度 最差的情况下,第p次排序,需要的比较次数是p次,则总的比较次数为1+2+3+……+N-1=O(N^2)。 平均情况,O(N^2) 最好情况,O(N
阅读全文