版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 課程設(shè)計(jì)題目: </p><p> 各種內(nèi)部排序性能比較</p><p><b> 摘 要</b></p><p> 該程序是用C++語(yǔ)言實(shí)現(xiàn)的,在程序中隨機(jī)生成N個(gè)數(shù)據(jù),對(duì)這些數(shù)進(jìn)行多種方法的排序,所用
2、的這些排序方法都是在數(shù)據(jù)結(jié)構(gòu)課中學(xué)習(xí)過(guò)的比如:插入排序、快速排序、冒泡排序等,而且還要對(duì)各個(gè)排序做出相應(yīng)的比較。</p><p> 該演示程序以用戶和計(jì)算機(jī)的對(duì)話方式執(zhí)行,每次測(cè)試完畢,列表顯示各種比較指標(biāo)值。</p><p> 最后對(duì)結(jié)果作出了簡(jiǎn)單分析并將結(jié)果排序,包括對(duì)各組數(shù)據(jù)得出結(jié)果波動(dòng)大小給予解析。</p><p> 關(guān)鍵字:插入排序、快速排序、選擇排
3、序、冒泡排序、比較的個(gè)數(shù)、改變的個(gè)數(shù)、所用的時(shí)間。</p><p><b> 目 錄</b></p><p> 摘要····················
4、3;····························Ⅰ</p><p> 目錄····
5、····································
6、3;········Ⅱ</p><p> 問(wèn)題描述·······················
7、3;··················1</p><p> 題目?jī)?nèi)容·············
8、3;························1</p><p> 基本要求·······
9、3;······························1</p><p> 測(cè)試數(shù)據(jù)·
10、3;····································1&
11、lt;/p><p> 需求分析································
12、183;·········2</p><p> 輸入輸出的形式和輸入值的范圍··················2</p><
13、;p> 程序所能達(dá)到的功能····························2</p><p> 概要設(shè)計(jì)·&
14、#183;····································
15、;····3</p><p> 程序所需的抽象數(shù)據(jù)類型························3</p><
16、;p> 系統(tǒng)功能模塊··································3&
17、lt;/p><p> 外部功能模塊圖································
18、; 3</p><p> 主函數(shù)功能模塊圖·······························
19、3</p><p> 詳細(xì)設(shè)計(jì)································
20、···········4</p><p> 4.1 整個(gè)程序的流程圖···················
21、3;··············4</p><p> 4.2 插入排序及其主要代碼················
22、··············5</p><p> 4.3 二路合并排序及其主要代碼················
23、··········6</p><p> 4.4 冒泡排序及其主要代碼····················
24、183;·········7</p><p> 4.5 快速排序及其主要代碼····················
25、3;·········8</p><p> 4.6 選擇排序及其主要代碼·····················
26、·········9</p><p> 5 調(diào)試分析······················
27、83;····················10</p><p> 5.1 主界面 ··········
28、3;································11</p><p> 5
29、.2 計(jì)算中的程序界面··································12<
30、;/p><p> 5.3 排序結(jié)束后的界面·······························
31、183;··13</p><p> 5.4 調(diào)試分析結(jié)果····························&
32、#183;·········14</p><p> 6 總結(jié)······················
33、;·························15</p><p><b> 1問(wèn)題描述</b></p><p>
34、;<b> 1.1題目?jī)?nèi)容</b></p><p> 本演示程序?qū)σ韵?種常用的內(nèi)部排序算法進(jìn)行實(shí)測(cè)比較:起泡排序、直接插入排序、簡(jiǎn)單選擇排序、快速排序、二路合并排序。</p><p> 主要工作是設(shè)法在已知算法中的適當(dāng)位置插入對(duì)關(guān)鍵字的比較次數(shù)和移動(dòng)次數(shù)的計(jì)數(shù)操作。程序還可以考慮幾組數(shù)據(jù)的典型性,如:正序、逆序和不同程度的亂序。注意采用分塊調(diào)試的方法。<
35、/p><p><b> 1.2基本要求</b></p><p> 1. 待排序表的表長(zhǎng)不小于100,其中數(shù)據(jù)要用的隨機(jī)數(shù)產(chǎn)生程序產(chǎn)生,至少要用5組不同的輸入數(shù)據(jù)體比較,比較的指標(biāo)為:有關(guān)鍵字參加的比較次數(shù)和關(guān)鍵字的移動(dòng)次數(shù)(關(guān)鍵字交換計(jì)為3次的移動(dòng))。</p><p> 2. 演示程序以用戶和計(jì)算機(jī)的對(duì)話方式執(zhí)行,即在計(jì)算機(jī)終端上顯示“提示信
36、息”下,用戶可由鍵盤輸入待排序表的表長(zhǎng)和不同的測(cè)試數(shù)據(jù)的數(shù)組,每次測(cè)試完畢,列表顯示各種比較指標(biāo)值。</p><p> 3.最后對(duì)結(jié)果作出簡(jiǎn)單分析,包括對(duì)各組數(shù)據(jù)得出結(jié)果波動(dòng)大小給予解析。</p><p><b> 1.3 測(cè)試數(shù)據(jù)</b></p><p> 由函數(shù)rand隨機(jī)產(chǎn)生的數(shù)據(jù)。</p><p><
37、b> 2 需求分析</b></p><p> 2.1輸入輸出的形式和輸入值的范圍</p><p> 由于程序中所需的數(shù)據(jù)都是有函數(shù)隨機(jī)生成的整形數(shù),不需要用戶自己輸入,用戶只需要對(duì)演示程序中的一些提示做一些必要的選擇以便于程序的執(zhí)行。</p><p> 程序輸出的是對(duì)五種排序做的一些比較,即輸出五種排序各排序過(guò)程中所比較的數(shù)據(jù)的個(gè)數(shù),交換的
38、數(shù)據(jù)的次數(shù),和排序完成所用的時(shí)間。六種排序依次在計(jì)算機(jī)終端上顯示,便于用戶觀察。</p><p> 輸入值的范圍等價(jià)于程序中隨機(jī)生成的數(shù)據(jù)的個(gè)數(shù),即待排序表的表長(zhǎng)不小于100,至少要用5組不同的輸入數(shù)據(jù)體比較,比較的指標(biāo)為:有關(guān)鍵字參加的比較次數(shù)和關(guān)鍵字的移動(dòng)次數(shù)(關(guān)鍵字交換計(jì)為3次的移動(dòng)),在該程序中,隨機(jī)生成的數(shù)據(jù)個(gè)數(shù)被初始化為了10000,數(shù)據(jù)越大就越容易比較。</p><p>
39、 2.2程序所能達(dá)到的功能</p><p> 輸入N個(gè)隨機(jī)整數(shù),對(duì)這些數(shù)進(jìn)行多種方法進(jìn)行排序,并對(duì)這些排序做比較,在屏幕上輸出每種排序方法所比較的次數(shù),交換的次數(shù),和用掉的時(shí)間。</p><p> 任意性:系統(tǒng)首先生成10000個(gè)隨機(jī)整數(shù),然后分別用不同的排序方法對(duì)其進(jìn)行升序排序,給出每種方法的比較次數(shù)或所用時(shí)間</p><p> 友好性:界面要友好,輸入有提
40、示,盡量展示人性化</p><p> 可讀性:源程序代碼清晰、有層次</p><p> 健壯性:用戶輸入非法數(shù)據(jù)時(shí),系統(tǒng)要及時(shí)給出警告信息</p><p><b> 3 概要設(shè)計(jì)</b></p><p> 3.1程序所需的抽象數(shù)據(jù)類型</p><p> typedef struct St
41、udentData</p><p><b> { </b></p><p> int num; //存放關(guān)鍵字,如零時(shí)變量,還有哨兵</p><p><b> }Data;</b></p><p> typedef struct LinkList</p><p>&l
42、t;b> {</b></p><p> int Length; //存放隨機(jī)數(shù)的個(gè)數(shù)</p><p> Data Record[MAXSIZE];//用數(shù)組存放所有的隨機(jī)數(shù)</p><p> }LinkList;</p><p> 3.2 系統(tǒng)功能模塊</p><p> 3.2.1 外部
43、功能模塊圖</p><p> 圖 3.2.1 外部功能模塊圖</p><p> 3.2.2 主函數(shù)功能模塊圖</p><p> 圖 3.2.2 主函數(shù)功能模塊圖</p><p><b> 4詳細(xì)設(shè)計(jì)</b></p><p> 4.1 整個(gè)程序的流程圖</p><p&g
44、t; 圖4.1.1 整個(gè)程序的流程圖</p><p> ·4.2 插入排序及其主要代碼</p><p> 直接插入排序(Straight Insertion Sort)是一種最簡(jiǎn)單的排序方法,它的基本操作是將一個(gè)紀(jì)錄插入到已排好序的有序表中,從而得到一個(gè)新的、紀(jì)錄數(shù)增1的有序表。</p><p> 例如,已知待排序的一組紀(jì)錄的初始排列如下所示:&l
45、t;/p><p> R(49)、R(38)、R(65)、R(97)、R(76)、R(13)、R(27)、R(49)…… (4-1)</p><p> 假設(shè)在排序過(guò)程中,前4個(gè)記錄已按關(guān)鍵字遞增的次序重新排列,構(gòu)成一個(gè)含4個(gè)紀(jì)錄的有序序列</p><p> { R(38)、R(49)、R(65)、R(97) }
46、 (4-2) 現(xiàn)要將式(4-1)中的第5個(gè)紀(jì)錄插入上述序列,以得到一個(gè)新的含5個(gè)紀(jì)錄的有序序列,則首先要在式(4-2)的序列中進(jìn)行查找以確定R(76)、所應(yīng)插入的位置,然后進(jìn)行插入。假設(shè)從R(97)、起向左進(jìn)行順序查找,由于65<76<97,則R(76)應(yīng)插入在R(65)和R(97)之間,從而等到下列新的有序序列</p><p> { R(38)、R(49)、R(65)、R(76)、
47、R(97) } (4-3)稱從式(4-2)到(4-3)的過(guò)程為一趟直接插入排序。一般情況下,第i趟直接插入排序的操作為:在含有i-1個(gè)紀(jì)錄的有序子序列r[1...i-1]中插入一個(gè)記錄r[i]后,變成含有i個(gè)記錄的有序子序列r[1...i];并且,和順序查找類似,為了在查找插入位置的過(guò)程中避免數(shù)組下標(biāo)出界,在r[0]處設(shè)置監(jiān)視哨。在自i-1起往前搜索的過(guò)程中,可以同時(shí)后移記錄。整個(gè)排序
48、過(guò)程為進(jìn)行n-1趟插入,即:先將序列中的第1個(gè)記錄看成是一個(gè)有序的子序列,然后從第2個(gè)記錄起逐個(gè)進(jìn)行插入,直至整個(gè)序列變成按關(guān)鍵字非遞減有序序列為止。代碼如下:</p><p> [初始關(guān)鍵字]: (49) 38 65 97 76 13 27 49</p><p> i = 2: (38) (38 49) 65 97 76 13
49、 27 49</p><p> i = 3: (38) (38 49 65) 97 76 13 27 49</p><p> i = 4: (38) (38 49 65 97) 76 13 27 49</p><p> i = 5: (76) (38 49 65
50、76 97) 13 27 49</p><p> i = 6: (13) (13 38 49 65 76 97) 27 49</p><p> i = 7: (27) (13 27 38 49 65 76 97) 49</p><p> i = 8: (49) (1
51、3 27 38 49 49 65 76 97)</p><p><b> 監(jiān)視哨L.r[0]</b></p><p> 4.3二路合并排序及其主要代碼</p><p> 二路合并排序是另一類時(shí)間復(fù)雜度為O(nlog2n)的排序方法,它的基本思想是:將有n個(gè)元素的序列看成是n個(gè)長(zhǎng)度為1的有序子序列,然后兩兩合并子
52、序列,得到【n/2】個(gè)長(zhǎng)度為2或1的有序子序列;再兩兩合并,…,直到得到一個(gè)長(zhǎng)度為n的有序子序列時(shí)結(jié)束,如圖所示。</p><p> template <class T></p><p> void Merge(T A[],int i1,int j1,int i2,int j2) </p><p> { // i1,j1是子序列1的下、上界,
53、i1,j2是子序列2的下、上界</p><p> T *Temp=new T[j2-i1+1]; //分配能存放兩個(gè)子序列的臨時(shí)數(shù)組</p><p> int i=i1,j=i2,k=0; //i,j是兩個(gè)子序列的游動(dòng)指針,k是Temp的游動(dòng)指針</p><p> while (i<=j1&am
54、p;&j<=j2) //若兩個(gè)子序列都不空,則循環(huán)</p><p> if (A[i]<=A[j]) Temp[k++]=A[i++]; //將A[i]和A[j]中較小的存入Temp[k]</p><p> else Temp[k++]=A[j++];</p><p> while (i<=j1) T
55、emp[k++]=A[i++]; //若第一個(gè)子序列中還有剩余的就存入Temp</p><p> while (j<=j2) Temp[k++]=A[j++]; //若第二個(gè)子序列中還有剩余的就存入Temp</p><p> for (i=0; i<k; i++) A[i1++]=Temp[i]; //將臨時(shí)數(shù)組中的元素倒回A</p><
56、p> delete [] Temp; </p><p><b> }</b></p><p> template <class T></p><p> void MergeSort(T A[], int n)</p><p><b> {
57、</b></p><p> int i1,j1,i2,j2; //i1,j1是子序列1的下、上界,i2,j2是子序列2的下、上界</p><p> int size=1; //子序列中元素個(gè)數(shù),初始化為1。</p><p> while (size<n){ </p><p
58、><b> i1=0; </b></p><p> while (i1+size<n){ //若i1+size<n,則說(shuō)明存在兩個(gè)子序列,需再兩兩合并</p><p> i2=i1+size; //確定子序列2的下界</p><p> j1=i2-1; /
59、/確定子序列1的上界</p><p> if (i2+size-1>n-1) </p><p> j2=n-1; //若第2個(gè)子序列中不足size個(gè)元素,則置子序列2的上界j2=n-1</p><p> else j2=i2+size-1; //否則有size個(gè),置j2=i2+size-1</p><p> Me
60、rge(A,i1,j1,i2,j2); //合并相鄰兩個(gè)子序列</p><p> i1=j2+1; //確定下一次合并第一個(gè)子序列的下界</p><p><b> } </b></p><p> size*=2; //元素個(gè)數(shù)擴(kuò)大一倍</p>
61、<p><b> }</b></p><p><b> }</b></p><p> 程序只將A數(shù)組中相鄰的兩個(gè)子序列(A[i1],A[i1+1],.....,A[j1])和(A[i2],A[i2+1],...,A[j2])合并為一個(gè)子序列,其中i1、ji是子序列1在數(shù)組A中的下標(biāo),表示子序列的下、上界(i2<j2)。由于兩
62、個(gè)子序列是相鄰的,即j1+1=i2,因此它們中的元素總數(shù)為j2-i1+1。為實(shí)現(xiàn)上述兩個(gè)子序列的合并,程序一開始就分配能存放兩個(gè)子序列的臨時(shí)數(shù)組(Temp[0],Temp[1],...,Temp[j2-i1]),用于保存合并的中間結(jié)果,本地合并結(jié)束后,再將臨時(shí)數(shù)組中的元素“倒回”A中。</p><p> 4.4 冒泡排序及其主要算法</p><p> 冒泡排序(bubble sort)
63、的過(guò)程很簡(jiǎn)單。首先將第一個(gè)記錄的關(guān)鍵字和第二個(gè)記錄的關(guān)鍵字進(jìn)行比較,若為逆序,則將兩個(gè)記錄交換之,然后比較第二個(gè)記錄和第三個(gè)記錄的關(guān)鍵字。依次類推,直至第n-1個(gè)記錄和第n個(gè)記錄的關(guān)鍵字進(jìn)行比較為止。上述過(guò)程稱做第一趟冒泡排序,其結(jié)果使得關(guān)鍵字最大的記錄被安置到最后一個(gè)記錄的位置上。然后進(jìn)行第二趟冒泡排序,對(duì)前n-1個(gè)記錄進(jìn)行同樣操作,其結(jié)果是使關(guān)鍵字次大的記錄被安置到第n-1個(gè)記錄的位置上。一般地,第i趟冒泡排序是從L.r[1]到L.
64、[n-i+1]依次比較相鄰兩個(gè)記錄的關(guān)鍵字,并在“逆序”是交換相鄰記錄,其結(jié)果是這n-i+1個(gè)記錄中關(guān)鍵字最大的紀(jì)錄被交換到第n-i+1的位置上。整個(gè)冒泡排序過(guò)程需進(jìn)行k(1<=k<n)趟,顯然,判別冒泡排序結(jié)束的條件應(yīng)該是“在一趟排序過(guò)程中沒(méi)有進(jìn)行過(guò)交換記錄的操作”。</p><p> 4.5 快速排序及其主要代碼</p><p> 快速排序(Quick sort)是對(duì)冒
65、泡排序的一種改進(jìn)。它的基本思想是,通過(guò)一趟排序?qū)⒋判蛴涗浄指畛瑟?dú)立的兩部分,其中一部分記錄的關(guān)鍵字均比另一部分記錄的關(guān)鍵字小,則可分別對(duì)這兩部分記錄繼續(xù)進(jìn)行排序,以達(dá)到整個(gè)序列有序。</p><p> 一趟快速排序的具體做法是:附設(shè)兩個(gè)指針low和high,它們的初值分別為low和high,設(shè)樞軸記錄的關(guān)鍵字為pivotkey,則首先從high所指位置起向前搜索找到第一個(gè)關(guān)鍵字小于pivotkey的記錄和樞軸
66、記錄互相交換,然后從low所指位置起向后搜索,找到第一個(gè)關(guān)鍵字大于pivotkey的記錄和樞軸記錄交換,重復(fù)這兩步直至low=high為止。其算法如下:</p><p> 4.6 選擇排序及其主要代碼</p><p> 選擇排序(Selection sort)的基本思想是:每一趟在n-i+1(i=1,2,…,n-1)個(gè)記錄中選取關(guān)鍵字最小的記錄作為有序序列中的第i個(gè)記錄。其中最簡(jiǎn)單的是
67、簡(jiǎn)單選擇排序。一趟簡(jiǎn)單選擇排序的操作為:通過(guò)n-i次的關(guān)鍵字間的比較,從n-i+1個(gè)記錄中選出關(guān)鍵字最小的記錄,并和第i個(gè)記錄交換之。程序中選擇排序的代碼如下:</p><p> 4.7 堆排序及其主要代碼</p><p> 堆排序(Heap Sort)只需要一個(gè)記錄大小的輔助空間,每個(gè)待排序的記錄僅占有一個(gè)存儲(chǔ)空間。若在輸出堆頂?shù)淖钚≈抵?,使得剩余n-1個(gè)元素的序列重又建成一個(gè)堆,
68、則得到n個(gè)元素中的次小值。如此反復(fù)執(zhí)行,便能得到一個(gè)無(wú)序序列,這個(gè)過(guò)程稱之為堆排序。</p><p> 由一個(gè)無(wú)序序列建成一個(gè)堆,首先以堆頂元素和其左右子樹根結(jié)點(diǎn)的值比較之,由于右子樹根結(jié)點(diǎn)的值小于左子樹根結(jié)點(diǎn)的值且小于根結(jié)點(diǎn)的值,則將29和97交換之;由于97替代了27后破壞了右子樹的“堆”,則需進(jìn)行和上述相同的調(diào)整,直至葉子結(jié)點(diǎn),調(diào)整后堆頂為n-1個(gè)元素中的最小值。重復(fù)上述過(guò)程,將堆頂元素27和堆中最后一個(gè)
69、元素97交換且調(diào)整,得到新堆。使記錄序列按關(guān)鍵字非遞減有序序列排列,則在堆排序的算法中先建一個(gè)“大頂堆”,即先選得一個(gè)關(guān)鍵字為最大的記錄并與序列中最后一個(gè)記錄交換,然后對(duì)序列中前n-1記錄進(jìn)行篩選,重新將它調(diào)整為一個(gè)“大頂堆”,如此反復(fù)直至排序結(jié)束。堆排序的代碼如下:</p><p><b> 5調(diào)試分析</b></p><p><b> 5.1 主界面
70、</b></p><p> 圖 5.1 程序主界面圖</p><p> 5.2 計(jì)算中的程序界面</p><p> 圖 5.2 計(jì)算中的程序界面</p><p> 5.3 排序結(jié)束后的界面</p><p> 圖 5.3 排序結(jié)束后的界面</p><p> 5.4 調(diào)試分析
71、結(jié)果</p><p> 插入排序:比較的次數(shù)為25086233,交換的次數(shù)為25066249,花費(fèi)的時(shí)間為1282ms;希爾排序:比較的次數(shù)為3804518,交換的次數(shù)為3751672,花費(fèi)的時(shí)間為203ms;快速排序:比較的次數(shù)為150261,交換的次數(shù)為62844,花費(fèi)的時(shí)間為0ms;堆排序:比較的次數(shù)為235330,交換的次數(shù)為124185,花費(fèi)的時(shí)間為15ms;冒泡排序:比較的次數(shù)為49995000,交
72、換的次數(shù)為27345138,花費(fèi)的時(shí)間為4360ms;選擇排序:比較的次數(shù)為50005000,交換的次數(shù)為9991,花費(fèi)的時(shí)間為2765。</p><p> 算法效率是依據(jù)算法執(zhí)行的時(shí)間來(lái)看的,從上面的數(shù)據(jù)來(lái)看,雖然插入排序的算法簡(jiǎn)潔,容易實(shí)現(xiàn),但是從它執(zhí)行的時(shí)間1282ms來(lái)看它的效率并不是很高,而且比較次數(shù)和交換次數(shù)都比較多,在這六種排序中效率是很底的;希爾排序的時(shí)間復(fù)雜度較直接排序低,在六種內(nèi)部排序中效率
73、居中;分析冒泡排序的效率,容易看出,若初始序列為“正序”序列,則只進(jìn)行一趟排序,在排序過(guò)程中進(jìn)行n-1次關(guān)鍵字的比較,反之,則需進(jìn)行n-1趟排序,總的時(shí)間復(fù)雜度為O(n*n),在該程序中,冒泡排序所花費(fèi)的時(shí)間為4360,是所有排序中花費(fèi)最多的,可見效率是很底的??焖倥判蚴菍?duì)冒泡排序的一種改進(jìn),它所用的時(shí)間幾乎為0,交換的比較的次數(shù)都比較少;堆排序僅次于快速排序,花費(fèi)的時(shí)間只有15ms。由以上討論可知,從時(shí)間上看,快速排序的平均性能都優(yōu)于
74、其他4種排序。</p><p><b> 6 總 結(jié)</b></p><p> 這次課程設(shè)計(jì)運(yùn)用到了大學(xué)c++語(yǔ)言和大二所學(xué)習(xí)到的數(shù)據(jù)結(jié)構(gòu)知識(shí)點(diǎn),課設(shè)題目要求不僅要求對(duì)課本知識(shí)有較深刻的了解,同時(shí)要求程序設(shè)計(jì)者有較強(qiáng)的思維和動(dòng)手能力。這次課設(shè)使我了解我編程思想和編程技巧,也認(rèn)識(shí)了軟件生命周期的各個(gè)環(huán)境,包括構(gòu)思、設(shè)計(jì)、編寫、調(diào)試、發(fā)布、文檔化、維護(hù)和修訂。編程的風(fēng)
75、格也很重要,同學(xué)只關(guān)心程序運(yùn)行的結(jié)果,而對(duì)程序代碼的結(jié)構(gòu)的良好絲毫不在意。這是非常不可取的,如果我們希望將來(lái)從事編程工作,在這一點(diǎn)上該引起足夠的重視。這是嚴(yán)謹(jǐn)?shù)膽B(tài)度,很重要!</p><p> 在寫程序的過(guò)程中遇到的麻煩不是很多,由于課本上都把最基本的算法寫的很清楚,我們只需要去理解,把分散的知識(shí)聚攏來(lái),用學(xué)過(guò)的知識(shí)把一個(gè)一個(gè)的排序恰當(dāng)?shù)倪B接起來(lái)就能把程序的主要部分寫好,再加一修改就可以了,而且在這一學(xué)期的學(xué)習(xí)
76、生活中,我們已經(jīng)把大多數(shù)的排序都寫好了,所以這對(duì)于我們來(lái)說(shuō)還是比較輕松的一件事,但是在寫程序的過(guò)程中還是會(huì)遇到一些麻煩,那就需要我們的小心謹(jǐn)慎和積極探索的精神了,爭(zhēng)取把程序?qū)懙母昝馈?lt;/p><p> 做課程設(shè)計(jì)不僅讓我修補(bǔ)了以前學(xué)習(xí)的漏洞,也讓我知道一個(gè)道理:編程需要興趣和實(shí)際動(dòng)手。這應(yīng)該可以借鑒在老師的教學(xué)工作上。創(chuàng)新思維至關(guān)重要,這不僅能讓我們寫出精簡(jiǎn)的代碼,也有助于開發(fā)出高效的程序。</p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告---各種內(nèi)排序性能比較
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--內(nèi)部排序算法的比較
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)----內(nèi)部排序算法性能分析
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--內(nèi)部排序演示
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---排序算法比較
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--排序算法比較
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告--內(nèi)部排序算法的性能分析
- 數(shù)據(jù)結(jié)構(gòu)各種排序算法的課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--排序算法
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告--排序
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---排序綜合
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)---希爾排序,冒泡排序,快速排序
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)--冒泡排序法
- 數(shù)據(jù)結(jié)構(gòu)排序綜合課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)排序綜合課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)結(jié)構(gòu)排序綜合課程設(shè)計(jì)報(bào)告
- 《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計(jì)報(bào)告---排序算法的實(shí)現(xiàn)與比較
- 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)—綜合排序的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論