[問題] 有關氣泡排序法一問
當我們使用氣泡排序法進行 N 個數值的排序時,
必須執行兩層FOR迴圈(nested for-loop)。其中內層
迴圈需執行 (N-1) 次 IF 的測試,外層迴圈也需執行 (N-1)次,
總共會執行 (N-1)*(N-1)次 (大約為N^2,若 N值夠大的話) IF 測試。
即使數字已經完全按照順序排列,仍需要進行 N*N 次的比較
問題:有沒有可能降低 N*N 比較的次數?
我想到的方法是取中斷點
在中間先取中斷點
然後 用if跑跑看有沒有 照順序
如果沒有 再用右邊3/4觸再取另一個中斷點
跑跑看 有沒有照順序
我不知道這種方法是否可行?
我目前只想到這種方法
如果有更好的方法 請站內信給我
或按R 回覆文章
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.73.50.213