數(shù)據(jù)結(jié)構(gòu) 排序的一些基本概念

排序概念

排序:將一個(gè)數(shù)據(jù)元素(或記錄)的任意序列疚颊,重新排列成一個(gè)按關(guān)鍵字有序的序列兴使。

排序定義

假設(shè)含n個(gè)記錄的序列為:
{R0,R1,...,R(n-1)} (1)
其相應(yīng)的關(guān)鍵字序列為:
{K0,K1,...,K(n-1)} (2)
需確定0,1,2立由,n-1的一種排序p0,p1,...,p(n-1)给赞,使其相應(yīng)的關(guān)鍵字滿足如下的非遞減(或非遞增)關(guān)系:
Kp0<=Kp1<=...<=Kp(n-1)
即使式(1)的序列成為一個(gè)按關(guān)鍵字有序的序列:
{Rp0,Rp1,...,Rp(n-1)} (3)

穩(wěn)定排序和不穩(wěn)定排序

關(guān)鍵Ki可以是記錄Ri(i=0,1,2,...,n-1)的主關(guān)鍵字舀武,也可以是記錄Ri的次關(guān)鍵字,甚至是若干數(shù)據(jù)項(xiàng)的組合骏啰。
若Ki是主關(guān)鍵字节吮,則任何一個(gè)記錄的無序序列經(jīng)排序后得到的結(jié)果是唯一的;
若Ki是次關(guān)鍵字判耕,則排序的結(jié)果不唯一透绩,因?yàn)榇判虻挠涗浶蛄兄锌赡艽嬖趦蓚€(gè)或兩個(gè)以上關(guān)鍵字相等的記錄。
若Ki = Kj(0<=i<=n-1,0<=j<=n-1,i!=j),且在排序前的序列中Ri領(lǐng)先于Rj(即i<j)壁熄。
若在排序后的序列中Ri仍領(lǐng)先于Rj帚豪,則稱所用的排序方法是穩(wěn)定的;反之草丧,若可能使排序后的序列中Rj領(lǐng)先于Ri狸臣,則稱所用的排序方法是不穩(wěn)定的。

排序的分類

內(nèi)部排序:待排序記錄存放在計(jì)算機(jī)隨機(jī)存儲器中進(jìn)行的排序過程
外部排序:待排序記錄的數(shù)量很大昌执,以致內(nèi)存一次不能容納全部記錄烛亦,在排序過程中尚需對外存進(jìn)行訪問的排序過程诈泼。

內(nèi)部排序的分類——不同原則

插入排序、交換排序此洲、選擇排序、歸并排序委粉、計(jì)數(shù)排序

內(nèi)部排序的分類——工作量

  • 簡單的排序方法呜师,時(shí)間復(fù)雜度為O(n^2)
  • 先進(jìn)的排序方法,時(shí)間復(fù)雜度為O(nlogn)
  • 基數(shù)排序贾节,時(shí)間復(fù)雜度為O(d * n)

排序需要的基本操作

(1)比較兩個(gè)關(guān)鍵字的大兄埂;(必要)
(2)將記錄從一個(gè)位置移動至另一個(gè)位置栗涂。(通過改變記錄的存儲方式來予以避免)

待排序記錄序列的存儲方式

(1)待排序的一組記錄存放在地址連續(xù)的一組存儲單元上知牌。在序列中相鄰的兩個(gè)記錄Rj和Rj+1(j=0,1,...,n-1),它們的存儲位置也相鄰斤程。在這種存儲方式中角寸,記錄之間的次序關(guān)系由其存儲位置決定,而實(shí)現(xiàn)排序必須借助移動記錄忿墅。
(2)一組待排序記錄存放在靜態(tài)鏈表中扁藕,記錄之間的次序關(guān)系由指針指示,則實(shí)現(xiàn)排序不需要移動記錄疚脐,僅需修改指針即可亿柑。——鏈表排序
(3)待排序記錄本身存儲在一組地址連續(xù)的存儲單元內(nèi)棍弄,同時(shí)另設(shè)一個(gè)指示各個(gè)記錄存儲位置的地址向量望薄,在排序過程中不移動記錄本身,而移動地址向量中這些記錄的“地址”呼畸,在排序結(jié)束之后再按照地址向量中的值調(diào)整記錄的存儲位置痕支。——地址排序

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蛮原,一起剝皮案震驚了整個(gè)濱河市采转,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌瞬痘,老刑警劉巖故慈,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異框全,居然都是意外死亡察绷,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進(jìn)店門津辩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拆撼,“玉大人容劳,你說我怎么就攤上這事≌⒍龋” “怎么了竭贩?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長莺禁。 經(jīng)常有香客問我留量,道長,這世上最難降的妖魔是什么哟冬? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任楼熄,我火速辦了婚禮,結(jié)果婚禮上浩峡,老公的妹妹穿的比我還像新娘可岂。我一直安慰自己,他們只是感情好翰灾,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布缕粹。 她就那樣靜靜地躺著,像睡著了一般纸淮。 火紅的嫁衣襯著肌膚如雪致开。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天萎馅,我揣著相機(jī)與錄音双戳,去河邊找鬼。 笑死糜芳,一個(gè)胖子當(dāng)著我的面吹牛飒货,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播峭竣,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼塘辅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了皆撩?” 一聲冷哼從身側(cè)響起扣墩,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎扛吞,沒想到半個(gè)月后呻惕,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡滥比,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年亚脆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盲泛。...
    茶點(diǎn)故事閱讀 40,137評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡濒持,死狀恐怖键耕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情柑营,我是刑警寧澤屈雄,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站官套,受9級特大地震影響酒奶,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜虏杰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一讥蟆、第九天 我趴在偏房一處隱蔽的房頂上張望勒虾。 院中可真熱鬧纺阔,春花似錦、人聲如沸修然。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽愕宋。三九已至玻靡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間中贝,已是汗流浹背囤捻。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留邻寿,地道東北人蝎土。 一個(gè)月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像绣否,于是被迫代替她去往敵國和親誊涯。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評論 2 355

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