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

            一本色道久久88精品综合| 亚洲国产精品成人久久| 国产精品久久网| 久久精品国产亚洲Aⅴ蜜臀色欲| 久久黄视频| 婷婷久久久亚洲欧洲日产国码AV| 97久久超碰国产精品旧版| 色偷偷91久久综合噜噜噜噜| 亚洲va国产va天堂va久久| 国产精品久久永久免费| 欧洲国产伦久久久久久久| 久久久久亚洲AV成人片| 欧美亚洲国产精品久久| 91性高湖久久久久| 久久99久久99小草精品免视看| 久久久久国产精品人妻| 日韩中文久久| 欧美777精品久久久久网| 久久国产精品成人影院| 久久毛片一区二区| 国产激情久久久久影院老熟女 | 精品多毛少妇人妻AV免费久久| 久久久久久九九99精品| 久久这里只有精品视频99| 国产免费福利体检区久久| 久久SE精品一区二区| 久久午夜福利电影| 久久性精品| 久久久久国产精品嫩草影院| 国产精品美女久久久网AV| 国产亚洲美女精品久久久久狼| 精品国产乱码久久久久久郑州公司| 久久午夜伦鲁片免费无码| 91精品国产9l久久久久| 狠狠色噜噜色狠狠狠综合久久| 色播久久人人爽人人爽人人片AV| 伊人久久五月天| 亚洲欧洲中文日韩久久AV乱码| 狠狠色丁香久久婷婷综合蜜芽五月| 精品无码久久久久久久动漫| 久久久免费观成人影院|