【思想】
二分搜索主要解决的问题是确定排序后的数组x[0,n-1]中是否包含目标元素target。
二分搜索通过持续跟踪数组中包含元素target的范围(如果target存在数组中的话)来解决问题。
一开始,这个范围是整个数组,然后通过将target与数组中的中间项进行比较并抛弃一半的范围来缩小范围。该过程持续进行,
直到在数组中找到target或确定包含target的范围为空时为止。在有...
分类:
编程语言 时间:
2015-01-03 18:42:25
阅读次数:
244
二分查找算法基本思想二分查找算法的前置条件是,一个已经排序好的序列(在本篇文章中为了说明问题的方便,假设这个序列是升序排列的),这样在查找所要查找的元素时,首先与序列中间的元素进行比较,如果大于这个元素,就在当前序列的后半部分继续查找,如果小于这个元素,就在当前序列的前半部分继续查找,直到找到相同的...
分类:
编程语言 时间:
2015-01-02 22:17:22
阅读次数:
319
题目描述
有n个数(n),已按从大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中的第几个元素的值。如果不在数组中输出0。
要求:
编写两个函数input和binbearch分别实现数组数据的输入和元素的查找。
输入
第一行数组元素的个数n
第二行n个数组元素的值
第三行要查找的值
输出
查找的值在数组中的位置
样例输入
10
10 9 8 7 6...
分类:
其他好文 时间:
2015-01-02 14:40:21
阅读次数:
144
LeetCode做题笔记Addtwonumbers:给定一个数集合和一个数,已知集合中有两个数的和是给定数,求这两个加数的index方法1:暴力,n^2时间复杂度,不推荐方法2:快速排序nlogn。按集合里数的两倍与target的大小关系对分。对每一个第一部分的数,在另外一个部分二分搜索第二个数:5..
分类:
其他好文 时间:
2014-12-31 11:29:39
阅读次数:
138
转自http://www.dbafree.net/?p=36BloomFilter–大规模数据处理利器 Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法。通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求100%正确的场合。一.实例 为了说明.....
分类:
其他好文 时间:
2014-12-30 15:08:37
阅读次数:
217
*************数组的应用*************一、冒泡排序(升序、降序)1、双层循环(循环套循环)(1).冒泡排序是用双层循环解决。外层循环的是趟数,里层循环的是次数。(2).趟数=n-1;次数=n-趟数。(3).里层循环使用if比较相临的两个数的大小,进行数值交换。二、折半查找(也...
分类:
编程语言 时间:
2014-12-29 00:51:28
阅读次数:
317
人类思维--计算机逻辑思维逻辑思维--代码实现写书法:描红——临摹——碑贴——自成一体——草复习:数组:一维,二维,多维一维:豆角。连续,同一类型。定义:数据类型[] 数组名=new 数据类型[长度]{.,.,.,.};赋值:数组名[下标] = 值取值:数组名[下标]灵活运用:与for循环的结合应用...
分类:
编程语言 时间:
2014-12-28 20:41:24
阅读次数:
224
数组的应用:(一).冒泡排序。1.冒泡排序是用双层循环解决。外层循环的是趟数,里层循环的是次数。2.趟数=n-1;次数=n-趟数。3.里层循环使用if比较相临的两个数的大小,进行数值交换。作业:1.先把冒泡排序写一遍。2.使用冒泡排序,做青歌赛的打分程序。要求去掉两个最高,两个最低分,求平均得分。代...
分类:
编程语言 时间:
2014-12-28 16:42:47
阅读次数:
172
人类思维--计算机逻辑思维逻辑思维--代码实现写书法:描红——临摹——碑贴——自成一体——草复习:数组:一维,二维,多维一维:豆角。连续,同一类型。定义:数据类型[] 数组名=new 数据类型[长度]{.,.,.,.};赋值:数组名[下标] = 值取值:数组名[下标]灵活运用:与for循环的结合应用...
分类:
编程语言 时间:
2014-12-28 14:07:06
阅读次数:
193
最近在牛客网刷题,有一道题目是实现二分查找算法,由此便在咖啡店写了段代码,实现这个简单的算法。但同时自己还有一个问题(见最后),希望有朋友能帮忙解答。后期如果自己知道答案,我会自己更新在此。一. 算法介绍 优点:比较次数少,查找速度快,平均性能好; 缺点:要求待查表为有序表,且插入删除困难。 ...
分类:
编程语言 时间:
2014-12-27 17:23:49
阅读次数:
125