查找
根据给定的某个值,在查找表中确定一个其关键字(唯一的标识一个记录)等于给定值的数据元素或数据记录。静态查找:只查找,不修改元素[线性表、顺序查找、二分查找]
动态查找:查找时,插入或者删除元素[二叉排序树]顺序表查找
顺序查找(针对静态查找表),也叫线性查找O(n),从头开始遍历,直到最后一个记录。
优化:添加哨兵//有哨兵的顺序查找
int foo(int *a,int n,int...
分类:
其他好文 时间:
2015-06-09 17:18:33
阅读次数:
182
【二分查找的思路】二分查找只适用与有序数据,它的执行过程不是像顺序查找那样从第0个开始一直往后找,直到最后一个;二分查找首先查找的是中间位置,若中间位置的元素就是要找的元素,则找到;如果中间位置的元素小于要找的元素,那么要找的元素位于后半部分,往后找;如果中间位置的元素大于要找的元素,那么要找的元素位于前半部分,往前找。【代码实现】下面代码包括二分查找的一般实现以及递归实现:#include<ios...
分类:
其他好文 时间:
2015-06-06 16:38:03
阅读次数:
116
顺序查找// 顺序查找.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"
#include
#include
void _tmain(int argc, _TCHAR* argv[])
{
int data[10] = {75,23,98,44,57,12,29,64,38,82};
int i, input...
分类:
其他好文 时间:
2015-06-06 15:02:30
阅读次数:
116
要按从上到下,从左到右的顺序查找叶子节点,可以采用广度优先搜索的办法#include #include using namespace std;typedef struct{ int loc; int left; int right;}unit;int n;unit* a;int ...
分类:
其他好文 时间:
2015-06-05 22:35:23
阅读次数:
180
1.顺序查找算法=====================================================算法思想简单描述:最突出的查找类型就是从记录集的开始处顺次遍历每条记录,直到找到所要的记录或者是到达数据集的末尾。这就是所谓的顺序查找。顺序查找(也被称为线性查找)是非常容易实现的。从数组的..
分类:
编程语言 时间:
2015-06-03 19:51:02
阅读次数:
272
【题目】把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,给数组的最小值为1.【分析】直观讲,看到查找一个数组的最小值问题,第一感觉是利用直接顺序查找法,时间复杂度为O(N),这并没有什么优势在数组很大的情况下,观察数组发现它的部分是有序的,所以,我们想到用二分...
分类:
编程语言 时间:
2015-06-02 22:09:26
阅读次数:
175
该题实际上就是查找,想法一:顺序查找,看看leetcode会不会报超时:int searchInsert(vector& nums, int target){ int len=nums.size(); if (len==0) return 0; int i=0; ...
分类:
其他好文 时间:
2015-06-02 12:39:47
阅读次数:
107
哈希表也称为散列表,是用来存储群体对象的集合类结构。什么是哈希表数组和向量都可以存储对象,但对象的存储位置是随机的,也就是说对象本身与其存储位置之间没有必然的联系。当要查找一个对象时,只能以某种顺序(如顺序查找或二分查找)与各个元素进行比较,当数组或向量中的元素数量很多时,查找的效率会明显的降低。一...
分类:
编程语言 时间:
2015-06-01 09:30:39
阅读次数:
146
对于查找数据来说,最简单的方法就是从列表的第一个元素开始对列表元素逐个进行判断,直到找到了想要的结果。这个方法叫做顺序查找,有时候也被叫做线性查找。它属于暴力查找技巧的一种。
顺序查找实现起来非常简单,代码如下:
function generalSearch(arr,data){//普通的顺序查找,就是遍历一遍看是否找到
for(var i=0;i<arr.length;i++){
...
分类:
编程语言 时间:
2015-05-26 16:07:00
阅读次数:
200
无序向量区间查找:template //无序向量的顺序查找:返回最后一个元素e的位置;失败时,返回lo - 1
Rank Vector::find(T const & e, Rank lo, Rank hi) const { //assert: 0 <= lo < hi <= _size
while ((lo < hi--) && (e != _elem[hi]...
分类:
其他好文 时间:
2015-05-25 16:40:15
阅读次数:
495