




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)題目: 實(shí)驗(yàn)五、查找排序 姓名: 學(xué)號(hào): 142054301 班級(jí): 1420543 系名: 計(jì)算機(jī)工程系 專業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 指導(dǎo)老師: 實(shí)驗(yàn)時(shí)間: 2016年6月14日 實(shí)驗(yàn)地點(diǎn): 專業(yè)軟件實(shí)驗(yàn)室 【實(shí)驗(yàn)概述】1.實(shí)驗(yàn)?zāi)康募耙竽康模?掌握哈希表的定義,哈希函數(shù)的構(gòu)造方法。2掌握并比較各種排序算法。要求:預(yù)習(xí)并掌握查找的概念、靜態(tài)查找與動(dòng)態(tài)查找、順序查找、二分查找、索引查找、二叉排序樹的概念、平衡二叉樹、哈希查找、直接插入排序、快速排序、冒泡排序、簡(jiǎn)單選擇排序等算法思想。2.實(shí)驗(yàn)原理1、樹的邏輯結(jié)構(gòu)特點(diǎn):樹(tree)是n(n0)個(gè)結(jié)點(diǎn)的有限集T,其中:(1)有且
2、僅有一個(gè)特定的結(jié)點(diǎn),稱為樹的根(root);(2)當(dāng)n>1時(shí),其余結(jié)點(diǎn)可分為m(m>0)個(gè)互不相交的有限集T1,T2,Tm,其中每一個(gè)集合本身又是一棵樹,稱為根的子樹(subtree)。2、樹結(jié)構(gòu)中的基本術(shù)語,以及樹的樹形結(jié)構(gòu)表示。3、二叉樹的邏輯結(jié)構(gòu)特點(diǎn):1、查找和排序是日常數(shù)據(jù)處理過程中經(jīng)常要進(jìn)行的操作和運(yùn)算。2、查找是根據(jù)給定的某個(gè)值,在查找表中確定一個(gè)其關(guān)鍵字等于給定值的數(shù)據(jù)元素或(記錄)。若查找表中存在這樣一個(gè)記錄,則稱“查找成功”,查找結(jié)果:給出整個(gè)記錄的信息,或指示該記錄在查找表中的位置;否則稱“查找不成功”,查找結(jié)果:給出“空記錄”或“空指針”。3、靜態(tài)查找與動(dòng)態(tài)查
3、找的區(qū)別。平均查找長(zhǎng)度。4、查找算法有:靜態(tài)查找中常見的查找算法:順序查找、二分查找、索引查找。動(dòng)態(tài)查找中常見的算法有二叉排序樹和平衡二叉樹上的查找。平均查找長(zhǎng)度為0的哈希查找。5、排序是是將一組“無序”的記錄序列調(diào)整為“有序”的記錄序列。6、排序算法的優(yōu)劣從空間復(fù)雜度、時(shí)間復(fù)雜度、穩(wěn)定性三個(gè)角度分析。7、常見的排序算法可分為:插入類、交換類、選擇類、歸并排序、基數(shù)排序等。3.實(shí)驗(yàn)環(huán)境(使用的軟件)VC+6.0【實(shí)驗(yàn)內(nèi)容】1. 實(shí)驗(yàn)算法設(shè)計(jì)設(shè)計(jì)一個(gè)學(xué)生信息管理系統(tǒng),學(xué)生對(duì)象至少要包含:學(xué)號(hào)、姓名、成績(jī)等信息。要求實(shí)現(xiàn)以下功能:1、查找:分別給定學(xué)生學(xué)號(hào)、姓名,能夠查找到學(xué)生的基本信息(要求至少
4、實(shí)現(xiàn)改進(jìn)后的順序查找算法);2、排序:分別按學(xué)生的學(xué)號(hào)、成績(jī)進(jìn)行排序(要求至少用實(shí)現(xiàn)直接插入排序、冒泡排序、簡(jiǎn)單選擇排序算法)。2.實(shí)驗(yàn)過程(源代碼及描述、調(diào)試過程及分析)#include<iostream>#include<string>using namespace std;struct studentint num; /學(xué)號(hào)char name20; /姓名char banji20; /班級(jí)int c; /C語言課程成績(jī)int datastruct; /數(shù)據(jù)結(jié)構(gòu)課程成績(jī);struct queuestruct student a8;int lenth;class li
5、stprivate:queue d;public:int seqsearch(list,char *);int binsearch(list,int,int,int);void insertsort(list); void selectsort(list); void bubblesort(list);list();void display(list);void show(int);list:list()struct student e8=1,"王麗","03511",85,76,2,"張秋","03511",78
6、,77,3,"劉麗","03511",90,79,4,"王童","03511",75,86,5,"趙陽","03511",60,71,6,"李艷","03511",58,68,7,"錢娜","03511",95,89,8,"孫勝","03511",45,60,;for(int i=0;i<8;i+)d.ai=ei;void list:show(int
7、i)if(i=-1)cout<<"sorry not found!"<<endl;elsecout<<"學(xué)號(hào)"<<"班級(jí)"<<"c+"<<"數(shù)據(jù)結(jié)構(gòu)n"cout<<""<<d.ai.num<<" " cout<<<<" "cout<<d.ai.banji<<&quo
8、t; "cout<<d.ai.datastruct<<" "cout<<d.ai.c<<endl;void list:display(list l)cout<<"學(xué)號(hào)"<<"班級(jí)"<<"c+"<<"數(shù)據(jù)結(jié)構(gòu)n"for(int i=0;i<8;i+)cout<<""<<l.d.ai.num<<" " cout&l
9、t;<<<" "cout<<l.d.ai.banji<<" "cout<<l.d.ai.datastruct<<" "cout<<l.d.ai.c<<endl;int list:seqsearch(list l,char name20)/順序查找for(int i=0;i<8;i+)if(strcmp(,name)=0)return i;return -1;void list:insertsort
10、(list l)/直接插入排序struct student n;for(int i=1;i<8;i+)n=l.d.ai;int j=i-1;while(j>=0&&strcmp(,)<0)l.d.aj+1=l.d.aj;j-;l.d.aj+1=n;display(l);void list:selectsort(list l)/簡(jiǎn)單選擇排序for(int i=0;i<7;i+)int j=i;for(int k=j;k<8;k+)if(l.d.aj.c<l.d.ak+1.c)j=k+1;if(j!=i)stud
11、ent s=l.d.ai;l.d.ai=l.d.aj;l.d.aj=s;display(l);void list:bubblesort(list l)/冒泡排序for(int i=7;i>0;i-) for(int j=0;j<i;j+)if(l.d.aj.datastruct>l.d.aj+1.datastruct)student d=l.d.aj;l.d.aj=l.d.ai+1;l.d.aj+1=d;display(l);void main()list l;cout<<"順序查找姓名為趙陽的學(xué)生n"int i=l.seqsearch(l,&
12、quot;趙陽");l.show(i);cout<<endl;cout<<"直接插入排序?qū)π彰M(jìn)行排序n" cout<<"排序前的結(jié)果:n"l.display(l);cout<<"排序后的結(jié)果:n"l. insertsort (l);cout<<endl;cout<<"簡(jiǎn)單選擇排序?qū)語言成績(jī)進(jìn)行排序n" cout<<"排序前的結(jié)果:n"l.display(l);cout<<"排序后的結(jié)果:n"l.selectsort(l);cout<<endl;cout<<"冒泡排序?qū)?shù)據(jù)結(jié)構(gòu)成績(jī)進(jìn)行排序n" cout<<"排序前的結(jié)果:n
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022年寧夏大學(xué)英語考試考前沖刺卷九2測(cè)
- 賓館洗衣房洗滌設(shè)備操作規(guī)程
- 幼兒園小班體育教案 小螞蟻搬家
- 《移動(dòng)電子商務(wù)第二版》課件44.微信營(yíng)銷-微店開設(shè)
- 《高級(jí)商務(wù)英語口語第二版》課件unit7BusinessTradeII
- 13-03假設(shè)檢驗(yàn)章節(jié)課件
- 中醫(yī)確有專長(zhǎng)培訓(xùn)
- 陜西省延安市2025屆七年級(jí)英語第二學(xué)期期末聯(lián)考試題含答案
- 中小學(xué)生暑假安全教育
- 興安市重點(diǎn)中學(xué)2025年英語七下期中調(diào)研試題含答案
- 2025年新疆維吾爾自治區(qū)中考?xì)v史真題(解析版)
- 荊州中學(xué)2024-2025學(xué)年高二下學(xué)期6月月考?xì)v史試卷
- 2025-2030年中國(guó)婚慶產(chǎn)業(yè)行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2024-2025學(xué)年蘇教版四年級(jí)下學(xué)期期末測(cè)試數(shù)學(xué)試卷(含答案)
- 2025年新高考2卷(新課標(biāo)Ⅱ卷)英語試卷
- 2025年中考化學(xué)必考要點(diǎn)知識(shí)歸納
- 三年級(jí)語文下冊(cè)全冊(cè)重點(diǎn)知識(shí)點(diǎn)歸納
- 公路養(yǎng)護(hù)材料管理制度
- JG/T 330-2011建筑工程用索
- 單位消防培訓(xùn)課件教學(xué)
- 項(xiàng)目可行性研究報(bào)告風(fēng)險(xiǎn)管理與應(yīng)急措施制定策略
評(píng)論
0/150
提交評(píng)論