1.二分查找 ex1_1.cpp代码如下: 运行结果: ex1_2.cpp代码如下: 运行结果: 2. 选择法排序 ex2_2.cpp代码如下: 运行结果: 实验总结和体会 实验内容1:二分查找算法 数组名作为参数 vs. 指针变量作为参数 当整个数组作为函数的参数时,实际上是数组的地址作为参数。指 ...
分类:
其他好文 时间:
2019-05-24 15:54:42
阅读次数:
90
顺序查找非常简单,只是个开胃菜,今天主要练习的是哈希查找 先上顺序查找代码: 在来看hash查找: 算法思想 哈希的思路很简单,如果所有的键都是整数,那么就可以使用一个简单的无序数组来实现:将键作为索引,值即为其对应的值,这样就可以快速访问任意键的值。这是对于简单的键的情况,我们将其扩展到可以处理更 ...
分类:
编程语言 时间:
2019-05-12 13:58:35
阅读次数:
160
1.二分查找算法 二分查找法的时间复杂度为Ο(log2n)。大家如果有兴趣可以去验证一下这个结果,这里我就不做解释了。 我们具体来感受一下二分查找法有多强大,假设:集合里面有40亿个元素,排序方式为从左往右,依次递增,我们最多需要查找log2 4000000000 = 32次,就可以在40亿个元素里 ...
分类:
数据库 时间:
2019-04-15 23:04:45
阅读次数:
194
1、普通查找:双层循环遍历,第二层循环中找到即break,查找时间复杂度O(M*N/2) List<PtCameraInfo> cameraList = new List<PtCameraInfo>(); List<string> cameraIdList = dataIds.Split(','). ...
分类:
编程语言 时间:
2019-04-12 13:33:20
阅读次数:
195
public class Demo { public static void main(String[] args){ int[] num = {1,2,3,4}; int index = 3; int start = 0; int end = num.length-1; boolean flag ... ...
分类:
编程语言 时间:
2019-04-04 14:28:32
阅读次数:
155
1.静态查找表 折半查找 静态最优查找树 次优查找树 2.动态查找表 二叉排序树和平衡二叉树 二叉排序树是具有以下性质的二叉树: 1.若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值 2.若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值 3.它的左右子树也分别为二叉排序树 二 ...
分类:
编程语言 时间:
2019-04-03 23:44:58
阅读次数:
249
1. 顺序查找,时间复杂度O(N) 2. 当序列有序时,采用二分查找,思想为先找中间那个数,如果等于,即找到;如果小于中间的数,即从前半部分查找;如果大于中间的数,即从后半部分查找 3. 有一个数组,从左到右是从小到大,从上到下是从小到大, 例如: 1 3 5 9 2 6 12 20 5 7 18 ...
分类:
编程语言 时间:
2019-03-26 13:13:26
阅读次数:
128
自学Python之路-Python基础+模块+面向对象自学Python之路-Python网络编程自学Python之路-Python并发编程+数据库+前端自学Python之路-django 自学Python3.6-算法 二分查找算法 。。。。 ...
分类:
编程语言 时间:
2019-03-25 21:54:20
阅读次数:
161
这篇文章是常见数据结构与算法整理总结的下篇,上一篇主要是对常见的数据结构进行集中总结,这篇主要是总结一些常见的算法相关内容,文章中如有错误,欢迎指出。 一、概述 二、查找算法 三、排序算法 四、其它算法 五、常见算法题 六、总结 一、概述 以前看到这样一句话,语言只是工具,算法才是程序设计的灵魂。的 ...
分类:
编程语言 时间:
2019-03-21 00:53:41
阅读次数:
160
二分查找针对的是一个有序的数据集合,查找思想有点类似分治思想。每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为0。 时间复杂度:O(logn) 一、二分查找容易出错的3个地方: 1、循环退出条件 注意是low <= high. 2、mid的取值 ...
分类:
编程语言 时间:
2019-03-20 20:57:45
阅读次数:
204