排序

1/49ページ

拓撲排序

拓撲序:如果圖中從V到W有一條有向路徑,則V一定排在W之前。滿足此條件的頂點序列稱為一個拓撲序。獲得一個拓撲序的過程就是拓撲排序。AOV如果有合理的拓撲序,則必定是有向無環圖(Directed Acyclic Graph,DAG) 每次輸出沒有前驅頂點的課程。即輸出入度為0的頂點。 void Top […]

11-雜湊3 QQ帳戶的申請與登陸   (25分)

實現QQ新帳戶申請和老帳戶登陸的簡化版功能。最大挑戰是:據說現在的QQ號碼已經有10位數了。 輸入格式: 輸入首先給出一個正整數NN(≤10^5​​),隨後給出NN行指令。每行指令的格式為:“命令符(空格)QQ號碼(空格)密碼”。其中命令符為“N”(代表New)時表示要新申請一個QQ號,後面是新帳戶 […]

十大經典排序演算法詳解及優化

演算法概述 0.1 演算法分類 十種常見排序演算法可以分為兩大類: 非線性時間比較類排序:通過比較來決定元素間的相對次序,由於其時間複雜度不能突破O(nlogn),因此稱為非線性時間比較類排序。 線性時間非比較類排序:不通過比較來決定元素間的相對次序,它可以突破基於比較排序的時間下界,以線性時間執行 […]

劍指Offer——陣列中出現次數超過一半的數字

題目描述 陣列中有一個數字出現的次數超過陣列長度的一半,請找出這個數字。例如輸入一個長度為9的陣列{1,2,3,2,2,2,5,4,2}。由於數字2在陣列中出現了5次,超過陣列長度的一半,因此輸出2。如果不存在則輸出0。 方法一 最先想到的是對陣列記性排序,然後遍歷陣列找出出現次數超過陣列長度的一半 […]

排序演算法: 氣泡排序, 快速排序,希爾排序,直接插入排序 ,直接選擇排序,歸併排序,堆排序

幾種排序演算法分析:     氣泡排序:   氣泡排序的方法排序速度比較慢。   思路:進行n-1排序,第一次排序先找出最小的數字,放在第一個位置,然後在剩餘的數字中再找出最小的數字,放在第二個位置上,依次類推,可以排出所有的數字。   當然也可以從大到小的排序。   例如 a[]={5 ,4 ,3 […]

氣泡排序-插入排序-快速排序-選擇排序—飛天部落格

請看文章: 排序經典集合:插入排序,氣泡排序,快速排序,選擇排序,程式碼簡單請看下面的基本介紹和程式碼 插入排序:直接插入排序是一種最簡單的排序方法,它的基本操作是將一個記錄插入到一排好序的有序表中    時間複雜度為:O(n^2) package paixu; /** * 氣泡排序 * @auth […]

【SOJ 1824】保留道路

【題目】 題目描述: 很久很久以前有一個國家,這個國家有 N 個城市,城市由 1,2,3,…,N 標號,城市間有 M 條雙向道路,每條道路都有兩個屬性 g 和 s ,兩個城市間可能有多條道路,並且可能存在將某一城市與其自身連線起來的道路。後來由於戰爭的原因,國王不得不下令減小花費從而關閉一些道路,但 […]

pat1022Digital Library (30)

題意分析: (1)給出若干條書籍資訊:按照書名、作者、關鍵字、出版商、出版年份的格式列出;再給出若干條檢索記錄,這些檢索記錄是圍繞書名、作者、關鍵字、出版社以及年份,來按順序列出查詢的書的ID,考察的是排序和查詢。 (2)將書的資訊包裝成結構體,在這些結構體當中,比較容易檢索的包括書名、作者、出版社 […]