關於複雜排序

2021-06-27 02:31:15 字數 440 閱讀 1207

其實以某個字段排序並不符合客戶要求,客戶要求大多是,某種型別資料排在前面,某種資料排第二,某種第三,但這裡的型別並不是乙個字段可以體現,而是一種邏輯。

這裡我們為我們的主表建立兩個排序字段,s1 int ,s2 int

以**表為例

如果是獨家**則s1列則標記1,s2列則標記設定時間(int格式)

如果是推薦房則s1標記2,s2標記推薦人數

如果是自有房則s3標記3,s2標記登記時間

然後我們通過

order by s1,s2就可以排序了。

為了效率起見

我們可以把s1s2合併

如1.20141123

2.32.4

3.20141021

但這要求s1,s2的排序都是公升,或都是降

如果希望兩維排序有的公升,有的降,可以做一些減法處理,用乙個最大值減去s2上的數字。

排序2 複雜排序

堆排序是一種選擇排序,遍歷後選擇陣列中最大的值放到堆頂,可用陣列實現,最好和最壞和平均複雜度都為o nlogn 不穩定。堆就是一種完全二叉樹,排序特徵是堆頂元素大於子元素 不管子元素之間的排列 完全二叉樹的特徵是層序遍歷等於滿二叉樹的層序遍歷 也就是底層可以沒有右邊的子樹 用陣列來描述堆的定義有大頂...

複雜排序之歸併排序

歸併排序的時間複雜度是o nlogn 與快速排序和堆排序最大的不同是歸併排序是穩定的,但它需要額外的o n 的空間複雜度 利用遞迴的方法進行排序 void merge elementtype a,elementtype tmpa,int left,int mid,int right void mso...

js排序的時間複雜度 各種排序演算法時間複雜度

各種排序演算法比較 各種常用排序演算法 類別排序方法 時間複雜度 空間複雜度 穩定性複雜性 特點最好 平均最壞 輔助儲存 簡單插入 排序直接插入 o n o n2 o n2 o 1 穩定簡單 希爾排序 o n o n1.3 o n2 o 1 不穩定複雜 選擇排序 直接選擇 o n o n2 o n2...