数据结构
冰镇-西瓜
目标赋予我们生命的意义和目的。有了目标,我们才会把注意力集中在追求喜悦,而不是在避免痛苦上。
展开
-
B+树
1.前言B树是为磁盘或其他直接存取的辅助存储设备而设计的一种平衡搜索树。B树类似于红黑树,但它们在降低磁盘I/O操作数方面要更好一些。现在许多数据库系统使用B树或者B树的变种(B+树和B*树)来存储信息。B树用的比较普遍,许多书籍、博客都有详细的介绍,对于B树的严格定义也相对统一,在这里就不予赘述。 B+树是B树的一种变形,它把所有的卫星数据都存储在叶节点中,内部节点只存放关键字和孩子指针,因转载 2017-08-24 20:39:28 · 362 阅读 · 0 评论 -
红黑树
一、基本概念每个结点要么是红的要么是黑的。 根结点是黑的。 每个叶结点(叶结点即指树尾端NIL指针或NULL结点)都是黑的。 如果一个结点是红的,那么它的两个儿子都是黑的。 对于任意结点而言,其到叶结点树尾端NIL指针的每条路径都包含相同数目的黑结点。 二、红黑树的插入、删除II、红黑树插入的几种情况:情况1,z的叔叔y是红色的。情况2:z的叔叔转载 2017-08-24 21:17:06 · 135 阅读 · 0 评论 -
几种排序算法时间复杂度对比
排序法 平均时间 最差情形 稳定度 额外空间 备注 冒泡 O(n2) O(n2) 稳定 O(1) n小时较好 交换 O(n2) O(n2) 不稳定 O(1) n小时较好 选择 O(n2) O(n2) 不稳定 O(1) n小时较好 插入 O(n2) O(n2) 稳定 O(1) 大部分已排序时较好 基数 O(logRB) O(logRB) 稳定 O(n) B是真数(0-9), R是基数(个十百) Sh原创 2017-08-25 16:31:22 · 514 阅读 · 0 评论 -
数据结构之散列表
散列表(哈希表)“散列(Hashing)”的基本思想是(1) 以关键字key为自变量,通过一个确定的函数 h(散列函数),计算出对应的函数值h(key),作为数据对象的存储地址。(2)可能不同的关键字会映射到同一个散列地址上,即h(keyi) = h(keyj)(当keyi ≠keyj),称为“冲突(Collision)”。—-需要某种冲突解决策略散列函数的构造方法一个“好”的散列转载 2017-08-25 17:01:56 · 392 阅读 · 0 评论 -
排序算法实现
插入排序/** * 插入排序 * 从小到大 */ public static void insertionSort(int [] a){ int j; for(int p=1;p int tmp = a[p]; //如果当前的值小于上一个位置转载 2017-08-25 17:12:58 · 183 阅读 · 0 评论 -
二叉树前序、中序、后序遍历
今天来总结下二叉树前序、中序、后序遍历相互求法,即如果知道两个的遍历,如何求第三种遍历方法,比较笨的方法是画出来二叉树,然后根据各种遍历不同的特性来求,也可以编程求出,下面我们分别说明。 首先,我们看看前序、中序、后序遍历的特性: 前序遍历: 1.访问根节点 2.前序遍历左子树 3.前序遍历右子树 中序遍历: 1.中序遍历左子树转载 2017-09-04 21:43:13 · 282 阅读 · 0 评论