跳至內容

討論:冒泡排序

頁面內容不支援其他語言。
維基百科,自由的百科全書
基礎條目 冒泡排序屬於維基百科數學主題的基礎條目第五級。請勇於更新頁面以及改進條目。
          本條目頁屬於下列維基專題範疇:
電腦和資訊科技專題 (獲評高重要度
本條目頁屬於電腦和資訊科技專題範疇,該專題旨在改善中文維基百科資訊科技相關條目類內容。如果您有意參與,請瀏覽專題主頁、參與討論,並完成相應的開放性任務。
 未評級未評  根據專題品質評級標準,本條目頁尚未接受評級。
   根據專題重要度評級標準,本條目已評為高重要度

javascript 代碼可能有誤

[編輯]

當測試數組為:

var arr = [56,11,08,01,04,06,08,04,01,02];

時,

在chrome console中輸出結果為:

56,11,08,01,04,06,08,04,01,02


明顯排序出錯 應該改為如下代碼:

  • var arr = [56,11,08,01,04,06,08,04,01,02];
  • var i=arr.length-1, j;
  • var tempExchangVal;
  • while(i>0){
  • for(j=0;j<i;j++){
  • if(arr[j]>arr[j+1]){
  • tempExchangVal = arr[j];
  • arr[j]=arr[j+1];
  • arr[j+1]=tempExchangVal;
  • }
  • }
  • i--;
  • }
  • console.log(arr);

—以上未簽名的留言由183.59.116.105對話貢獻)於2014年8月24日 (日) 12:32 (UTC)加入。[回覆]

泡沫排序跟插入排序比較的描述問題

[編輯]

目前wiki頁面上有這段文字:泡沫排序是與插入排序擁有相等的執行時間,但是兩種演算法在需要的交換次數卻很大地不同。
這段文字前後矛盾,與泡沫排序相同的比較次數的排序法是選擇排序,此段應該改為泡沫排序是與插入排序擁有相同的漸近上界
不考慮最壞狀況的情況而是考慮平均,插入排序的平均比較共有次,而泡沫排序需要平均的比較次數。
因此平均來說插入排序的速度是泡沫排序的兩倍,因此這不應稱為擁有相等的執行時間。 為何插入排序平均速度是泡沫排序的兩倍,可以參考這段描述:Suppose that the array starts out in a random order. Then, on average, we'd expect that each element is less than half the elements to its left. In this case, on average, a call to insert on a subarray of elements would slide of them. The running time would be half of the worst-case running time.49.159.149.220留言2020年4月18日 (六) 17:16 (UTC)[回覆]

(:)回應:認同無法斷言兩個算法的執行時間完全相等,已改為相等的漸近時間複雜度。——HTinC23留言2021年9月18日 (六) 12:05 (UTC)[回覆]