1、定义 分块查找(Blocking Search)又称索引顺序查找。它是一种性能介于顺序查找和二分查找之间的查找方法。 2、基本思想 分块查找的基本思想是: (1)首先查找索引表 索引表是有序表,可采用二分查找或顺序查找,以确定待查的结点在哪一块。 (2)然后在已确定的块中进行顺序查找 由于块内无 ...
分类:
其他好文 时间:
2016-05-24 19:12:38
阅读次数:
666
1、定义 直接插入排序(Straight Insertion Sort)的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表。 插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到 ...
分类:
编程语言 时间:
2016-05-24 18:45:21
阅读次数:
179
1、定义 二分查找又称折半查找,它是一种效率较高的查找方法。 二分查找要求:线性表是有序表,即表中结点按关键字有序,并且要用向量作为表的存储结构。不妨设有序表是递增有序的。 2、基本思想 二分查找的基本思想是: 设R[low..high]是当前的查找区间 (1)首先确定该区间的中点位置: (2)然后 ...
分类:
其他好文 时间:
2016-05-24 18:44:16
阅读次数:
215
插入排序 插入排序的基本思想为逐个考察每个待排序元素,将每一个新元素插入到前面已经排好序的序列中适当的位置上,使得新序列仍然是一个有序序列。插入排序可分为直接插入排序和希尔排序。 1.直接插入排序 介绍:直接插入排序是一种最简单的排序方法,它的基本操作是将一个记录插入到已排好序的有序表中,从而得到一 ...
分类:
编程语言 时间:
2016-05-22 21:35:23
阅读次数:
195
归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并 代码: ...
分类:
编程语言 时间:
2016-05-19 13:20:02
阅读次数:
165
查找里面顺比表查找和有序表查找(包括二分查找,插值查找,斐波那契查找)比较简单,直接贴代码,代码里面有详细注释。 运行结果: ...
分类:
其他好文 时间:
2016-05-19 00:00:14
阅读次数:
463
题目链接:点击打开链接
思路:treap树模板题, 可以动态维护一个有序表, 支持在O(logN)的时间内完成插入、删除一个元素和查找第K大元素的任务。 当然, treap树能做到的还远远不止这些, 常常与其他数据结构嵌套。
treap树是一种平衡二叉搜索树, 既满足堆的条件, 又满足排序二叉树的条件。
细节参见代码:
#include
#include
#include
#incl...
分类:
其他好文 时间:
2016-05-18 19:48:06
阅读次数:
161
一、直接插入排序它的思想:每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。下面我来说一下我的思路:1.第一趟比较前两个数,然后把第二个数按大小插入到有序表中。2.第二趟把第三个数据与前两个数从前向后扫描,把第三个数按大小插入到有序表..
分类:
编程语言 时间:
2016-05-17 01:05:50
阅读次数:
347
二分查找 同义词 二分查找法一般指二分查找 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查 ...
分类:
其他好文 时间:
2016-05-10 23:07:01
阅读次数:
255
归并排序(Merge)是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。
package Sort;
public class MergeSort {
private int num = 1;
public MergeSort(int[] data) {
Sort(data, 0, da...
分类:
编程语言 时间:
2016-05-07 08:59:43
阅读次数:
134