基本排序算法

1.內(nèi)排序之插入法排序

類似于打撲克牌時(shí),一邊抓牌,一邊整理牌的過程:

每抓一張牌就把它插入到適當(dāng)?shù)奈恢茫?/p>

牌抓完了,也整理完了。

---這種策略被稱為插入排序

示例
插入排序代碼和原理

2.內(nèi)排序之簡(jiǎn)單選擇法排序

首先在所有數(shù)組元素中找出最小值的元素,放在A[1]中;

接著在不包含A[1]的余下的數(shù)組元素中在找出最小值的元素,放置在A[2]中;

如此下去,一直到最后一個(gè)元素。

------這一排序策略被稱為簡(jiǎn)單選擇排序

簡(jiǎn)單選擇排序代碼和原理

3.內(nèi)排序之冒泡排序

一個(gè)輪次一個(gè)輪次的處理。

在每一個(gè)輪次中依次對(duì)待排序數(shù)組元素中相鄰的兩個(gè)元素進(jìn)行比較,將大的放前,小的放后--遞減排序(或者是講小的放前,大的放后---遞增排序)

當(dāng)沒有交換時(shí),則數(shù)據(jù)已被排好序

冒泡排序代碼和原理

4.內(nèi)排序之快速排序

從待排序列中任取一個(gè)元素(例如取第一個(gè))作為中心,所有比它小的元素放在左側(cè),所有比它大的元素放在右側(cè),形成左右兩個(gè)子序列;

然后再對(duì)各子序列重新選擇中心元素并依此規(guī)則調(diào)整,直到每個(gè)子序列的元素只剩一個(gè),此時(shí)便為有序序列了。

5.外排序之多路歸并排序

前提:待排序的數(shù)據(jù)保存在磁盤上,不能一次性裝入內(nèi)存,即排序者不能一次完整地看到和操縱所有數(shù)據(jù),需要將數(shù)據(jù)分批次裝入內(nèi)存分批處理的排序問題;

1.分成若干個(gè)子集合(子集合的數(shù)量根據(jù)內(nèi)存定),并排好序

排序好子集合
歸并排序--過程模擬
歸并排序--算法描述

6.PageRank網(wǎng)頁排序算法

網(wǎng)頁重要度問題抽象
計(jì)算網(wǎng)頁重要度
數(shù)學(xué)建模-示例
數(shù)學(xué)建模-鄰接矩陣
數(shù)學(xué)建模-轉(zhuǎn)移概率
矩陣乘法與反向鏈接的加權(quán)和
最后結(jié)果

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 本篇主要實(shí)現(xiàn)九(八)大排序算法,分別是冒泡排序,插入排序,選擇排序,希爾排序,歸并排序,快速排序,堆排序,計(jì)數(shù)排序...
    EINDEX閱讀 1,265評(píng)論 5 14
  • 1. 簡(jiǎn)介 排序與我們?nèi)粘I钪邢⑾⑾嚓P(guān),比如,我們要從電話簿中找到某個(gè)聯(lián)系人首先會(huì)按照姓氏排序、買火車票會(huì)按照出...
    DraculaWong閱讀 358評(píng)論 0 0
  • 文章大綱:1.總體排序算法對(duì)比圖2.9種排序算法介紹 冒泡排序 算法描述 冒泡排序是一個(gè)平均時(shí)間復(fù)雜度為O(n^2...
    檸檬烏冬面閱讀 4,105評(píng)論 0 73
  • 排序算法是最基本最常用的算法,不同的排序算法在不同的場(chǎng)景或應(yīng)用中會(huì)有不同的表現(xiàn),我們需要對(duì)各種排序算法熟練才能將它...
    若丶天下閱讀 448評(píng)論 0 1
  • 概述 排序有內(nèi)部排序和外部排序,內(nèi)部排序是數(shù)據(jù)記錄在內(nèi)存中進(jìn)行排序,而外部排序是因排序的數(shù)據(jù)很大,一次不能容納全部...
    蟻前閱讀 5,220評(píng)論 0 52