猴子排序是一種什麼樣子的排序呢?
猴子代表亂的意思,猴子排序的意思就是亂排序,直到有序為止。
這個真實的含義就是把乙個無序的陣列進行亂排序,然後看其是否會有序,這是個概率性事件,有可能一次之後就有序了,也有可能很多次後依然無序。
實現方法如下:
1,定義陣列
2,陣列隨機
3,檢驗陣列是否有序,無序繼續,有序了就停止
就是如此簡單的實現思路,但是卻要用到隨機化的知識和標誌變數的實現技巧
import random
defbogo_sort
(collection)
:def
issorted
(collection):if
len(collection)
<2:
return
true
for i in
range
(len
(collection)-1
):if collection[i]
> collection[i +1]
:return
false
return
true
while
not issorted(collection)
: random.shuffle(collection)
return collection
if __name__ ==
"__main__"
: user_input =
input
("enter numbers separated by a comma:\n"
).strip(
) unsorted =
[int
(item)
for item in user_input.split(
",")
]print
(bogo_sort(unsorted)
)
經典演算法 猴子排序
猴子排序是一種什麼樣子的排序呢?猴子代表亂的意思,猴子排序的意思就是亂排序,直到有序為止。這個真實的含義就是把乙個無序的陣列進行亂排序,然後看其是否會有序,這是個概率性事件,有可能一次之後就有序了,也有可能很多次後依然無序。實現方法如下 1,定義陣列 2,陣列隨機 3,檢驗陣列是否有序,無序繼續,有...
Python 猴子補丁
生活中衣服破了洞,我們不想將其丟掉,就會打個補丁縫縫補補講究著用,這種理解帶入程式中也是這樣,個別功能有問題,但我們並不想將其重構或丟掉,只想將其個別功能替換,這就是打補丁的概念,為啥稱呼為猴子補丁這就不得而知了,但我們要知道打補丁是種補救措施,並不一定是好事不要濫用 程式中某個功能使用不理想效率低...
遞推之猴子爬山
遞推是利用問題本身所具有的遞推關係求解問題的方法。所謂遞推,是在命題歸納時,可以由數量分別為n k,n 1的情形推得數量為n的情形,或者反過來由數量分別為i k,i 1的情形推出數量為i的情形。我們大家比較熟悉的應該就是斐波那契數列了 這裡給大家講一下稍微複雜一點的遞推 猴子爬山問題。乙個猴子在一座...