今天起,我要对数据结构和基本的算法进行一些简单的复习,并在复习的基础上对其进行深入的挖掘。这篇文章先对二分查找进行一个简要的复习,在之后的文章中会对其进行深入的学习。
二分查找又叫折半查找,是最基本的几种查找算法之一。简单的看,二分法查找主要应用于在一个有序数列中进行元素的查找,其基本思路是,先用我们要查找的元素与这个有序数列中的中间位置的元素进行比较(在此我们姑且称这个元素为“中间...
分类:
编程语言 时间:
2016-05-12 15:26:03
阅读次数:
210
本文主要实现了比较经典的冒泡排序算法(对已经有序或者基本有序的顺序表复杂度大大降低),和二分法查找,各位看官看代码吧//冒泡排序算法及二分法查找
#include "stdio.h"
typedef struct {
int key;
}SSTable_Elem_Type;
typedef struct {
SSTable_Elem_Type*elem;
int length...
分类:
编程语言 时间:
2016-05-07 09:42:37
阅读次数:
315
普通二分法查找元素:#include<stdio.h>
#include<stdlib.h>
intBinarySearch(int*a,intn,intpos)
{
intleft=0;
intright=n-1;
while(left<=right)
{
intmid=left+(right-left)/2;
if(pos==a[mid])
{
returnmid;
}
elseif(pos<a[mid])
{..
分类:
其他好文 时间:
2016-05-05 07:18:06
阅读次数:
166
Collections是集合的工具类,里面定义了很多静态方法binarySearch(List,Object)使用二分法查找集合中的元素,如果找到就返回该元素在集合中的下标,如果没有找到就返回负数copy(List,List)将一个集合中的所有元素复制到另一个集合.disjoint(Collection,Collection)两个集合中如果..
分类:
其他好文 时间:
2016-05-04 19:15:39
阅读次数:
204
public class BinarySearchClass { public static int binary_search(int[] array, int value) { int beginIndex = 0;// 低位下标 int endIndex = array.length - 1; ...
分类:
其他好文 时间:
2016-04-27 18:31:47
阅读次数:
106
下面是一个最简单的二分法递归实现快速查找的例子,之所以把这么简单的例子写上来是觉得这个小例子可以很好地说明递归的用法和使用技巧。deffind(n,array):
left=0
right=len(array)-1
whileleft<=right:
mid=(left+right)//2
ifn==array[mid]:
print(n)
returnTrue
ifn>..
分类:
编程语言 时间:
2016-04-27 11:02:02
阅读次数:
328
1、冒泡排序 将8个整数进行升序排列 程序代码: 2、顺序查找 注意: 体会布尔型 bool meizhaodao=true;在本题中的作用; 体会break的作用; 程序代码: 3、二分法查找 找英语单词 思路: 首先将要排序的数组或集合排序(冒泡排序法) 然后查找中间数,看看中间数==find? ...
分类:
编程语言 时间:
2016-04-25 00:39:38
阅读次数:
351
需求:求一个数字类型,在一个数组中的区间; ...
分类:
Web程序 时间:
2016-04-24 15:37:30
阅读次数:
260
1.顺序查找 顺序查找又叫线性查找,是最基本的查找技术,它的查找过程是:从表中第一个(或最后一个)记录开始,逐个进行记录的关键字和给定值比较,若某个记录的关键字和给定值相等,则查找成功,找到所查的记录;如果直到最后一个(或第一个)记录,其关键字和给定值比较都不等时,则表中没有所查的记录,查询不成功。 ...
分类:
其他好文 时间:
2016-04-22 18:33:23
阅读次数:
223