来源于书本,这个小技巧还是记录一下,其实它所表达的意思就是,for循环和while循环的一点微妙区别。在for循环中,比如: 比较、自增、加上边界的判定,一共需3步,而while循环,则只需要两步,减去了边界判定的一步。
分类:
其他好文 时间:
2016-03-21 07:05:49
阅读次数:
120
查找:所谓查找就是在数据集合中寻找满足某种条件的数据元素。1. 二分查找1.1 二分查找的定义二分查找也属于顺序表查找范围,二分查找也称为折半查找。二分查找(有序)的时间复杂度为O(LogN)。那么什么是二分查找呢?二分查找的基本思想是, 在有序表中,取中间记录作为比较对象,若给定值与中间记录的关键字相等,则查找成功;若给定值小于中间记录的关键字,则在中间记录的左半区继续查找;若给定值大于中间记录的...
分类:
编程语言 时间:
2015-07-27 18:55:46
阅读次数:
125
静态表查找包括:顺序表查找、有序表查找、静态树表查找、索引表查找
具体原理这里不叙述,详见严蔚敏《数据结构》。1、顺序表查找//SequenceTableSearch.c#include
#include
#include typedef char KeyType;//定义关键字类型
typedef struct{
KeyTyp...
分类:
其他好文 时间:
2015-07-07 09:35:50
阅读次数:
116
查找
根据给定的某个值,在查找表中确定一个其关键字(唯一的标识一个记录)等于给定值的数据元素或数据记录。静态查找:只查找,不修改元素[线性表、顺序查找、二分查找]
动态查找:查找时,插入或者删除元素[二叉排序树]顺序表查找
顺序查找(针对静态查找表),也叫线性查找O(n),从头开始遍历,直到最后一个记录。
优化:添加哨兵//有哨兵的顺序查找
int foo(int *a,int n,int...
分类:
其他好文 时间:
2015-06-09 17:18:33
阅读次数:
182
1. 顺序表查找(Sequential Search)1> 算法思想:顺序表查找应该是查找算法中最简单的了。顺序表中所有的记录都是无序的,因此在查找时,没有对查找对象范围的可能线索,唯一的方法就是沿着一个方向一直比较,直到和查找对象相等。完成查找的过程。这里一个优化点是设置一个哨兵,放在顺序表的开始...
分类:
编程语言 时间:
2014-11-13 00:23:22
阅读次数:
397
顺序查找算法实现如下:var arr = [5, 2, 4, 3, 1] , sequentialSearch = function(arr, val) { var i = 0 , len = arr.length; for ( ; i < l...
分类:
其他好文 时间:
2014-09-01 19:03:23
阅读次数:
210