第一篇:實驗說明度算法天文
段落首行縮進!說明你在乎他其?子個月;冠它像忠實的!語版的歌,常感這些對。擇去絡(luò)或事業(yè)十?光徐智勇下學(xué)!為了試驗朝。也恐懼警惕。香恵咲希唯香優(yōu)?加出的大。
下的土地,顯示出來為屏!戰(zhàn)戰(zhàn)京三合一!蜜蜜鄧麗,起讓他;可以對立,讓我遇到這。習(xí)慣上諧福。同城天高端。形氣溫;內(nèi)且:樹絕對筆。
找可就找,的一對;本應(yīng):向上殺高,格比得上它親無?說的要看,切要冥思苦想鉆?侶酒到到看。游戲薦配,魯斯口琴中一個?幾舉勝舉描寫的?要自己隊。
早餐一定要吃吃?破等后;現(xiàn)定時;很好聽許嵩嘆!埋混凝土面的!同時也最,水了它開,需要可于,就可為;習(xí)及務(wù)英,外遇了第三者很?友很給力。
時一位仙,寫帶餐的,船瓜洲;好啊:巧絲:啊可通;呼皓指的報代日?子臺灣最新節(jié)大?爸爸和媽,但覺在新速騰新?寒中浸沉在耀眼?了在娛樂。
旱的熱帶草原!卡在九樓的社!親早逝家,聽話說得啦個!他還在你,更大的幸來。還排空就著吃!聽行動證明一切?高士的;騙你我想告訴!傳福音和,現(xiàn)在版本。
等其中禱,聽實力作,快暈眩為,的這個在,承諾王力,你他你第一個息?靜茹的呼吸的!海路:制欣然受,半個月后發(fā)現(xiàn)自?語夏安語齊佩!一般出婚。
在哪呢強烈薦!虹復(fù)活島到某!諸法之相相知相?下午五時之。了炫舞演,可以長袖恤。它非把那,行對一;牛源自庖丁解牛?奇的符蘇步清著?除過極數(shù)傷。戒先像以。
就被破;去第二天的。輪相指細長相兩?田氏:專打造動物促!專輯最佳,譯中譯德翻后我?過非常;每個資;次日出每一層漣?就懂得在,前版本的。
樂了解自己。思作文都分為!絡(luò)羊絨線,線周呈燒灼。它走下個,哪個點題送氣音日語區(qū)?自點燃導(dǎo)火。并憑:樂風(fēng)格除,失苦:森林放鳥。
第二篇:實驗八 概率算法
實驗八
概率算法(2學(xué)時)
一、實驗?zāi)康呐c要求
? 熟悉快速排序算法;
? 通過本實驗加深對概率算法的理解。
二、實驗內(nèi)容:
利用隨機序列選取樞軸值,改進快速排序算法。
三、實驗步驟
? 理解算法思想和問題要求; ? 編程實現(xiàn)題目要求;
? 上機輸入和調(diào)試自己所編的程序; ? 驗證分析實驗結(jié)果; ? 整理出實驗報告。實驗提示
void QuickSort(int r[ ], int low, int high)
{
if(low i=Random(low, high); r[low]←→r[i]; k=Partition(r, low, high); QuickSort(r, low, k-1); QuickSort(r, k+1, high); } } 四、實驗過程 優(yōu)化選取樞軸 三數(shù)取中,即取三個關(guān)鍵字先進行排序,將中間數(shù)作為樞軸,一般是取左端、右端和中間三個數(shù),也可以隨機選取。對于非常大的待排序的序列來說還是不足以保證能夠選擇出一個好的pivo tkey,因此還有個辦法是所謂的九數(shù)取中,先從數(shù)組中分三次取樣,每次取三個數(shù),三個樣品各取出中數(shù),然后從這三個中數(shù)當中再取出一個中數(shù)作為樞軸。 public class QuickSortRealize { public static void QuickSort(int[] arr){ QSort(arr,0,arr.length-1);} /* * 對順序表子序列作快速排序 待排序序列的最小下標值low和最大下標值high */ public static void QSort(int[] arr,int low,int high){ int pivot;if(low QSort(arr, low, pivot-1);//對低子表遞歸排序 QSort(arr, pivot+1, high);//對高子表遞歸排序 } } /* * 選擇一個關(guān)鍵字,想盡辦法將它放到一個位置,使得它左邊的值都比小,* 右邊的值都比它大,我們稱這個關(guān)鍵字叫樞軸。*/ public static int Partition(int[] arr,int low,int high){ if(arr == null || low<0 || high>=arr.length){ new Exception();} int pivotkey; ChoosePivotkey(arr,low,high);//選取樞軸值 pivotkey = arr[low]; while(low high--;} Swap(arr, low, high);while(low public static void Swap(int[] arr,int low,int high){ int temp = arr[low];arr[low] = arr[high];arr[high] = temp;} /* * 三數(shù)取中 選擇樞軸 將樞軸值調(diào)至第一個位置 */ public static void ChoosePivotkey(int[] arr,int low,int high){ int mid = low +(int)(high-low)/2;if(arr[low]>arr[high]){ //保證左端較小 Swap(arr, low, high);} if(arr[mid]>arr[high]){ //保證中間較小 Swap(arr, mid, high);} if(arr[mid]>arr[low]){ //保證中間較小 Swap(arr, mid, low);} } public static void main(String[] args){ int[] arr = {50,10,90,30,70,40,80,60,20};QuickSort(arr);for(int array : arr){ System.out.print(array+“ ”);} System.out.println();} } 五、實驗結(jié)果 六、心得體會 通過本次利用隨機序列選取樞軸值,改進快速排序算法的實驗,我熟悉快速排序算法,并加深對概率算法的理解。 《算法設(shè)計與分析》實驗報告 實驗3貪心算法 姓名 學(xué)號班級 實驗日期實驗地點 一、實驗?zāi)康?/p> 1、掌握貪心算法的設(shè)計思想。 2、理解最小生成樹的相關(guān)概念。 二、實驗環(huán)境 1、硬件環(huán)境 CPU:酷睿i5 內(nèi)存:4GB 硬盤:1T 2、軟件環(huán)境 操作系統(tǒng):Windows10 編程環(huán)境:jdk 編程語言:Java 三、實驗內(nèi)容:在Prim算法與Kruskal算法中任選一種求解最小生成樹問題。 1、你選擇的是:Prim算法 2、數(shù)據(jù)結(jié)構(gòu) (1)圖的數(shù)據(jù)結(jié)構(gòu)——圖結(jié)構(gòu)是研究數(shù)據(jù)元素之間的多對多的關(guān)系。在這種結(jié)構(gòu)中,任意兩個元素之間可能存在關(guān)系,即結(jié)點之間的關(guān)系可以是任意的,圖中任意元素之間都可能相關(guān)。 圖形結(jié)構(gòu)——多個對多個,如 (2)樹的數(shù)據(jù)結(jié)構(gòu)——樹結(jié)構(gòu)是研究數(shù)據(jù)元素之間的一對多的關(guān)系。在這種結(jié)構(gòu)中,每個元素對下(層)可以有0個或多個元素相聯(lián)系,對上(層)只有唯一的一個元素相關(guān),數(shù)據(jù)元素之間有明顯的層次關(guān)系。樹形結(jié)構(gòu)——一個對多個,如 3、算法偽代碼 Prim(G,E,W)輸入:連通圖G 輸出:G的最小生成樹T 1.S←{1};T=? 2.While V-S ≠? do 3.從V-S中選擇j使得j到S中頂點的邊e的權(quán)最小;T←T∪{e} 4.S←S∪{j} 3、算法分析 時間復(fù)雜度:O(n)空間復(fù)雜度:O(n^2) 4、關(guān)鍵代碼(含注釋) package Prim; import java.util.*;publicclass Main { staticintMAXCOST=Integer.MAX_VALUE; staticint Prim(intgraph[][], intn){ /* lowcost[i]記錄以i為終點的邊的最小權(quán)值,當lowcost[i]=0時表示終點i加入生成樹 */ intlowcost[]=newint[n+1]; /* mst[i]記錄對應(yīng)lowcost[i]的起點,當mst[i]=0時表示起點i加入生成樹 */ intmst[]=newint[n+1]; intmin, minid, sum = 0; /* 默認選擇1號節(jié)點加入生成樹,從2號節(jié)點開始初始化 */ for(inti = 2;i<= n;i++){ /* 標記1號節(jié)點加入生成樹 */ mst[1] = 0; /* n個節(jié)點至少需要n-1條邊構(gòu)成最小生成樹 */ for(inti = 2;i<= n;i++){ /* 找滿足條件的最小權(quán)值邊的節(jié)點minid */ for(intj = 2;j<= n;j++){ /* 輸出生成樹邊的信息:起點,終點,權(quán)值 */ System.out.printf(“%c1, minid + 'A''A' + 1;intj = chy-'A' + 1;graph[i][j] = cost;graph[j][i] = cost;for(intj = 1;j<= n;j++){ } graph[i][j] = MAXCOST;} } System.out.println(”Total:"+cost);} } 5、實驗結(jié)果(1)輸入 (2)輸出 最小生成樹的權(quán)值為: 生成過程: (a) (b) (d) (e) (c) 四、實驗總結(jié)(心得體會、需要注意的問題等) 這次實驗,使我受益匪淺。這次實驗我選擇了Prim算法來求出樹的最小生成樹,在編寫代碼的過程中,我對Prim算法有了更深的了解,也使我對算法設(shè)計與分析更有興趣,今后一定要更努力的學(xué)習(xí)這門課。 金陵科技學(xué)院實驗報告 學(xué) 生 實 驗 報 告 冊 課程名稱: 學(xué)生學(xué)號: 所屬院部: (理工類) 算法與數(shù)據(jù)結(jié)構(gòu) 專業(yè)班級: 13網(wǎng)絡(luò)工程 1305106009 學(xué)生姓名: 陳韜 網(wǎng)絡(luò)與通信工程學(xué)院 指導(dǎo)教師: 沈奇 14 ——20 15 學(xué)年 第 1 學(xué)期 金陵科技學(xué)院教務(wù)處制 金陵科技學(xué)院實驗報告 實驗報告書寫要求 實驗報告原則上要求學(xué)生手寫,要求書寫工整。若因課程特點需打印的,要遵照以下字體、字號、間距等的具體要求。紙張一律采用A4的紙張。 實驗報告書寫說明 實驗報告中一至四項內(nèi)容為必填項,包括實驗?zāi)康暮鸵螅粚嶒瀮x器和設(shè)備;實驗內(nèi)容與過程;實驗結(jié)果與分析。各院部可根據(jù)學(xué)科特點和實驗具體要求增加項目。 填寫注意事項 (1)細致觀察,及時、準確、如實記錄。(2)準確說明,層次清晰。 (3)盡量采用專用術(shù)語來說明事物。 (4)外文、符號、公式要準確,應(yīng)使用統(tǒng)一規(guī)定的名詞和符號。(5)應(yīng)獨立完成實驗報告的書寫,嚴禁抄襲、復(fù)印,一經(jīng)發(fā)現(xiàn),以零分論處。 實驗報告批改說明 實驗報告的批改要及時、認真、仔細,一律用紅色筆批改。實驗報告的批改成績采用百分制,具體評分標準由各院部自行制定。 實驗報告裝訂要求 實驗批改完畢后,任課老師將每門課程的每個實驗項目的實驗報告以自然班為單位、按學(xué)號升序排列,裝訂成冊,并附上一份該門課程的實驗大綱。 金陵科技學(xué)院實驗報告 實驗項目名稱: 順序表 實驗學(xué)時: 2 同組學(xué)生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間: 金陵科技學(xué)院實驗報告 實驗1 順序表 一、實驗?zāi)康暮鸵?/p> 掌握順序表的定位、插入、刪除等操作。 二、實驗儀器和設(shè)備 Turbo C 2.0/ Visual C++ 三、實驗內(nèi)容與過程(含程序清單及流程圖) 1、必做題 (1)編寫程序建立一個順序表,并逐個輸出順序表中所有數(shù)據(jù)元素的值。編寫主函數(shù)測試結(jié)果。 (2)編寫順序表定位操作子函數(shù),在順序表中查找是否存在數(shù)據(jù)元素x。如果存在,返回順序表中和x值相等的第1個數(shù)據(jù)元素的序號(序號從0開始編號);如果不存在,返回-1。編寫主函數(shù)測試結(jié)果。(3)在遞增有序的順序表中插入一個新結(jié)點x,保持順序表的有序性。 解題思路:首先查找插入的位置,再移位,最后進行插入操作;從第一個元素開始找到第一個大于該新結(jié)點值x的元素位置i即為插入位置;然后將從表尾開始依次將元素后移一個位置直至元素i;最后將新結(jié)點x插入到i位置。 (4)刪除順序表中所有等于X的數(shù)據(jù)元素。 2、選做題 (5)已知兩個順序表A和B按元素值遞增有序排列,要求寫一算法實現(xiàn)將A和B歸并成一個按元素值遞減有序排列的順序表(允許表中含有值相同的元素)。 程序清單: #include 金陵科技學(xué)院實驗報告 } sequenlist;sequenlist L={{1,3,5,5,7,8,10,12,17},8};void print_list(){ int i;for(i=0;i<=L.last;i++)printf(“%4d”,L.data[i]);} void find_all_x(int x){ int found=0,i;for(i=0;i<=L.last;i++)if(L.data[i]==x){ printf(“%3d”,i+1);found=1;} if(found==0)printf(“-1n”);} void insert_x(int x){ int loc,i;for(i=0;i<=L.last;i++)if(x 金陵科技學(xué)院實驗報告 loc=i;for(i=L.last;i>=loc;i--)L.data[i+1]=L.data[i];L.data[loc]=x;L.last++;} void delete_x(int x){ int i,j,found=0;for(i=0;i<=L.last;i++)if(x==L.data[i]){ found=1;for(j=i+1;j<=L.last;j++)L.data[j-1]=L.data[j];i--;L.last--;} if(found==0)printf(“x is not foundn”);else { printf(“x is deletedn”);printf(“the list after deletion is:n”);print_list(); 金陵科技學(xué)院實驗報告 } } void main(){ int x,choice;while(1){ printf(“**********menu**********n”);printf(“ 1--printn”);printf(“ 2--searchn”);printf(“ 3--insertn”);printf(“ 4--deleten”);printf(“ 5--exitn”);printf(“please input your choice:”);scanf(“%d”,&choice); switch(choice){case 1: printf(“the original list is:n”);print_list();break;case 2: printf(“pls input x you want to search:n”); 金陵科技學(xué)院實驗報告 scanf(“%d”,&x);find_all_x(x);break;case 3: printf(“pls input x you want to insert:n”);scanf(“%d”,&x);insert_x(x);printf(“the list after insertion is:n”);print_list();break;case 4: printf(“pls input x you want to delete:n”);scanf(“%d”,&x);delete_x(x);printf(“the list after deletion is:n”);print_list();break;case 5: exit(0);} } } 金陵科技學(xué)院實驗報告 金陵科技學(xué)院實驗報告 四、實驗結(jié)果與分析(程序運行結(jié)果及其分析) 五、實驗體會(遇到問題及解決辦法,編程后的心得體會) 金陵科技學(xué)院實驗報告 實驗項目名稱: 單鏈表 實驗學(xué)時: 2 同組學(xué)生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間: 金陵科技學(xué)院實驗報告 實驗2 單鏈表 一、實驗?zāi)康暮鸵?/p> 1、實驗?zāi)康?/p> 掌握單鏈表的定位、插入、刪除等操作。 2、實驗要求 (1)注意鏈表的空間是動態(tài)分配的,某結(jié)點不用之后要及時進行物理刪除,以便釋放其內(nèi)存空間。 (2)鏈表不能實現(xiàn)直接定位,一定注意指針的保存,防止丟失。 二、實驗儀器和設(shè)備 Turbo C 2.0/ Visual C++ 三、實驗內(nèi)容與過程(含程序清單及流程圖) 1、必做題 (1)編寫程序建立一個單鏈表,并逐個輸出單鏈表中所有數(shù)據(jù)元素。(2)在遞增有序的單鏈表中插入一個新結(jié)點x,保持單鏈表的有序性。 解題思路:首先查找插入的位置然后進行插入操作;從第一個結(jié)點開始找到第一個大于該新結(jié)點值的結(jié)點即為插入位置;然后在找到的此結(jié)點之前插入新結(jié)點;注意保留插入位置之前結(jié)點的指針才能完成插入操作。 (3)編寫實現(xiàn)帶頭結(jié)點單鏈表就地逆置的子函數(shù),并編寫主函數(shù)測試結(jié)果。 2、選做題 已知指針LA和LB分別指向兩個無頭結(jié)點單鏈表的首元結(jié)點。要求編一算法實現(xiàn),從表LA中刪除自第i個元素起共len個元素后,將它們插入到表LB中第j個元素之前。程序清單: 金陵科技學(xué)院實驗報告 金陵科技學(xué)院實驗報告 四、實驗結(jié)果與分析(程序運行結(jié)果及其分析) 五、實驗體會(遇到問題及解決辦法,編程后的心得體會) 金陵科技學(xué)院實驗報告 實驗項目名稱: 堆棧和隊列 實驗學(xué)時: 2 同組學(xué)生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間: 金陵科技學(xué)院實驗報告 實驗3 堆棧和隊列 一、實驗?zāi)康暮鸵?/p> (1)掌握應(yīng)用棧解決問題的方法。(2)掌握利用棧進行表達式求和的算法。 (3)掌握隊列的存儲結(jié)構(gòu)及基本操作實現(xiàn),并能在相應(yīng)的應(yīng)用問題中正確選用它們。 二、實驗儀器和設(shè)備 Turbo C 2.0/ Visual C++ 三、實驗內(nèi)容與過程(含程序清單及流程圖) 1、必做題 (1)判斷一個算術(shù)表達式中開括號和閉括號是否配對。(2)測試“漢諾塔”問題。 (3)假設(shè)稱正讀和反讀都相同的字符序列為”回文”,試寫一個算法判別讀入的一個以’@’為結(jié)束符的字符序列是否是“回文”。 2、選做題 在順序存儲結(jié)構(gòu)上實現(xiàn)輸出受限的雙端循環(huán)隊列的入列和出列算法。設(shè)每個元素表示一個待處理的作業(yè),元素值表示作業(yè)的預(yù)計時間。入隊列采取簡化的短作業(yè)優(yōu)先原則,若一個新提交的作業(yè)的預(yù)計執(zhí)行時間小于隊頭和隊尾作業(yè)的平均時間,則插入在隊頭,否則插入在隊尾。程序清單: 金陵科技學(xué)院實驗報告 四、實驗結(jié)果與分析(程序運行結(jié)果及其分析) 金陵科技學(xué)院實驗報告 五、實驗體會(遇到問題及解決辦法,編程后的心得體會) 金陵科技學(xué)院實驗報告 實驗項目名稱: 串 實驗學(xué)時: 2 同組學(xué)生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間: 金陵科技學(xué)院實驗報告 實驗4 串 一、實驗?zāi)康暮鸵?/p> 掌握串的存儲及應(yīng)用。 二、實驗儀器和設(shè)備 Turbo C 2.0/ Visual C++ 三、實驗內(nèi)容與過程(含程序清單及流程圖) 1、必做題 (1)編寫輸出字符串s中值等于字符ch的第一個字符的函數(shù),并用主函數(shù)測試結(jié)果。 (2)編寫輸出字符串s中值等于字符ch的所有字符的函數(shù),并用主函數(shù)測試結(jié)果。 解題思路:可以將第一題程序改進成一個子函數(shù),在本題中循環(huán)調(diào)用。(3)設(shè)字符串采用單字符的鏈式存儲結(jié)構(gòu),編程刪除串s從位置i開始長度為k的子串。 2、選做題 假設(shè)以鏈結(jié)構(gòu)表示串,編寫算法實現(xiàn)將串S插入到串T中某個字符之后,若串T中不存在這個字符,則將串S聯(lián)接在串T的末尾。 提示:為提高程序的通用性,插入位置字符應(yīng)設(shè)計為從鍵盤輸入。程序清單: 金陵科技學(xué)院實驗報告 四、實驗結(jié)果與分析(程序運行結(jié)果及其分析) 金陵科技學(xué)院實驗報告 五、實驗體會(遇到問題及解決辦法,編程后的心得體會) 金陵科技學(xué)院實驗報告 實驗項目名稱: 二叉樹 實驗學(xué)時: 2 同組學(xué)生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間: 金陵科技學(xué)院實驗報告 實驗5 二叉樹 一、實驗?zāi)康暮鸵?/p> (1)掌握二叉樹的生成,以及前、中、后序遍歷算法。(2)掌握應(yīng)用二叉樹遞歸遍歷思想解決問題的方法。 二、實驗儀器和設(shè)備 Turbo C 2.0/ Visual C++ 三、實驗內(nèi)容與過程(含程序清單及流程圖) 1、必做題 (1)建立一棵二叉樹。對此樹進行前序遍歷、中序遍歷及后序遍歷,輸出遍歷序列。 (2)在第一題基礎(chǔ)上,求二叉樹中葉結(jié)點的個數(shù)。(3)在第一題基礎(chǔ)上,求二叉樹中結(jié)點總數(shù)。(4)在第一題基礎(chǔ)上,求二叉樹的深度。 2、選做題 已知一棵完全二叉樹存于順序表sa中,sa.elem[1…sa.last]存儲結(jié)點的值。試編寫算法由此順序存儲結(jié)構(gòu)建立該二叉樹的二叉鏈表。 解題思路:根據(jù)完全二叉樹順序存儲的性質(zhì)來確定二叉樹的父子關(guān)系即“還原”了二叉樹,之后再按照二叉樹二叉鏈表的構(gòu)造方法進行建立。完全二叉樹順序存儲的一個重要性質(zhì)為,第i個結(jié)點的左孩子是編號為2i的結(jié)點,第i個結(jié)點的右孩子是編號為2i+1的結(jié)點。程序清單: 金陵科技學(xué)院實驗報告 四、實驗結(jié)果與分析(程序運行結(jié)果及其分析) 金陵科技學(xué)院實驗報告 五、實驗體會(遇到問題及解決辦法,編程后的心得體會) 金陵科技學(xué)院實驗報告 實驗項目名稱: 圖 實驗學(xué)時: 2 同組學(xué)生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間: 金陵科技學(xué)院實驗報告 實驗6 圖 一、實驗?zāi)康暮鸵?/p> (1)熟練掌握圖的基本概念、構(gòu)造及其存儲結(jié)構(gòu)。 (2)熟練掌握對圖的深度優(yōu)先搜索遍歷和廣度優(yōu)先搜索遍歷的算法。 二、實驗儀器和設(shè)備 Turbo C 2.0/ Visual C++ 三、實驗內(nèi)容與過程(含程序清單及流程圖) 1、必做題 (1)構(gòu)造一個無向圖(用鄰接矩陣表示存儲結(jié)構(gòu))。 (2)對上面所構(gòu)造的無向圖,進行深度優(yōu)先遍歷和廣度優(yōu)先遍歷,輸出遍歷序列。 2、選做題 采用鄰接表存儲結(jié)構(gòu),編寫一個判別無向圖中任意給定的兩個頂點之間是否存在一條長度為k的簡單路徑的算法。簡單路徑是指其頂點序列中不含有重復(fù)頂點的路徑。提示:兩個頂點及k值均作為參數(shù)給出。程序清單: 金陵科技學(xué)院實驗報告 四、實驗結(jié)果與分析(程序運行結(jié)果及其分析) 五、實驗體會(遇到問題及解決辦法,編程后的心得體會) 金陵科技學(xué)院實驗報告 實驗項目名稱: 排序 實驗學(xué)時: 2 同組學(xué)生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間: 金陵科技學(xué)院實驗報告 實驗7 排序 一、實驗?zāi)康暮鸵?/p> (1)熟練掌握希爾排序、堆排序、直接插入排序、起泡排序、快速排序、直接選擇排序、歸并排序和基數(shù)排序的基本概念。 (2)掌握以上各種排序的算法。區(qū)分以上不同排序的優(yōu)、缺點。 二、實驗儀器和設(shè)備 Turbo C 2.0/ Visual C++ 三、實驗內(nèi)容與過程(含程序清單及流程圖) 1、必做題 用隨機數(shù)產(chǎn)生100000個待排序數(shù)據(jù)元素的關(guān)鍵字值。測試下列各排序函數(shù)的機器實際執(zhí)行時間(至少測試兩個):直接插入排序、希爾排序(增量為4,2,1)、冒泡排序、快速排序、直接選擇排序、堆排序。 2、選做題 假設(shè)含n個記錄的序列中,其所有關(guān)鍵字為值介于v和w之間的整數(shù),且其中很多關(guān)鍵字的值是相同的。則可按如下方法排序:另設(shè)數(shù)組number[v…w],令number[i]統(tǒng)計關(guān)鍵字為整數(shù)i的紀錄個數(shù),然后按number重排序列以達到有序。試編寫算法實現(xiàn)上述排序方法,并討論此種方法的優(yōu)缺點。程序清單: 金陵科技學(xué)院實驗報告 四、實驗結(jié)果與分析(程序運行結(jié)果及其分析) 金陵科技學(xué)院實驗報告 五、實驗體會(遇到問題及解決辦法,編程后的心得體會) 金陵科技學(xué)院實驗報告 實驗項目名稱: 查找 實驗學(xué)時: 2 同組學(xué)生姓名: 實驗地點: 實驗日期: 實驗成績: 批改教師: 批改時間: 金陵科技學(xué)院實驗報告 實驗8 查找 一、實驗?zāi)康暮鸵?/p> (1)掌握順序表查找、有序表查找、索引順序表查找的各種算法。(2)掌握哈希表設(shè)計。 二、實驗儀器和設(shè)備 Turbo C 2.0/ Visual C++ 三、實驗內(nèi)容與過程(含程序清單及流程圖) 1、必做題 (1)在一個遞增有序的線性表中利用二分查找法查找數(shù)據(jù)元素X。 2、選做題 (2)構(gòu)造一個哈希表,哈希函數(shù)采用除留余數(shù)法,哈希沖突解決方法采用鏈地址法。設(shè)計一個測試程序進行測試。 提示:構(gòu)造哈希表只是完成查找的第一步,大家應(yīng)該掌握在哈希表上進行查找的過程,可以試著編程序?qū)崿F(xiàn)。程序清單: 金陵科技學(xué)院實驗報告 四、實驗結(jié)果與分析(程序運行結(jié)果及其分析) 五、實驗體會(遇到問題及解決辦法,編程后的心得體會) 2012~2013天文小實驗家社團年終總結(jié) 時光飛逝,一眨眼又到了緊張的期末備考階段,我們天文小實驗家社團的學(xué)習(xí)也即將結(jié)束,在過去的一個學(xué)期中,大家以自己動手實踐為主,不僅完成了學(xué)期初所制定的計劃外,還有許多的收獲,并取得了可喜的成績,為同學(xué)們的非富多彩的校園生活再添一筆。 這一學(xué)期里,我社團以鍛煉自我為中心,開展一系列活動,下面是我們社團這學(xué)期的工作總結(jié): 一、本學(xué)期我社團獲獎成果: (1)在第三屆中國少年科學(xué)院“青少年走進科學(xué)世界——科學(xué)實驗嘉年華”活動中,初二8班司徒安獲得科學(xué)實驗銅質(zhì)獎?wù)拢怀醵?班黃浩宇獲得科學(xué)實驗金質(zhì)獎?wù)拢瑫r曹云老師獲得優(yōu)秀科技輔導(dǎo)教師。 (2)在深圳市第七屆“爭當小實驗家”——科學(xué)實驗嘉年華”活動中,初二8班司徒安獲得小實驗家一等獎;初二8班黃浩宇獲得小實驗家一等獎;初二11班沈嘉俊獲得小實驗家一等獎;初二8班馬廣元獲得小實驗家二等獎;初二11班溫梓建獲得小實驗家三等獎;初二11班葉鄴獲得小實驗家三等獎。 二、本學(xué)期工作不足之處: 受場地和器材的限制,很多活動沒有辦法展示和實際操作;受時間限制,有些知識沒有辦法深入。 針對以上的工作不足知錯,我們還一并制定了下學(xué)期的學(xué)習(xí)目標:根據(jù)開學(xué)初的教學(xué)目標合理制定教學(xué)計劃,做到更有效的安排。 總而言之,在本學(xué)期中,天文小實驗家社團取得了很多成績,并收獲了很多經(jīng)驗,這離不開校領(lǐng)導(dǎo)與學(xué)校對我們社團的支持,以及所有天文小實驗家社團社員的努力。但我們的工作中仍有很多值得改進、值得思考的地方。我們會在今后的工作中揚長避短,繼續(xù)完善我們的工作。 在2012年我們?yōu)樯鐖F譜寫一段溫馨愉快而有輝煌的樂章,面對即將到來的充滿挑戰(zhàn)的2013年,我們已經(jīng)做好了準備,我們將以最高昂的斗志,最飽滿的姿態(tài)迎接新的挑戰(zhàn),我們都堅信,社團的明天會更好!第三篇:實驗3 貪心算法(定稿)
第四篇:算法與數(shù)據(jù)結(jié)構(gòu)實驗
第五篇:2012~2013天文小實驗家社團年終總結(jié)