C語言II 作業02

2022-07-02 17:00:11 字數 1859 閱讀 3552

這個作業屬於哪個課程

計科三班

這個作業要求在**

這個作業的目標

學習和理解陣列,排序演算法

學號20209015

解法1

解法2

解法3

窮舉法:將陣列中的數乙個乙個去嘗試,直到找到結果。

二分法:將陣列分為兩組,從中間開始嘗試,直到找到結果。

二分法的速度比窮舉法快

1.氣泡排序:比較相鄰的兩個數,如果前者比後者大,則進行交換。每一輪排序結束,選出乙個未排序中最大的數放到陣列後面。

2.快速排序:選取乙個基準元素,通常為陣列最後乙個元素(或者第乙個元素)。從前向後遍歷陣列,當遇到小於基準元素的元素時,把它和左邊第乙個大於基準元素的元素進行交換。

3.希爾排序:在插入排序的基礎上進行了改進,它的基本思路是先將整個資料序列分割成若干子串行分別進行直接插入排序,待整個序列中的記錄基本有序時,再對全部資料進行依次直接插入排序

4.歸併排序:歸併排序嚴格遵循從左到右或從右到左的順序合併子資料序列, 它不會改變相同資料之間的相對順序, 因此歸併排序是一種穩定的排序演算法.

5.選擇排序:在陣列中選擇乙個最大或者最小的數排在前面,再從剩下的數中選擇排在後面。

6.插入排序:它通過構建有序序列,對於未排序的資料序列,在已排序序列中從後向前掃瞄,找到相應的位置並插入。

7.堆排序:先把陣列構造成乙個大頂堆(父親節點大於其子節點),然後把堆頂(陣列最大值,陣列第乙個元素)和陣列最後乙個元素交換,這樣就把最大值放到了陣列最後邊。

1.學習進度條

周/日期

這週所花時間

**行學到的知識點簡介

目前比較困惑的問題

2/3.9-3.13

12h203

一些簡單的查詢運算方法

什麼情況下該運用哪種查詢運演算法比較好,現在不是很清楚!

2.累積**行和部落格字數(5分)

3.1 學習內容總結

3.2學習體會

2.感覺還是對各種排序方法運用不是很熟練,比如什麼時候該用哪種排序方法更省力就搞不清楚了,希望老師下次課能講講。

3.通過網上查詢資料時發現又多好多不知道的東西,比如時間複雜度、空間複雜度等等,好難啊!

C語言II 作業02

這個作業屬於哪個課程 這個作業要求在 homework 11810 這個作業的目標 學習了解陣列,掌握用一維陣列進行程式設計,選擇排序法和二分查詢法 學號 20208991 解法一 比較簡單,需要將陣列中每個數兩兩與給定值去比較,判斷兩個值之和是否為給定值。解法二 較複雜,需要用給定值減去陣列中的其...

C語言II 作業02

這個作業屬於哪個課程 這個作業要求在 homework 11822 這個作業的目標 使我們了解並掌握一維陣列,並且自行去了解排序演算法 學號 20209179 一 本週教學內容 目標 第七章 陣列 7.17.1 輸出所有大於平均值的數 1.學生知道在哪種情況下可以使用構造資料型別 陣列進行資料的處理...

C語言II 作業02

這個作業屬於哪個課程 這個作業要求在 homework 11810 這個作業的目標 了解陣列,掌握用一維陣列進行程式設計,選擇排序法和二分查詢法 學號 20208962 7 1 年齡與疾病 7 2 選擇排序法 能否快速找出乙個陣列中的兩個數字,讓這兩個數字之和等於乙個給定的值,為了簡化起見,我們假設...