計算機基礎知識課程設計
1. 計算機軟體技術基礎課程設計
一.選擇排序
1. 基本思想:
每一趟從待排序的數據元素中選出最小(或最大)的一個元素,順序放在已排好序的數列的最後,直到全部待排序的數據元素排完。
2. 排序過程:
【示例】:
初始關鍵字 [49 38 65 97 76 13 27 49]
第一趟排序後 13 〔38 65 97 76 49 27 49]
第二趟排序後 13 27 〔65 97 76 49 38 49]
第三趟排序後 13 27 38 [97 76 49 65 49]
第四趟排序後 13 27 38 49 [49 97 65 76]
第五趟排序後 13 27 38 49 49 [97 97 76]
第六趟排序後 13 27 38 49 49 76 [76 97]
第七趟排序後 13 27 38 49 49 76 76 [ 97]
最後排序結果 13 27 38 49 49 76 76 97
3.
void selectionSort(Type* arr,long len)
{
long i=0,j=0;/*iterator value*/
long maxPos;
assertF(arr!=NULL,"In InsertSort sort,arr is NULL\n");
for(i=len-1;i>=1;i--)
{
maxPos=i;
for(j=0;j<i;j++)
if(arr[maxPos]<arr[j])maxPos=j;
if(maxPos!=i)swapArrData(arr,maxPos,i);
}
}
選擇排序法的第一層循環從起始元素開始選到倒數第二個元素,主要是在每次進入的第二層循環之前,將外層循環的下標賦值給臨時變數,接下來的第二層循環中,如果發現有比這個最小位置處的元素更小的元素,則將那個更小的元素的下標賦給臨時變數,最後,在二層循環退出後,如果臨時變數改變,則說明,有比當前外層循環位置更小的元素,需要將這兩個元素交換.
二.直接插入排序
插入排序(Insertion Sort)的基本思想是:每次將一個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子文件中的適當位置,直到全部記錄插入完成為止。
直接插入排序
直接插入排序(Straight Insertion Sort):將一個記錄插入到排好序的有序表中,從而得到一個新的、記錄數增1的有序表。
直接插入排序演算法
哨兵(監視哨)有兩個作用:一是作為臨變數存放R[i](當前要進行比較的關鍵字)的副本;二是在查找循環中用來監視下標變數j是否越界。
當文件的初始狀態不同時,直接插入排序所耗費的時間是有很大差異的。最好情況是文件初態為正序,此時演算法的時間復雜度為O(n),最壞情況是文件初態為反序,相應的時間復雜度為O(n2),演算法的平均時間復雜度是O(n2)。演算法的輔助空間復雜度是O(1),是一個就地排序。
直接插入排序是穩定的排序方法。
三. 冒泡排序
[演算法思想]:將被排序的記錄數組R[1..n]垂直排列,每個記錄R[i]看作是重量為R[i].key的氣泡。根據輕氣泡不能在重氣泡之下的原則,從下往上掃描數組R:凡掃描到違反本原則的輕氣泡,就使其向上"飄浮"。如此反復進行,直到最後任何兩個氣泡都是輕者在上,重者在下為止。
[演算法]:
void BubbleSort(SeqList R) {
//R(l..n)是待排序的文件,採用自下向上掃描,對R做冒泡排序
int i,j;
Boolean exchange; //交換標志
for(i=1;i<n;i++){ //最多做n-1趟排序
exchange=FALSE; //本趟排序開始前,交換標志應為假
for(j=n-1;j>=i;j--) //對當前無序區R[i..n]自下向上掃描
if(R[j+1].key<R[j].key){//交換記錄
R[0]=R[j+1]; //R[0]不是哨兵,僅做暫存單元
R[j+1]=R[j];
R[j]=R[0];
exchange=TRUE; //發生了交換,故將交換標志置為真
}
if(!exchange) return;//本趟排序未發生交換,提前終止演算法
} //endfor(外循環)
} //BubbleSort
詳細內容,附圖:
http://hi..com/_%E2d_%B7%B3_%DE%B2%C2%D2/blog/item/2177742ea4a265544ec22621.html
2. 計算機網路課程設計
二級定位為程序員,考核內容包括公共基礎知識和程序設計。所有科目對基礎知專識作統一要求,使用屬統一的公共基礎知識考試大綱和教程。二級公共基礎知識在各科考試選擇題中體現。程序設計部分,主要考查考生對程序設計語言使用和編程調試等基本能力,在選擇題和操作題中加以體現。
3. 計算機專業課程設計求助
把具體的題目和要求發出來看一下吧
4. 怎麼做計算機課程設計
課程設計是課程工作者從事的一切活動,這包含他對達成課程目標所需的專因素、技術和程序屬,進行構想、計劃、選擇的慎思過程
課程設計是指教育科研機構的專家學者對課程的研究並擬訂出課程學習方案,為決策部門服務,擬訂教育教學的目的任務,確定選材范圍和教學科目,編寫教材等都屬於課程設計活動
相關資料加本人或提供郵箱
5. 計算機軟體基礎課程設計代碼及課程設計報告
一.選擇排序
1. 基本思想:
每一趟從待排序的數據元素中選出最小(或最大)的一個元素,順序放在已排好序的數列的最後,直到全部待排序的數據元素排完。
2. 排序過程:
:
初始關鍵字 [49 38 65 97 76 13 27 49]
第一趟排序後 13 〔38 65 97 76 49 27 49]
第二趟排序後 13 27 〔65 97 76 49 38 49]
第三趟排序後 13 27 38 [97 76 49 65 49]
第四趟排序後 13 27 38 49 [49 97 65 76]
第五趟排序後 13 27 38 49 49 [97 97 76]
第六趟排序後 13 27 38 49 49 76 [76 97]
第七趟排序後 13 27 38 49 49 76 76 [ 97]
最後排序結果 13 27 38 49 49 76 76 97
3.
void selectionSort(Type* arr,long len)
{
long i=0,j=0;/*iterator value*/
long maxPos;
assertF(arr!=NULL,"In InsertSort sort,arr is NULL\n");
for(i=len-1;i>=1;i--)
{
maxPos=i;
for(j=0;j<i;j++)
if(arr[maxPos]<arr[j])maxPos=j;
if(maxPos!=i)swapArrData(arr,maxPos,i);
}
}
選擇排序法的第一層循環從起始元素開始選到倒數第二個元素,主要是在每次進入的第二層循環之前,將外層循環的下標賦值給臨時變數,接下來的第二層循環中,如果發現有比這個最小位置處的元素更小的元素,則將那個更小的元素的下標賦給臨時變數,最後,在二層循環退出後,如果臨時變數改變,則說明,有比當前外層循環位置更小的元素,需要將這兩個元素交換.
二.直接插入排序
插入排序(Insertion Sort)的基本思想是:每次將一個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子文件中的適當位置,直到全部記錄插入完成為止。
直接插入排序
直接插入排序(Straight Insertion Sort):將一個記錄插入到排好序的有序表中,從而得到一個新的、記錄數增1的有序表。
直接插入排序演算法
哨兵(監視哨)有兩個作用:一是作為臨變數存放R[i](當前要進行比較的關鍵字)的副本;二是在查找循環中用來監視下標變數j是否越界。
當文件的初始狀態不同時,直接插入排序所耗費的時間是有很大差異的。最好情況是文件初態為正序,此時演算法的時間復雜度為O(n),最壞情況是文件初態為反序,相應的時間復雜度為O(n2),演算法的平均時間復雜度是O(n2)。演算法的輔助空間復雜度是O(1),是一個就地排序。
直接插入排序是穩定的排序方法。
三. 冒泡排序
[演算法思想]:將被排序的記錄數組R[1..n]垂直排列,每個記錄R[i]看作是重量為R[i].key的氣泡。根據輕氣泡不能在重氣泡之下的原則,從下往上掃描數組R:凡掃描到違反本原則的輕氣泡,就使其向上"飄浮"。如此反復進行,直到最後任何兩個氣泡都是輕者在上,重者在下為止。
[演算法]:
void BubbleSort(SeqList R) {
//R(l..n)是待排序的文件,採用自下向上掃描,對R做冒泡排序
int i,j;
Boolean exchange; //交換標志
for(i=1;i<n;i++){ //最多做n-1趟排序
exchange=FALSE; //本趟排序開始前,交換標志應為假
for(j=n-1;j>=i;j--) //對當前無序區R[i..n]自下向上掃描
if(R[j+1].key<R[j].key){//交換記錄
R[0]=R[j+1]; //R[0]不是哨兵,僅做暫存單元
R[j+1]=R[j];
R[j]=R[0];
exchange=TRUE; //發生了交換,故將交換標志置為真
}
if(!exchange) return;//本趟排序未發生交換,提前終止演算法
} //endfor(外循環)
} //BubbleSort
詳細內容,附圖:
6. 計算機學院課程設計
我用delphi+access作了一個銷售管理系統,通用性比較強,同時也寫有文檔,如果需要,請加分,告訴我你得qq,直接發給你
7. 計算機專業綜合課程設計題目
寫作指導
http://www.downlw.com/news1.asp?news_id=53
免費的範文:
http://www.downlw.com/views.asp?hw_id=117
8. 急!!計算機專業課程設計
抓住機遇,迎接挑戰,自己干啊!考驗你的時候到了,祝你利用這個機會成為高手,用別人的源碼不是本事啊。
9. 求計算機課程設計!
銀行家演算法