数据结构
文章平均质量分 78
qq_23217629
这个作者很懒,什么都没留下…
展开
-
B树、B-树、B+树、B*树都是什么
B树、B-树、B+树、B*树都是什么 今天看数据库,书中提到:由于索引是采用 B 树结构存储的,所以对应的索引项并不会被删除,经过一段时间的增删改操作后,数据库中就会出现大量的存储碎片,这和磁盘碎片、内存碎片产生原理是类似的,这些存储碎片不仅占用了存储空间,而且降低了数据库运行的速度。如果发现索引中存在过多的存储碎片的话就要进行“碎片整理”了,最方便的“碎片整理”转载 2016-09-12 08:46:54 · 9164 阅读 · 4 评论 -
B+树原理及mysql的索引分析
B+/-Tree原理 B-Tree介绍 B-Tree是一种多路搜索树(并不是二叉的): 1.定义任意非叶子结点最多只有M个儿子;且M>2; 2.根结点的儿子数为[2, M]; 3.除根结点以外的非叶子结点的儿子数为[M/2, M]; 4.每个结点存放至少M/2-1(取上整)和至多M-1个关键字;(至少2个关键字)转载 2016-09-12 11:28:13 · 7721 阅读 · 2 评论 -
堆排序的Java实现
堆排序(HeapSort) Java实现 堆排序heapsort 堆排序的思想是利用数据结构--堆。具体的实现细节: 1. 构建一个最大堆。对于给定的包含有n个元素的数组A[n],构建一个最大堆(最大堆的特性是,某个节点的值最多和其父节点的值一样大。这样,堆中的最大元素存放在根节点中;并且,在以某一个节点为根的子树中,各节点的值都不大于该子树根节点的值)。从最底下的子树开始,调整转载 2016-09-06 16:53:19 · 262 阅读 · 0 评论 -
java实现归并排序
归并排序 归并排序(Merge)是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。转载 2016-09-07 09:13:43 · 1829 阅读 · 0 评论 -
二分查找 java实现
折半排序法(二分插入排序法)排序原理:其实也属于插入法类型,分已排序和未排序部分.然后将未排序部分元素逐个排序插入,但是插入的过程不同,需要每次求一个中间位置,和中间位置元素比较大小,然后根据大小情况,将高位左移或者将低位右移,再求中间元素比较,直到找到合适位置后, 将其后已排序元素全部后移一位,再插入该匀速即可.此方法中 每步打印的high和low关系应为high+1=low publ原创 2016-09-08 22:10:02 · 1646 阅读 · 0 评论