分類:
插入排序(直接插入,希爾排序)
選擇排序(簡單選擇,堆排序)
交換排序(氣泡排序,快速排序)
歸併排序
基數排序
直接插入排序:每一步將乙個待排序列根據乙個元素值的大小插入已經排好序的那部分去。首個元素歸入已排好序列
第二個元素跟已排好序列比較,放於那位子,後續元素遞推。
希爾排序:對直接插入排序的改進,首次步長為集合長度的二分之一,步長為奇數。比較元素集合每隔步長為一組進行直接插入排序,之後
步長為上輪步長的二分之一,當步長為1,整體進行直接插入排序。
簡單選擇排序:元素集合每次選出最小元素。首次遍歷找到最小值,與第乙個元素交換,第二次遍歷剩餘序列找出最小值與第二個元素交換。
堆排序:堆(完全二叉樹,孩子節點都大於等於父節點---小根堆,或者 孩子節點都小於等於父節點---大根堆)
因完全二叉樹,則i>=n/2, i表示葉子節點
先從n/2的位置開始調整,大根堆,根節點位置都大於孩子節點,跟小則互調。
之後調整n/2-1節點,遞推。如果互調後被調節點仍有孩子節點,則遞迴上述步驟
之後根節點與最後序列元素對調,並斷開與父節點關係。後續遞迴
氣泡排序:每次與其相鄰元素比較,一輪下來確定最大值放在最後。
快速排序:主要思想採用分治法。選首個元素為key,左指標從左到右,右指標從右到左。
如果左指標先動,相遇值比key大,相遇值需要跟key值交換。
右指標先動,尋找到比key小值,停下。左指標繼續,尋找比key大的值。知道,交換資料。遞迴
直到左右指標相遇,交換key值
歸併排序:二個一組,組內排序,二組二組進行歸併(2個指標都指向首個元素,依次對比,從小到大)
基數排序:個十百千位依次排序
演算法穩定性:相同關鍵字,他們的位子是穩定的
複雜度:
基數排序時間複雜度為o(n*m),其中n為資料個數,m為資料位數。
asl:平均查詢長度
順序查詢:從表的一端開始,按順序比對當前結點與關鍵字是否相等的乙個查詢方式。asl (n+1)/2
二分查詢: 有序序列每次折半對比。 asl log2(n+1)-1
分塊查詢:對於順序查詢的改進, 分為查詢表和索引表,查詢表進行分塊,塊內可以無序,塊間必須有序,第二塊所有元素必須比第一塊大,用索引表,記錄塊的最大關鍵字和塊的起始位址。 asl log2(n/s+1)+s/2
軟考 軟體設計師3 儲存結構
一 層次化儲存結構 cpu 暫存器 cache 內容訪問 記憶體 ram rom 外存 硬碟 光碟 u盤 cache 使用cache改善系統效能的依據是程式的區域性性原理 時間區域性性 空間區域性性 位址映象是將主存與cache的儲存空間劃分為若干個大小相等的頁 或塊 cache映象分為直接相聯映象...
軟考 軟體設計師速通筆記
本人於2021年6月一次性順利通過軟體設計師考試,在備考期間將參考書的內容整理成乙份接近六萬字的筆記。並輔助指導師弟師妹們在12月份也順利通過考試。下面簡單介紹軟考的作用和筆記的內容,最後分享備考資源,供各位自行複習順利通過考試。1.軟考全稱是計算機技術與軟體專業技術資格 水平 考試,由國家人力資源...
軟考 軟體設計師7 IP位址
由網路號和主機號組成,ipv4由32位組成,分4段8位 根據網路號的多少分成了a b c d e類網路 子網劃分 將乙個網路劃分成多個子網 取部分主機號當子網號 將多個網路合併成乙個大網路 取部分網路號當主機號 網路規劃 需求分析 網路功能要求 網路效能要求 網路執行環境要求 網路的可擴充性和可維護...