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

            国产麻豆精品久久一二三| 亚洲欧美成人久久综合中文网 | 久久精品综合网| 无码国内精品久久综合88| 人妻无码αv中文字幕久久 | 97视频久久久| 国产V亚洲V天堂无码久久久| 国产精品一区二区久久精品无码| 国产激情久久久久影院| 亚洲一区精品伊人久久伊人| 国产精品久久午夜夜伦鲁鲁| 久久精品国产亚洲Aⅴ香蕉| 亚洲国产精品嫩草影院久久| 色综合久久无码五十路人妻| 久久国产乱子伦免费精品| 久久久久18| 中文字幕亚洲综合久久2| 亚洲午夜久久久影院| 精品久久久久久99人妻| 国产Av激情久久无码天堂 | 久久婷婷激情综合色综合俺也去| 久久国产精品国语对白| 久久精品国产亚洲AV嫖农村妇女| 久久亚洲av无码精品浪潮| 久久综合丁香激情久久| 久久大香香蕉国产| 精品久久久无码21p发布| 中文字幕精品久久| 久久久久久毛片免费看| 一本大道久久a久久精品综合| 伊人久久久AV老熟妇色| 香蕉久久久久久狠狠色| 久久www免费人成精品香蕉| 国产福利电影一区二区三区久久久久成人精品综合 | 一本大道加勒比久久综合| 国产Av激情久久无码天堂| 久久婷婷五月综合色奶水99啪| 精品久久久无码人妻中文字幕| 久久精品中文无码资源站| 综合久久一区二区三区| 区久久AAA片69亚洲|