第二章 Searching
我觉得既然是仅仅为自己总结,就只抓里面的概要吧,太多了反而不好。
主要讲了三种查找的方法: 1,list search: 顺序查找(sequence search),二分法查找(binary search) 2,hashed list search: 哈希查找(hashed list search)
简单的SeqSearch:
algorithm SeqSearch(val list <array>, val last <index>, val target <keyType>, ref locn <index>) //这里把所有的pre,post,return都省略了
1 looker=0 2 loop(looker < last AND target not equal list[looker]) 1 looker=looker+1 3 end loop 4 locn=looker 5 if(target equal list[looker]) 1 found=true 6 else 1 found=false 7 end if
8 return found end algorithm
用C++按照标准的格式写出来就是:
template <class TYPE> bool SeqSearch(TYPE list[],TYPE last,TYPE target,int& locn) { //local definition
int looker=0; bool found;
//statements
while(looker<last&&target!=list[looker]) { looker=looker+1; } //while
locn=looker;
if(target==list[looker]) { found=true; } else { found=false; } //if return found;
} //SeqSearch 
|