《資料結構的C++偽碼實現》(《DATA STRUCTURES A Pseudocode Approach with C++》)讀書筆記(四) (轉)

worldblog發表於2007-08-17
《資料結構的C++偽碼實現》(《DATA STRUCTURES A Pseudocode Approach with C++》)讀書筆記(四) (轉)[@more@]

第二章 Searching

我覺得既然是僅僅為自己總結,就只抓裡面的概要吧,太多了反而不好。

主要講了三種查詢的方法:
1,list search:
順序查詢(sequence search),二分法查詢(binary search)
2,hashed list search:
雜湊查詢(hashed list search)


簡單的SeqSearch:

algorithm SeqSearch(val list  ,
  val last  ,
  val target ,
  ref locn  ) //這裡把所有的pre,post,return都省略了

1 looker=0
2 l(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
bool SeqSearch(TYPE list[],TYPE last,TYPE target,int& locn)
{
  //local definition

  int looker=0;
  bool found;

  //statements

  while(looker  {
  looker=looker+1;
  } //while

  locn=looker;

  if(target==list[looker])
  {
  found=true;
  }
  else
  {
  found=false;
  } //if
 
  return found;

} //SeqSearch


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-962979/,如需轉載,請註明出處,否則將追究法律責任。

相關文章