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

            91精品国产综合久久香蕉| 久久精品国产99久久久香蕉| 色欲综合久久躁天天躁| 亚洲国产婷婷香蕉久久久久久| 思思久久99热只有频精品66| 伊人精品久久久久7777| 久久久久久亚洲Av无码精品专口| www久久久天天com| 人妻无码αv中文字幕久久琪琪布| 色婷婷综合久久久久中文 | 午夜精品久久久久久影视777| 久久久国产亚洲精品| 99久久人妻无码精品系列| 久久影院久久香蕉国产线看观看| 久久亚洲精品无码AV红樱桃| 国产精品永久久久久久久久久| 久久人妻AV中文字幕| 久久99精品国产麻豆婷婷| 久久精品国产亚洲精品2020| 亚洲精品无码久久不卡| 99精品伊人久久久大香线蕉| 国内精品九九久久精品| 久久99热这里只有精品66| 国产精品美女久久久久AV福利| 久久免费的精品国产V∧| 亚洲精品无码久久千人斩| 久久久久久久综合狠狠综合| 国产精品欧美久久久久天天影视 | 亚洲一级Av无码毛片久久精品| 狠狠色丁香婷婷综合久久来| 久久亚洲精品人成综合网| 99久久99久久精品国产片果冻| 欧美一级久久久久久久大片| 久久九九久精品国产免费直播| 伊人久久大香线焦综合四虎 | 久久久久99精品成人片 | 国产A级毛片久久久精品毛片| 久久午夜免费视频| 久久天天躁夜夜躁狠狠躁2022| 亚洲午夜无码AV毛片久久| 狠狠精品久久久无码中文字幕|