2 namedajipai namedajipai 于 2016.09.26 18:56 提问

检索dat类型的数据文件,如果文件尚未排序,怎么使用二分方式搜索算法?

检索dat类型的数据文件,如果文件尚未排序,怎么使用二分方式搜索算法?是不是需要在内存排序?有没有别的检索?

2个回答

caozhy
caozhy   Ds   Rxr 2016.10.19 00:35
已采纳
zqbnqsdsmd
zqbnqsdsmd   2016.09.28 01:33
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
经典算法之二分搜索技术
二分法是个非常经典的算法,是分治思想的很好的体现。在复习算法的过程中,正好把他记录下来。本来想写递归的,后来想想还是用迭代,效率更高些,虽然对这种小的数据没什么多大影响,(好吧,其实是我太懒了 <-_->!!)这里有个坑,以前一直没有注意,这里标记一下,调整上下限的时候一定要low = mid + 1; high = mid - 1; 否则可能遇到相邻的两个数字时候,陷入死循环!!!代码如下://
算法系列(二)查找算法--基本查找和二分查找
从n个元素中A0,A1....An-1中,找到要找到的元素x,最简单的方法是遍历n个元素,找到元素x则返回x的位置,这种算法的时间复杂度为O(n)。 如果这n个元素是有序的,我们不需要从头到尾遍历一遍就可以找到要查找的元素,可以使用二分法。二分查找的时间复杂度是O(lgn) 二分查找的前提是元素有序(一般是升序),基本思想是拿中间元素A[m]与要查找的元素x进行比较,如果相等,则已经找到,如果
c语言实现二分搜索算法
二分搜索针对有序的数组,每次和中间元素比较,如果相等则直接返回,如果不相等则搜索范围可以减半。二分法可以将复杂度从 Ο(n) 降到 Ο(log n)。 本来以为二分法很简单,半分钟搞定,但写起来尼玛才发现不是这里有点问题,就是那里有问题。 针对整数的二分搜索 直接上代码: int binary_search(int data[], int n, int x){ if(n 0 || x d
c++实现二分搜索算法分析与设计分治算法
用C++实现的二分搜索,改写了算法设计与分析课后的题目。按照《算法分析与设计》书上的例题的算法实现的。采用了分治法的思想。
二分查找的算法思想和实现过程
1.二分查找: 又称为 折半查找,二分查找,适合对已经排序好的数据集合进行查找,时间复杂度O(log2n),效率高。假设有一升序的数据集合,先找出升序集合中最中间的元素,将数据集合划分为两个子集,将最中间的元素和关键字key进行比较,,如果等于key则返回,如果大于关键字key,则在前一个数据集合中查找,否则在后一个子集中查找,直到找到为止,如果没找到则返回-1; 2.算法步骤描述: (1)
二分搜索法基本思想
二分搜索法基本思想 将n个元素分成个数大致相同的两半, 取a[n/2]与x进行比较。   如果x=a[n/2], 则找到x算法终止,  如果x 则在数组的右边部分继续搜索,   如果x 则在数组的左边部分继续搜索 public class Divide { public static int binarySeach(int []a,int x){ int left
二分查找算法的原理及一个实用小技巧
二分查找算法是在有序数组中用到的较为频繁的一种算法,在未接触二分查找算法时,最通用的一种做法是,对数组进行遍历,跟每个元素进行比较,其时间复杂度为O(n),但二分查找算法则更优,因为其查找时间复杂度为O(log2 n),比如数组{0,1,2,3,4,5,6,7,8 9},查找元素6,用二分查找的算法执行的话,其顺序为:     1.第一步查找中间元素,即4,由于4     2.寻找{5,6,7
搜索之线性搜索和二分搜索
今天介绍下搜索的方法,其实对于今天介绍的两种搜索方式是很简单的,尤其是线性搜索,但是本着完整性的心态,还是不想把搜索这章中两种简单的方法漏掉,那就稍微简单介绍下吧。 注意:本博文介绍的搜索都是不含重复元素的搜索,至于重复下的搜索,只需用到另外一个数据结构用来存放这多个重复元素的下标就行了,就不多作介绍。
二分查找的相关算法题
最近笔试经常遇到二分查找的相关算法题 1)旋转数组中的最小数字 2)在旋转数组中查找某个数 2)排序数组中某个数的出现次数 下面我来一一总结 旋转数组的最小数字     题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的
C++算法之 二分查找
二分查找: 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。 代码不多也就几行;主要 start = 0; end = nLength -1;while(start   #include using namespace std; /* run this program using the console pauser