多種查找算法實現(xiàn)及其比較

多種查找算法實現(xiàn)及其比較

ID:13159964

大?。?45.00 KB

頁數(shù):23頁

時間:2018-07-21

多種查找算法實現(xiàn)及其比較_第1頁
多種查找算法實現(xiàn)及其比較_第2頁
多種查找算法實現(xiàn)及其比較_第3頁
多種查找算法實現(xiàn)及其比較_第4頁
多種查找算法實現(xiàn)及其比較_第5頁
資源描述:

《多種查找算法實現(xiàn)及其比較》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。

1、廣西工學院計算機學院《數(shù)據(jù)結構》課程實驗報告書實驗八多種查找算法實現(xiàn)及其比較學生姓名:學號:班級:計指導老師專業(yè):計算機學院軟件學院提交日期:2013年6月28日-22-1.實驗目的1)掌握常見的靜態(tài)查找表和動態(tài)查找表的表示和操作方法。2)能根據(jù)具體的查找方法設計合理的查找表的數(shù)據(jù)結構。2.實驗內(nèi)容1)用靜態(tài)查找結構實現(xiàn)靜態(tài)查找算法,包括順序查找—用順序表、鏈表(流程圖)折半查找—用有序順序表(流程圖)基本操作:Create(&ST,n);//構造含有n個元素的靜態(tài)查找表STDestroy(&ST);//銷毀表Search(ST

2、,key);//查找關鍵字為key的數(shù)據(jù)元素Traverse(ST,visit());//遍歷查找表數(shù)據(jù)結構定義:typedefstruct{intkey;}Eletype;typedefstruct{Elemtype*elem;intlength;}SSTable;#defineBLOCK_NUM32)用動態(tài)查找結構實現(xiàn)動態(tài)查找算法,包括二叉排序樹—無重復關鍵字AVL樹—平衡二叉排序樹動態(tài)查找:表結構本身是在查找過程中動態(tài)生成的?;静僮鳎篒nitDSTable(&DT);//構造一個空的動態(tài)查找表DTDestroyDSTab

3、le(&DT);//銷毀表SearchDSTable(DT,key);//查找關鍵字為key的數(shù)據(jù)元素-22-InsertDSTable(&DT,e);DeleteDSTable(&DT,key);TraverseDSTable(DT,visit());//遍歷查找表二叉排序樹的數(shù)據(jù)類型描述:typedefstruct{intkey;}ElemType;typedefstructBiTNode{ElemTypedata;structBiTNode*lchild,*rchild;}BiTNode,*BiTree;3).用以上方法中

4、的一種,編程實現(xiàn)在n個數(shù)據(jù)(n>=10)中查找某個數(shù)3.實驗要求(1)上機前交實驗源程序(紙質(zhì)版),由學習委員統(tǒng)一收好交老師(附上不交同學名單)。(2)用一切你能想到的辦法解決遇到的問題,培養(yǎng)解決問題的能力。(3)實驗課上進行答辯。(4)實驗報告當場交。報告內(nèi)容包括:實驗目的、實驗內(nèi)容、實驗代碼、實驗運行結果以及實驗體會供五部分。3.主要算法3.1順序存儲結構(1)結構定義:#include#include#include#include//各頭文件#d

5、efineN10#defineOK1#defineERROR0#defineOVERFLOW-2typedefintkeyType;//設關鍵字域為長整型-22-typedefintTElemType;//定義宏參//定義靜態(tài)表存儲結構typedefstruct{TElemType*elem;//定義數(shù)據(jù)類型intlength;//記錄當前長度}SSTable;//定義動態(tài)表存儲結構typedefstruct{intkey;//關鍵字}ElemType;//定義動態(tài)表指針typedefstructBiTNode{ElemType

6、data;//定義數(shù)據(jù)類型structBiTNode*lchild;//左孩子指針structBiTNode*rchild;//右孩子指針}BiTNode,*BiTree;voidInsert_BST(BiTree&T,BiTreeS);intDelete(BiTree&p);//建立靜態(tài)表voidCreat_seq(SSTable&ST,TElemTyper[],intn){//操作結果:建立一個靜態(tài)表-22-inti;ST.elem=(TElemType*)calloc(n+1,sizeof(TElemType));//分配

7、存儲空間if(!ST.elem)//分配存儲空間失敗exit(0);for(i=1;i<=n;i++)//把r中的數(shù)據(jù)元素復制給STST.elem[i]=r[i];ST.length=n;////記錄當前長度}//靜態(tài)表清空voidClear(SSTable&ST){//初始條件:靜態(tài)表已存在//操作結果:清空靜態(tài)表inti=ST.length;for(i=1;i<=ST.length;i++)//把ST當前長度賦值為0ST.elem[i]=0;return;}//靜態(tài)順序查找intsearch_seq(SSTableST,ke

8、yTypekey){//初始條件:靜態(tài)表已存在//操作結果:在順序表中順序查找其關鍵字等于key的數(shù)據(jù)元素,//若存在,則返回該元素,否則返回0inti=ST.length;ST.elem[0]=key;while(ST.elem[i]!=key)--i;-22

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。