• <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 旅途 閱讀(3098) 評論(0)  編輯 收藏 引用 所屬分類: C/C++

            久久久久亚洲AV无码观看| 欧美日韩久久中文字幕| 久久久久亚洲AV片无码下载蜜桃| 久久中文字幕精品| 国产精品无码久久综合| 亚洲精品乱码久久久久久不卡| 亚洲国产成人久久综合区| 久久夜色精品国产亚洲| 国内精品伊人久久久久av一坑| 狠狠色综合久久久久尤物| 久久久久国产精品人妻| 国产综合久久久久久鬼色| 欧美日韩精品久久久免费观看| 精品乱码久久久久久久| 国产精品美女久久久久AV福利 | 亚洲AV日韩精品久久久久 | 色偷偷91久久综合噜噜噜噜| 久久久久青草线蕉综合超碰| 中文字幕一区二区三区久久网站| 少妇无套内谢久久久久| 久久久国产精品福利免费| 久久ZYZ资源站无码中文动漫| 93精91精品国产综合久久香蕉| 97视频久久久| 中文字幕亚洲综合久久2| 2022年国产精品久久久久| 国产精品久久久久久吹潮| 欧美亚洲国产精品久久高清| 久久一区二区三区免费| 亚洲欧美国产精品专区久久 | 久久亚洲欧美国产精品| 亚洲第一极品精品无码久久| 狠狠色综合网站久久久久久久| 久久久久综合网久久| 国产精品久久成人影院| 精品久久久久久久无码| 99久久99这里只有免费的精品| 男女久久久国产一区二区三区| 少妇精品久久久一区二区三区| 国内高清久久久久久| 99久久免费国产精精品|