回覆列表
-
1 # 科普作家張軒中
-
2 # 重型手扶拖拉機
你的想問的是啥?是預測一組隨機數的可能最大值?還是在一批隨機數字裡找到確定的最大值?使用的工具是什麼?如果是確定的最大值,用Excel很簡單,公式“=max(資料的範圍)”,給出的就是最大值。
-
3 # 哥是個傳說
用工具,excel統計最大值就出來了,程式得話就寫一個for迴圈,假定第一個是最大值,和每個比較一下,最大的放第一個,迴圈完事,輸出第一個就是了
首先,隨機數字也是有統計規律的,如果你能找到這些數字的統計規律,那麼也許可以建立一個可預測的模型,甚至可以把解析表示式寫出來,這樣的對找到最大值是有幫助的。
如果你對這些隨機數字的規律毫無感覺,那隻能硬來了,靠什麼呢?只能靠電腦來排序。電腦排序這個實際上就是氣泡排序演算法,在網路上可以找到很多程式程式碼,你可以去找找。我這裡就簡單說說。
一般來說,我們要考慮的是演算法的複雜程度,如果是簡單的兩兩比較大小,那個n個數字,我們要比較大約O(n^2)的平方次,才可以把最大的數字找出來,我們把這個演算法的複雜程度記做O(n^2)。
氣泡排序的基本思想是把小的元素往前調,同時把大的元素往後調。透過比較相鄰兩個元素,我們來交換這兩個元素的位置。這個演算法的複雜程度就簡單了很多,在計算機行業裡是經常用到的。
那麼為什麼取這個名字(氣泡排序)呢? 我們把資料用泡泡去比喻,如果我們想把資料從小到大排序,那麼在排序的過程中小泡泡會慢慢透過剛才我說的交換冒上來。氣泡排序就是元素不斷交換的過程。
至於你說的隨機數字,也許也可採取蒙特卡洛的思想來處理,把你遇見的隨機問題轉化為一個有物理直覺的問題。不過因為我本身沒有做過這類問題,也只是猜測。這個思路大致類似用投針實驗估算出圓周率的數值大小。