• <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这里精品国产2020| 久久天天躁狠狠躁夜夜av浪潮 | 青青热久久国产久精品 | 久久精品国产色蜜蜜麻豆| 中文字幕日本人妻久久久免费| 国产美女久久精品香蕉69| 亚洲国产成人久久综合碰| 国产午夜免费高清久久影院| 日本精品久久久久影院日本 | 一本色道久久88加勒比—综合| 无码人妻久久一区二区三区蜜桃| 精品久久久久久成人AV| 少妇人妻综合久久中文字幕| 中文字幕久久欲求不满| 国产成人精品综合久久久| 久久艹国产| 久久精品国产99国产精偷| 亚洲国产精品一区二区久久hs| 久久精品亚洲男人的天堂| 精品久久久久久亚洲精品| 亚洲中文精品久久久久久不卡| 久久精品国产福利国产琪琪| 国产精品久久久久久久久鸭| 精品国产99久久久久久麻豆| 久久夜色撩人精品国产| 99久久99久久精品国产| 国产人久久人人人人爽| 狠狠色婷婷久久综合频道日韩 | 国产巨作麻豆欧美亚洲综合久久| 久久一日本道色综合久久| 久久无码AV一区二区三区| 久久久久九九精品影院| 国产综合免费精品久久久| 99久久99久久精品国产片| 91久久九九无码成人网站| 久久精品免费一区二区三区| 久久久久一区二区三区| 国产一区二区精品久久 |