<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ### **冒泡排序算法思想** 兩兩比較待排序記錄的關鍵字,發現兩個記錄的次序相反時即進行交換,直到沒有反序的記錄為止。按照從小到大或者從大到小的順序進行交換,這樣一趟過去后,最大或最小的數字被交換到了最后一位。 > 依次比較相鄰的兩個數,將小數放在前面,大數放在后面。即在第一趟:首先比較第1個和第2個數,將小數放前,大數放后。然后比較第2個數和第3個數,將小數放前,大數放后,如此繼續,直至比較最后兩個數,將小數放前,大數放后。重復第一趟步驟,直至全部排序完成。 > > 第一趟比較完成后,最后一個數一定是數組中最大的一個數,所以第二趟比較的時候最后一個數不參與比較; > > 第二趟比較完成后,倒數第二個數也一定是數組中第二大的數,所以第三趟比較的時候最后兩個數不參與比較; > > 依次類推,每一趟比較次數-1; > > …… 冒泡排序算法的運作過程:(從小到大排序) 設數組a\[0..n-1\]長度為n, * 1.比較相鄰的前后二個數據,如果前面數據大于后面的數據,就將二個數據交換。 * 2.這樣對數組的第0個數據到n-1個數據進行一次遍歷后,最大的一個數據就“沉”到數組第n-1個位置。 * 3.n=n-1,如果n不為0就重復前面二步,否則排序完成。 * * * 例子為從小到大排序,原始待排序數組| 7 | 2 | 4 | 1 | 5 | 第一趟排序(外循環) 第一次兩兩比較7 > 2交換(內循環) 交換前狀態| 7 | 2 | 4 | 1 | 5 | 交換后狀態| 2 | 7 | 4 | 1 | 5 | 第二次兩兩比較,7 > 4交換 交換前狀態| 2 | 7 | 4 | 1 | 5 | 交換后狀態| 2 | 4 | 7 | 1 | 5 | 第三次兩兩比較,7 > 1交換 交換前狀態| 2 | 4 | 7 | 1 | 5 | 交換后狀態| 2 | 4 | 1 | 7 | 5 | 第四次兩兩比較,7 > 5交換 交換前狀態| 2 | 4 | 1 | 7 | 5 | 交換后狀態| 2 | 4 | 1 | 5 | 7 | 第二趟排序(外循環) 第一次兩兩比較2 < 4不交換 交換前狀態| 2 | 4 | 1 | 5 | 7 | 交換后狀態| 2 | 4 | 1 | 5 | 7 | 第二次兩兩比較,4 > 1交換 交換前狀態| 2 | 4 | 1 | 5 | 7 | 交換后狀態| 2 | 1 | 4 | 5 | 7 | 第三趟排序(外循環) 第一次兩兩比較2 > 1交換 交換后狀態| 2 | 1 | 4 | 5 | 7 | 交換后狀態| 1 | 2 | 4 | 5 | 7 | 第二次兩兩比較,2 < 4不交換 交換后狀態| 1 | 2 | 4 | 5 | 7 | 交換后狀態| 1 | 2 | 4 | 5 | 7 | 排序完畢,輸出最終結果1 2 4 5 7 * * * 冒泡排序時間復雜度,最好情況:數組已有序O(n);最壞情況:數組反序O(n^2),平均時間復雜度:O(n^2)。空間復雜度,冒泡排序是原地排序,空間復雜度為O(1)。冒泡排序算法是穩定的排序算法。 (1)時間復雜度 冒泡排序算法的最壞情況、最優情況、平均情況下的時間復雜度都是O(n^2) (2)空間復雜度 空間復雜度就是在交換元素時那個臨時變量所占的內存空間;最優的空間復雜度就是開始元素順序已經排好了,則空間復雜度為:O(1);最差的空間復雜度就是開始元素逆序排序了,則空間復雜度為:O(n);平均的空間復雜度為:O(1);
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看