青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

那誰的技術博客

感興趣領域:高性能服務器編程,存儲,算法,Linux內核
隨筆 - 210, 文章 - 0, 評論 - 1183, 引用 - 0
數據加載中……

(算法導論習題解exercise2.3-7)給定一個整數序列以及一個數X,確定該序列中是否有兩個數的和為X

這是<<算法導論>>中的一題,exercise 2.3-7.

可以這么做:
1) 首先將序列排序,去掉重復的元素.
2) 其次生成一個序列, 該序列中每個元素都是X-原序列中的值, 同樣的,去重.
3) 對這兩個已經排序好的序列進行合并操作.
4) 如果有兩個元素之和為X, 那么在合并的時候必然是相鄰的元素.

比如序列 1, 3, 5, 8, X=8, 生成的新序列排序之后就是0, 3, 5, 7.在合并操作時出現兩個相鄰的3,因此該序列中存在3和5之和為8.

我想的另一種做法:
遍歷序列, 每次遍歷時將X-序列元素的差放入到另一個新的序列中的合適位置去, 使這個新的序列一直都是有序的.同樣的, 每次遍歷的時候都在這個新的序列中搜索是否存在當前元素, 由于是有序的, 所以可以采用二分查找的方法.
比如對于序列5,1,8,3, X=8.
首先遍歷的元素是5, 此時新的序列是空的,將8-5=3放入到新的序列中.
其次遍歷的元素是1, 此時新的序列只有元素3, 將8-1=7放入到新的序列中, 形成3,7的有序序列.
再次遍歷的元素是8, 此時新的序列為3,7, 將8-8=0放入到新的序列中, 形成0,3,7的有序序列.
最后遍歷的元素是3, 此時新的序列是0,3,7, 查找3成功, 退出.

不過, 很顯然, 第二種方法并不能達到題目要求的nlg(n)的要求.但是, 它的優點在于, 不一定非得遍歷完序列的所有元素就可以找到答案.

另外,這個題目給我的另一個啟示就是,在很多問題中, 排序和搜索算法絕對是最基礎的組成部分,你可能不會直接使用到它們, 但是會間接的使用或者借鑒到其中的想法幫助你解決問題.所以, 不管是效率比較低的插入算法也好, 還是快速排序也好, 都要進行研究, 并且掌握其中蘊藏的思想.


posted on 2008-09-29 10:40 那誰 閱讀(3751) 評論(7)  編輯 收藏 引用 所屬分類: 算法與數據結構

評論

# re: (算法導論習題解ex2.3-7)給定一個整數序列以及一個數X,確定該序列中是否有兩個數的和為X  回復  更多評論   

排序,然后枚舉+原序列二分(X-a[i])不行嗎?
2008-09-29 11:53 | Ernls

# re: (算法導論習題解exercise2.3-7)給定一個整數序列以及一個數X,確定該序列中是否有兩個數的和為X[未登錄]  回復  更多評論   

首先nlogn的快排
其次設一個首指針head 設一個尾指針tail
while(head!=tail)
{
if(*head+*tail < num) head++;
elseif(*head+*tail>num) tail--;
else break;

}

if (head == tail)std::cout<<"Not found!";
else
std::cout<<*head<<" "<<*tail<<std::endl;

復雜度是o(nlogn+n)=o(nlogn)
2008-09-30 17:01 | Uo

# re: (算法導論習題解exercise2.3-7)給定一個整數序列以及一個數X,確定該序列中是否有兩個數的和為X[未登錄]  回復  更多評論   

@Uo
嗯,樓上這個方法也不錯.
2008-09-30 20:09 |

# re: (算法導論習題解exercise2.3-7)給定一個整數序列以及一個數X,確定該序列中是否有兩個數的和為X[未登錄]  回復  更多評論   

算法導論給出的算法復雜度精確計算應為nlgn+2*n 額外輔助空間為o(n)
上面那個算法空間復雜度o(1),算法復雜度精確為nlgn+n
2008-10-01 01:27 | Uo

# re: (算法導論習題解exercise2.3-7)給定一個整數序列以及一個數X,確定該序列中是否有兩個數的和為X  回復  更多評論   

@Uo
沒有回潄,很不嚴密
2008-11-11 10:25 | Romeo

# re: (算法導論習題解exercise2.3-7)給定一個整數序列以及一個數X,確定該序列中是否有兩個數的和為X  回復  更多評論   

1.先排序,
2.然后 按照 n / 2 對序列進行二分查找

3.然后根據查找的結果將 原序列分成A和B兩個部分

4.然后對A中的每個元素a進行X-a在B中進行二分查找

5. 如果找到則結束

6.如果沒有找到則根據在B中查找的結果將B二分為B1和B2

7然后對A中的下一個元素a1進行X-a1在B2中二分查找查找

8回到5

2009-10-02 04:26 | lzonline01

# re: (算法導論習題解exercise2.3-7)給定一個整數序列以及一個數X,確定該序列中是否有兩個數的和為X  回復  更多評論   

如果原數組中有重復的兩個數,正好他們相加等于X呢?這樣博主的第一步”1) 首先將序列排序,去掉重復的元素.“就有問題了。

比如1,3,4,4,5,8 X = 8
2011-02-23 13:17 | wtommy
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美视频专区一二在线观看| 性娇小13――14欧美| 亚洲激情综合| 亚洲欧美在线看| 国产噜噜噜噜噜久久久久久久久| 欧美激情一区二区三区在线视频观看| 亚洲伊人观看| 欧美视频精品在线| 一区二区三区蜜桃网| 亚洲欧洲一区二区在线播放 | 一区二区三区国产精华| 免费高清在线一区| 经典三级久久| 美日韩在线观看| 老**午夜毛片一区二区三区| 亚洲国产乱码最新视频| 欧美激情综合| 欧美日韩日本视频| 亚洲综合国产激情另类一区| 亚洲伊人伊色伊影伊综合网| 国产精品欧美精品| 欧美专区亚洲专区| 久久国产色av| 亚洲国产精品欧美一二99| 亚洲第一成人在线| 欧美人与性禽动交情品| 亚洲视频一区在线观看| 亚洲一区二区伦理| 一区二区三区无毛| 亚洲国产人成综合网站| 欧美日韩另类在线| 欧美一级久久久| 久久婷婷国产综合精品青草| 99精品国产一区二区青青牛奶| 一区二区三区欧美成人| 韩国一区二区三区在线观看| 欧美韩国一区| 国产精品久久999| 开元免费观看欧美电视剧网站| 欧美黑人一区二区三区| 久久爱91午夜羞羞| 欧美高清视频在线观看| 欧美一区二区三区久久精品| 美女诱惑黄网站一区| 亚洲资源在线观看| 久久综合久久美利坚合众国| 亚洲香蕉成视频在线观看| 欧美大片免费观看| 免费欧美在线视频| 亚洲永久免费精品| 久久亚洲精品欧美| 午夜精品剧场| 欧美极品色图| 久久亚洲午夜电影| 国产精品久久久久一区二区三区共| 免费h精品视频在线播放| 国产精品久久77777| 亚洲国产高清在线观看视频| 国产午夜精品久久久| 亚洲美女在线看| 亚洲电影视频在线| 欧美一区二区在线免费观看| 亚洲男人第一av网站| 欧美国产日韩一区二区在线观看 | 国产美女精品| 亚洲人久久久| 在线成人免费观看| 亚洲一区二区免费视频| 夜夜精品视频| 欧美成人午夜剧场免费观看| 久久久噜噜噜久噜久久| 国产精品欧美日韩一区二区| 亚洲黄色在线看| 亚洲第一在线视频| 久久国产精品网站| 久久国产成人| 国产嫩草一区二区三区在线观看| 亚洲精品美女免费| 亚洲免费高清| 欧美黄色aaaa| 91久久综合亚洲鲁鲁五月天| 亚洲精品乱码久久久久久按摩观| 麻豆免费精品视频| 亚洲大片av| 亚洲精选一区| 欧美黄色日本| 亚洲精品久久久久久久久久久久久| 亚洲国产美国国产综合一区二区| 久久亚洲欧美国产精品乐播| 免费欧美电影| 亚洲人成高清| 欧美理论大片| 亚洲人午夜精品免费| 一区二区福利| 欧美视频一区二区三区四区| 一本久久综合| 国产一区二区欧美| 欧美一区在线看| 久久九九精品99国产精品| 国产中文一区二区| 久久免费视频观看| 亚洲福利精品| 一区二区三区日韩欧美| 欧美午夜在线| 亚洲欧美日韩国产精品| 久久三级福利| 日韩视频免费观看高清完整版| 欧美日本高清| 亚洲综合国产激情另类一区| 久久色在线观看| 亚洲精品乱码久久久久久黑人| 欧美激情一区二区三区在线视频 | 欧美精品自拍| 夜久久久久久| 久久久久久久久久久久久女国产乱| 国产欧美精品久久| 老司机aⅴ在线精品导航| 亚洲激情网站免费观看| 亚洲女女女同性video| 国产午夜精品一区二区三区视频| 久久中文字幕一区| 国产精品99久久久久久久久| 久久亚洲色图| 在线一区欧美| 国内一区二区三区在线视频| 欧美极品色图| 欧美影片第一页| 亚洲国内欧美| 欧美一区日本一区韩国一区| 亚洲第一精品电影| 国产精品大全| 亚洲伊人久久综合| 欧美久久电影| 亚洲欧美日韩国产精品| 欧美国产激情二区三区| 亚洲一区在线播放| 在线成人av.com| 国产精品萝li| 欧美激情综合色综合啪啪| 久久激情综合网| 9色porny自拍视频一区二区| 另类图片国产| 香蕉av777xxx色综合一区| 亚洲激情在线| 国产亚洲福利社区一区| 欧美乱人伦中文字幕在线| 久久精品99无色码中文字幕| 一区二区av在线| 亚洲国产裸拍裸体视频在线观看乱了中文 | 亚洲第一天堂av| 久久99在线观看| 亚洲最新在线视频| 国产欧美短视频| 欧美日韩精品欧美日韩精品| 久久久久久色| 午夜欧美精品| 国产精品99久久久久久久vr| 亚洲国产欧美日韩精品| 欧美超级免费视 在线| 久久不射电影网| 亚洲在线视频观看| 日韩视频免费观看高清在线视频| 伊人久久大香线| 国产婷婷精品| 国产三级欧美三级| 国产精品欧美日韩一区二区| 欧美日韩午夜| 欧美日本精品| 欧美激情综合在线| 欧美精品一区三区| 欧美极品影院| 欧美日韩视频在线第一区| 欧美日本在线一区| 欧美日本在线看| 欧美片在线播放| 欧美日韩在线免费视频| 欧美日韩在线一区二区三区| 欧美日韩另类视频| 欧美日韩在线播放三区| 欧美女同在线视频| 欧美日韩免费在线观看| 欧美午夜片在线观看| 欧美午夜宅男影院在线观看| 欧美日韩三级在线| 欧美网站在线观看| 国产精品一区二区三区四区五区 | 一本色道久久88综合亚洲精品ⅰ| 亚洲欧洲一区二区在线观看| 亚洲国内欧美| 99人久久精品视频最新地址| 一区二区三区视频在线看| 亚洲视频一区二区| 久久精品噜噜噜成人av农村| 久久久久久久久久久久久久一区 | 亚洲天天影视| 亚洲欧美中文另类| 久久成人在线| 久久久久久有精品国产| 国产精品99一区二区| 猫咪成人在线观看|