原文:睡眠排序算法

睡眠排序算法是一種比較另類有趣的排序算法,其核心思想與CPU調度機制相關,是通過多線程讓每一個數據元素睡眠一定規律的時間,睡眠時間要和自身數據大小存在一定的規律,睡眠時間短的先進行輸出,睡眠長的后輸出,從而實現數據有序輸出。 存在缺點: 若睡眠時間之間相差很小時,容易出現誤差,為了減小誤差,一般需要放大睡眠倍數 因為睡眠時間和數據大小有直接關系,因此數據不能太大 ,若數據很大時,睡眠時間要很久, ...

2019-05-23 11:50 3 2547 推薦指數:

查看詳情

Java排序 - 不實用的幾個排序算法 -- 睡眠排序、猴子排序、面條排序、珠排序

介紹幾個不實用的排序算法,一來可以在學習時增加一些樂趣,放松一下自己,二來可以學習一下、思考一下這些算法失敗在哪里,又是否存在一些好的地方? 睡眠排序 這是一個思想比較簡單,腦洞巨大的算法 -- 我們知道sleep方法可以讓一個線程睡眠s毫秒,如果需要對一個有n個數的數列進行排序,我們何不 ...

Wed Jan 02 03:09:00 CST 2019 2 7769
睡眠排序、面條排序、猴子排序

第一次聽着幾個的時候,感覺就是老哥你是來鬧的嗎 后來仔細看了一下 我靠 天才啊,好吧 其實也就是聽着挺好的 但是實際應用的話 還是挺多坑的 一、睡眠排序 二、面條排序 首先去買一捆面,是意面掛面還是手擀面請按個人口味決定,最好是硬 ...

Fri Jul 27 17:53:00 CST 2018 0 3033
睡眠排序法,了解一下

今天看到一個奇葩排序算法睡眠排序法。 是不是感覺很神奇呢,但是這個算法還是有行不通的地方,如負數;數值相近的時候,可能會有誤差;輸入數據很多時,這些線程不能看作是同時啟動。 ...

Sat Nov 10 04:34:00 CST 2018 0 723
排序算法 之 桶排序

排序是一種效率很高的排序算法,它的時間復雜度為O(n),但桶排序有一定的限制,只有當待排序序列的元素為0到某一確定取值范圍的整數時才適用,典型的例子比如成績的排序等。 算法思想: 設待排序序列的元素取值范圍為0到m,則我們新建一個大小為m+1的臨時數組並把初始值都設為0,遍歷待排序序列 ...

Tue May 13 04:07:00 CST 2014 2 4105
排序算法——堆排序

前一陣子一直在寫排序的系列文章,最近因為一些事情耽擱了幾天,也穿插了幾篇其他類別的隨筆。今天還是回到排序上面來,善始善終,呵呵。今天要介紹的也是一種效率很高的排序——堆排序思想堆排序,顧名思義,就是基於堆。因此先來介紹一下堆的概念。堆分為最大堆和最小堆,其實就是完全二叉樹。最大堆要求節點的元素都要 ...

Thu Mar 08 17:46:00 CST 2012 5 21442
排序算法——選擇排序

今天繼續介紹排序算法系列的第二講,選擇排序。選擇排序也是一種常見的排序方法,非常簡單。廢話不說,來看看吧。 思想 還是先來看看選擇排序的思想。選擇排序的思想非常直接,不是要排序么?那好,我就從所有序列中先找到最小的,然后放到第一個位置。之后再看剩余元素中最小的,放到第二個位置……以此類推 ...

Mon Feb 27 18:03:00 CST 2012 13 74767
排序算法 - 桶排序

前言 桶排序(Bucket sort)或所謂的箱排序,是一個排序算法,工作的原理是將數組分到有限數量的桶里。每個桶再個別排序(有可能再使用別的排序算法或是以遞歸方式繼續使用桶排序進行排序),最后依次把各個桶中的記錄列出來記得到有序序列。桶排序是鴿巢排序的一種歸納結果。當要被排序的數組內的數值 ...

Fri Aug 16 06:43:00 CST 2019 0 1820
排序算法---鏈表排序

,這種方式相對簡單。   如下列出了幾種相對比較好簡單也好理解的鏈表排序算法,代碼如下: ...

Fri Aug 09 03:41:00 CST 2019 0 10609
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM