第一次聽着幾個的時候,感覺就是老哥你是來鬧的嗎 后來仔細看了一下 我靠 天才啊,好吧 其實也就是聽着挺好的 但是實際應用的話 還是挺多坑的 一、睡眠排序 二、面條排序 首先去買一捆面,是意面掛面還是手擀面請按個人口味決定,最好是硬 ...
介紹幾個不實用的排序算法,一來可以在學習時增加一些樂趣,放松一下自己,二來可以學習一下 思考一下這些算法失敗在哪里,又是否存在一些好的地方 睡眠排序 這是一個思想比較簡單,腦洞巨大的算法 我們知道sleep方法可以讓一個線程睡眠s毫秒,如果需要對一個有n個數的數列進行排序,我們何不為每個數創建一個線程,然后讓每個線程都睡眠該數的時間,那么對於越小的數,其睡眠時間越短,越大的數,其睡眠時間越長,最后 ...
2019-01-01 19:09 2 7769 推薦指數:
第一次聽着幾個的時候,感覺就是老哥你是來鬧的嗎 后來仔細看了一下 我靠 天才啊,好吧 其實也就是聽着挺好的 但是實際應用的話 還是挺多坑的 一、睡眠排序 二、面條排序 首先去買一捆面,是意面掛面還是手擀面請按個人口味決定,最好是硬 ...
這期博客我主要想聊一聊一個沒有什么實用價值的排序算法。它的時間復雜度已經超出現有已知任何其他的排序算法,同時,也低於現有任何已知的其他排序算法。它就是猴子算法。 相信在座各位都知道一個無限猴子定理,這個定理的內容就是:讓一只猴子在電腦上瘋狂的隨機打字,只要時間足夠 ...
基本思想 把一個無序的數組進行亂排序,然后看其是否會有序,有可能一次之后就有序了,也有可能很多次后依然無序。 最佳情況 \(O(n)\),平均 \(O(n*n!)\),最壞可執行直到世界的盡頭。 猴子排序基於無限猴子定理:無限猴子定理是數學概率 ...
睡眠排序算法是一種比較另類有趣的排序算法,其核心思想與CPU調度機制相關,是通過多線程讓每一個數據元素睡眠一定規律的時間,睡眠時間要和自身數據大小存在一定的規律,睡眠時間短的先進行輸出,睡眠長的后輸出,從而實現數據有序輸出。 存在缺點: ①若睡眠時間之間相差很小時,容易出現誤差 ...
記錄一下幾種排序: One:桶排序 桶排序:例如需要排序數的范圍是0~n,那你則需要申請n+1一個變量,也就是說要寫成int a[n+1]。應為我們需要用n+1個“桶”來存儲0~n每一個數出現的次數。 即便只給你5個數進行排序(例如這五個數是1、2100000、12358、6546 ...
冒泡排序: 快速排序: 選擇排序:在要排序的一組數中,選出最小的一個數與第一個位置的數交換;然后在剩下的數當中再找最小的與第二個位置的數交換,如此循環到倒數第二個數和最后一個數比較為止。 插入排序:已排序+未排序兩部分,從已排序后面找一個值,插入到已排序,依次下去 ...
插入排序 步驟: 從第一個元素開始,該元素可以認為已經被排序 取出下一個元素,在已經排序的元素序列中從后向前掃描 如果該元素(已排序)大於新元素,將該元素移到下一位置 重復步驟3,直到找到已排序的元素小於或者等於新元素的位置 ...
桶排序是一種效率很高的排序算法,它的時間復雜度為O(n),但桶排序有一定的限制,只有當待排序序列的元素為0到某一確定取值范圍的整數時才適用,典型的例子比如成績的排序等。 算法思想: 設待排序序列的元素取值范圍為0到m,則我們新建一個大小為m+1的臨時數組並把初始值都設為0,遍歷待排序序列 ...