/** * 二分法查找 * .二分查找要求:(1)必须采用顺序存储结构 (2).必须按关键字大小有序排列 * 原理:将数组分为三部分,依次是中值(所谓的中值就是数组中间位置的那个值)前, * 中值,中值后;将要查找的值和数组的中值进行比较,若小于中值则在中值前 面找, * 若大于中值则在中值后面找, ...
分类:
其他好文 时间:
2018-11-13 02:39:17
阅读次数:
181
二分法查找具有惊人的查找速度,尤其是对于海量数据的时候,作用更加明显,时间复杂度用大O表示法,即是(logn),这种(logn)时间复杂度是非常神奇的,比如 n 等于 2 的 32 次方,这个数很大了吧?大约是42亿,也就是说,如果我们在 42 亿个数据中用二分查找一个数据,最多需要比较 32 次。 ...
分类:
编程语言 时间:
2018-11-09 23:26:32
阅读次数:
307
列表查找(线性查找) 本质就是列表的index() 顺序查找 也叫线性查找,从列表第一个元素开始,顺序进行搜索,知道找到元素或搜索到列表最后一个元素为止。 以下是示例代码: 二分法查找(前提必须是一个有序的列表) 通过取中间值,选择候选区,如果中间值大于要查找的值,则证明候选区在左边,更改右边的最大 ...
分类:
编程语言 时间:
2018-11-04 00:25:26
阅读次数:
346
查重 (1)利用for循环需要45次 (2)利用对象不能有同一个属性 需要10次 冒泡排序 数组的去重 字符串的去重 统计字符串出现最多的次数 查找没有重复的字符串 深度拷贝 圣杯模式 insertAfter方法 查找数组里面最小的值 通过二分法查找(学习其中思想,不是为了解题) 题 代码 ...
分类:
其他好文 时间:
2018-11-01 15:08:10
阅读次数:
124
实践博客 二分法查找元素 1.首先定义三个位置min,mid,max 2.每次从所有元素所处位置的中间开始查找(所有元素必须以由小及大顺序排列完毕) 3.当中间元素大于所查找元素时,从中间元素(mid)左半区进行查找,此时max元素由最大值变为mid左侧紧邻的那个元素,min元素不变。 4.当中间元 ...
分类:
其他好文 时间:
2018-10-12 13:47:41
阅读次数:
187
1、平衡二叉树 (1)由来:平衡二叉树是基于二分法的策略提高数据的查找速度的二叉树的数据结构; (2)特点: 平衡二叉树是采用二分法思维把数据按规则组装成一个树形结构的数据,用这个树形结构的数据减少无关数据的检索,大大的提升了数据检索的速度;平衡二叉树的数据结构组装过程有以下规则: 非叶子节点只能允 ...
分类:
其他好文 时间:
2018-10-05 13:55:01
阅读次数:
143
一. 二分法的适用条件 二分法查找适用于数据量较大时, 但是数据需要先排好顺序. 优点: 二分法查找效率特别高 缺点: 二分法只适用于有序序列二. 二分法的主要思想是:设查找的数组区间为array[low, high](1)确定该区间的中间位置k(2)将查找的值T与array[k]比较. 若相等, ... ...
分类:
编程语言 时间:
2018-09-23 16:35:18
阅读次数:
219
def binary_search(lis, key): low = 0 high = len(lis) - 1 time = 0 while low lis[mid]: low = mid + 1 else: # print("times: %s" % time) ... ...
分类:
编程语言 时间:
2018-09-22 10:41:05
阅读次数:
158