Python之猴子排序

2021-09-28 15:46:23 字數 1019 閱讀 999

猴子排序是一種什麼樣子的排序呢?

猴子代表亂的意思,猴子排序的意思就是亂排序,直到有序為止。

這個真實的含義就是把乙個無序的陣列進行亂排序,然後看其是否會有序,這是個概率性事件,有可能一次之後就有序了,也有可能很多次後依然無序。

實現方法如下:

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的情形。我們大家比較熟悉的應該就是斐波那契數列了 這裡給大家講一下稍微複雜一點的遞推 猴子爬山問題。乙個猴子在一座...