本博客不再更新,很多其它精彩内容请訪问我的独立博客 1.折半查找的非递归算法 int BinarySearch(SeqList &L,DataType x) { int high=L.n-1,low=0,mid; while(low<=high){ mid=(low+high)/2; if(x.ke ...
分类:
其他好文 时间:
2017-04-23 10:50:45
阅读次数:
142
快速排序 1.快速排序是有冒泡排序改进的来的。在冒泡排序的过程中,只对相邻的两个记录进行比较,因此每次交换两个相邻记录时只能消除一个逆序。如果通过两个不相邻记录进行交换,消除多个逆序,则会大大加快排序的速度。快速排序方法中一次交换可以消除多个逆序 算法方法: 从右侧找第一个比key值小的进行交换,从 ...
分类:
编程语言 时间:
2017-04-22 17:35:40
阅读次数:
220
题目:Search a 2D Matrix 数组下一行最小值比上一行最大值大,且每一行递增排列。 确定数组中是否存在给定的值。 思路: 二维空间中的折半查找。 ...
分类:
其他好文 时间:
2017-04-09 16:19:56
阅读次数:
156
查找算法 一、查找的基本概念 查找,也可称检索,是在大量的数据元素中找到某个特定的数据元素而进行的工作。查找是一种操作。 二、顺序查找 针对无序序列的一种最简单的查找方式。 时间复杂度为O(n)。 三、折半查找 针对已排序序列的一种查找方式。并且只适用于顺序存储结构的序列。要求序列中的元素基本不变, ...
分类:
编程语言 时间:
2017-03-30 19:21:36
阅读次数:
176
/** * @param args * @author wangxianpeng * 工作原理 : * 二分查找法 又称折半查找法 。将数组中间位置记录的关键字与查找的关键字进行比较, * 如果两者相等 则查找成功; 否则利用中间位置记录将数组分成前,后两个子数组 * ,如果中间位置记录的关键字大于 ...
分类:
编程语言 时间:
2017-03-29 12:48:43
阅读次数:
184
根据给定的某个值,在一组数据(尤其是一个数组)当中,确定有没有出现相同取值的数据元素。 ...
分类:
其他好文 时间:
2017-03-22 00:27:21
阅读次数:
125
冒泡排序 选择排序 折半查找法使用的前提是查找的数据是必须有序的 思路: 定义三个变量记录最大,最小、中间的查找范围索引值,每次都是使用中间索引值与目标进行对比,如何不是符合的目标那么就缩小查找的范围 ...
分类:
编程语言 时间:
2017-03-07 21:36:59
阅读次数:
200
用C++实现二分查找 对于有序表而言,通常使用二分查找来寻找待查记录。二分查找,又名折半查找,具体查找过程为:先确定待查找记录的范围,然后逐步缩小范围知道找到或者找不到该记录为至。其C++实现代码如下所示: ...
分类:
编程语言 时间:
2017-03-02 22:02:04
阅读次数:
180
1. 折半查找 -- Binary Insertion Sort 时间复杂度 : O(n^2) 适用条件 : 相对直接插入排序,减少了数值的比较次数。适用于需要排序的数码比较少的情况。 输出: ...
分类:
编程语言 时间:
2017-03-01 00:47:50
阅读次数:
181