<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之旅 廣告
                ### addLast均攤時間復雜度 平均每次addLast操作,進行2次基本操作 . 這樣均攤計算,時間復雜度是O(1)的 ! 在這個例子里,這樣均攤計算,比計算最壞情況有意義 .因為那個最壞的情況不會每次都出現. 這樣計算復雜度就叫均攤復雜度(amortized time complexity) . 同理,我們看removeLast操作,均攤復雜度也為O(1) ![](https://box.kancloud.cn/a46466efbba9bf1ef1631ed0a067b007_974x383.png) ### 復雜度震蕩 當我們用均攤復雜度來看addLast和removeLast的操作都是O(1)時間復雜度. 但是當我們同時思考這兩個操作的時候,出現了一個問題,這個問題通常稱為"復雜度振蕩". ![](https://box.kancloud.cn/aca5b5d54ff057dba7d9ece456d5ff0e_777x245.png) ### 出現問題的原因 在removeLast時resize過于著急(Eager) ,也就是我們采用了一種過于激進的行為. 解決方案 : Lazy 當size == capacity /4 時,才將capacity減半. 也就是說不是當size == capacity / 2的時候就將容積減半. 這樣就不會產生復雜度震蕩 . 也就是當我們的算法更懶的時候,反而算法整體的性能會更好. ### 修改代碼 ~~~ //刪除指定index的元素,并且返回刪除的元素 public E remove(int index) { if(index < 0 || index >= size) throw new IllegalArgumentException("del failed. Index is illegal ."); E element = data[index]; for(int i = index + 1; i < size; i++) { data[i - 1] = data[i]; } size--; data[size] = null; if(size == data.length / 4 && data.length / 2 != 0) resize(data.length / 2); return element; } ~~~
                  <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>

                              哎呀哎呀视频在线观看