• <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>

            旅途

            如果想飛得高,就該把地平線忘掉

            在一個隨機數組中同時求出最大值與最小值

            在一個隨機數組中同時求出最大值與最小值,要求 輔助空間 O(1)【線性復雜度】,最壞情況下比較次數 3n/2, n為數組元素數


            提供一個方法:

            假設待處理的數組為A[1...N],該算法分為兩步
            1. 對A中的元素做如下的比較,A[1]與A[N],A[2]與A[N-1],..., A[N/2]與A[N-N/2+1](如果N為奇數,則A[N/2+1]沒有參與比較),對于每一個A[i]與A[N-i+1],如果A[i]>A [N-i+1],則交換他們的值,否則,保持他們的值不變。
            2. 第一步的結果是將數組A分成兩半,可以證明,最小值一定在前一半中,而最大值一定在后一半中。分別對前一半求最小值,對后一半求最大值,即得到整個數組的最大值和最小值。

            對于第一步,比較次數為n/2,第二步的比較次數為n,因此整個算法的比較次數為3n/2(該算法需要嚴格的3n/2次比較,可能還存在更優的算法,不過暫時沒想到)


            posted on 2007-09-06 01:55 旅途 閱讀(3103) 評論(0)  編輯 收藏 引用 所屬分類: C/C++

            国产成人精品久久综合| 国产精品久久久久乳精品爆| 国产精品成人久久久| 国产毛片欧美毛片久久久| 婷婷久久久亚洲欧洲日产国码AV| 99久久中文字幕| 久久本道久久综合伊人| 久久精品成人欧美大片| 韩国无遮挡三级久久| 亚洲AⅤ优女AV综合久久久| 超级97碰碰碰碰久久久久最新| 久久夜色精品国产噜噜噜亚洲AV| 91精品国产色综久久| 99久久精品免费看国产一区二区三区 | 欧美伊人久久大香线蕉综合 | 一97日本道伊人久久综合影院| 伊人色综合久久天天人手人婷| 久久亚洲国产精品一区二区| 狠狠色婷婷久久综合频道日韩| 国产成人无码精品久久久久免费| 亚洲精品国精品久久99热| 久久亚洲国产欧洲精品一 | 久久99精品国产麻豆不卡| 色偷偷88888欧美精品久久久| 99久久精品国产毛片| 996久久国产精品线观看| 77777亚洲午夜久久多喷| 尹人香蕉久久99天天拍| 国产精品无码久久久久| 久久91精品国产91久久小草| 欧美日韩久久中文字幕| 性高湖久久久久久久久AAAAA| 久久无码精品一区二区三区| 久久99热这里只有精品国产| 精品久久久久久久久中文字幕| 久久久久人妻精品一区| 久久人妻少妇嫩草AV无码专区| 久久久老熟女一区二区三区| 一本色道久久88精品综合| 欧美噜噜久久久XXX| av午夜福利一片免费看久久|