• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            2006年6月14日

                 摘要: 快速排序是在實踐中最快的已知排序算法,它的平均運行時間是O(NlogN)。該算法之所以特別快,主要是由于非常精練和高度優化的內部循環。在隊列中尋找合適的樞點元素,并按樞點元素劃分序列,是快速排序算法的關鍵。
            為簡單起見,我這里數組的第一個元素作為樞點元素,重新排列數組,使得樞點元素之前的元素都小于樞點元素,而樞點元素之后的元素都大于或等于樞點元素。  閱讀全文

            posted @ 2006-06-14 10:19 夢想飛揚 閱讀(1187) | 評論 (0)編輯 收藏

                 摘要: 排序在最壞的情況下,其時間復雜度也能達到O(nlogn)。相對于快速排序來說,這是它最大的優點,此外,堆排序僅需要一個記錄大小供交換用的輔助存儲空間。
            堆排序的數據結構是二叉堆,二叉堆的特點有兩個,一個是它是一棵完全二叉樹,另一個是它的根結點小于孩子結點,所以我們很容易找到它的最小結點----根結點;當然如果你想找到最大結點的話,那就要掃描所有的葉子結點,這是很費時間的,如果你想找的是最大結點的話,你最好把它弄成一個大頂堆,即一棵根結點大于孩子結點的完全二叉樹。
            二叉堆通常用數組來實現,它舍棄下標0,從下標1開始置數,則很容易滿足,對于數組中任意位置i上的元素,其左兒子的位置在2i上,右兒子的位置在2i+1上,雙親的位置則在i/2上。
            堆排序的算法之一是把數組構建成二叉堆----這只要增添一個長度為n+1的輔助空間,然后把原數組的元素依次插入到二叉堆即可。然后刪除二叉堆的根,把它作為排序后的數組的第一個元素,然后使二叉堆的長度減1,并通過上移使得新得到的序列仍為二叉堆,再提取新二叉堆的第一個元素到新數組。依此類推,直到提取最后  閱讀全文

            posted @ 2006-06-14 10:18 夢想飛揚 閱讀(4274) | 評論 (2)編輯 收藏

            久久国产精品一区二区| 精品熟女少妇aⅴ免费久久| 久久人人爽人人爽人人AV| 久久精品中文字幕无码绿巨人 | 久久99精品久久久久久| 狠狠色综合网站久久久久久久| 午夜精品久久久久久| 国产亚洲欧美成人久久片| 午夜视频久久久久一区 | 久久久久久极精品久久久| 国内精品久久久久影院薰衣草| 精品国际久久久久999波多野| 天天做夜夜做久久做狠狠| 日本精品久久久久中文字幕| 国内精品伊人久久久影院| 国产精品欧美久久久久无广告| 色诱久久久久综合网ywww| 亚洲欧美久久久久9999| 久久夜色精品国产亚洲| 青青草原精品99久久精品66| 中文字幕久久亚洲一区| 精品久久综合1区2区3区激情| 狠狠干狠狠久久| 国产99久久精品一区二区| 性做久久久久久久| 亚洲色欲久久久久综合网 | 久久久久四虎国产精品| 久久久久久a亚洲欧洲aⅴ| 国产精品久久久久国产A级| 亚洲午夜久久久影院伊人| 亚洲欧美成人综合久久久| 国产成人精品综合久久久| 人人妻久久人人澡人人爽人人精品 | 日本精品久久久久久久久免费| 久久国产精品久久久| 久久久久久久尹人综合网亚洲| 国产成人精品久久免费动漫| 99久久精品国产免看国产一区| 91精品国产91久久综合| 国产精品无码久久久久 | 亚洲国产另类久久久精品|