共17篇博文
【白話經(jīng)典算法系列之十七】 數(shù)組中只出現(xiàn)一次的數(shù)
數(shù)組A中,除了某一個數(shù)字x之外,其他數(shù)字都出現(xiàn)了三次,而x出現(xiàn)了一次。請給出最快的方法找到x。 這個題目非常有意思,在本人博客中有《位操作基礎(chǔ)篇之位操作全面總結(jié)》這篇文章介紹了使用位操作的異或來解決—...
2013-10-21 11:49
31279
【白話經(jīng)典算法系列之十六】“基數(shù)排序”之?dāng)?shù)組中缺失的數(shù)字
首先看看題目要求: 給定一個無序的整數(shù)數(shù)組,怎么找到第一個大于0,并且不在此數(shù)組的整數(shù)。比如[1,2,0]返回3,[3,4,-1,1]返回2,[1, 5, 3, 4, 2]返回6,[100, 3, 2...
2013-10-15 10:17
13221
【白話經(jīng)典算法系列之十五】“一步千里”之?dāng)?shù)組找數(shù)
【白話經(jīng)典算法系列之十五】“一步千里”之?dāng)?shù)組找數(shù) 有這樣一個數(shù)組A,大小為n,相鄰元素差的絕對值都是1。如:A={4,5,6,5,6,7,8,9,10,9}。現(xiàn)在,給定A和目標(biāo)整數(shù)t,請找到t在A中的...
2013-09-02 12:57
25490
【白話經(jīng)典算法系列之十四】騰訊2012年實習(xí)生筆試加分題
地址:http://blog.csdn.net/morewindows/article/details/8742666轉(zhuǎn)載請標(biāo)明出處,謝謝。歡迎關(guān)注微博:http://weibo.com/MoreWi...
2013-04-01 09:25
41638
【白話經(jīng)典算法系列之十一】一道有趣的GOOGLE面試題 --【解法2】
微博http://weibo.com/MoreWindows已開通,歡迎關(guān)注。本系列文章地址:http://blog.csdn.net/MoreWindows/article/category/859...
2012-11-23 07:57
24466
白話經(jīng)典算法系列之十 一道有趣的GOOGLE面試題
微博http://weibo.com/MoreWindows已開通,歡迎關(guān)注。最近在微博上看到一道有趣的GOOGLE面試題,見下圖:文字版:一個大小為n的數(shù)組,里面的數(shù)都屬于范圍[0, n-1],有不...
2012-11-21 09:03
47153
白話經(jīng)典算法系列之一 冒泡排序的三種實現(xiàn)
冒泡排序是非常容易理解和實現(xiàn),,以從小到大排序舉例: 設(shè)數(shù)組長度為N。 1.比較相鄰的前后二個數(shù)據(jù),如果前面數(shù)據(jù)大于后面的數(shù)據(jù),就將二個數(shù)據(jù)交換。 2.這樣對數(shù)組的第0個數(shù)據(jù)到N-1個數(shù)據(jù)進(jìn)行一...
2011-08-06 19:20
163206
白話經(jīng)典算法系列之二 直接插入排序的三種實現(xiàn)
直接插入排序(Insertion Sort)的基本思想是:每次將一個待排序的記錄,按其關(guān)鍵字大小插入到前面已經(jīng)排好序的子序列中的適當(dāng)位置,直到全部記錄插入完成為止。 設(shè)數(shù)組為a[0…n-1]。 1...
2011-08-06 19:27
115864
白話經(jīng)典算法系列之三 希爾排序的實現(xiàn)
希爾排序的實質(zhì)就是分組插入排序,該方法又稱縮小增量排序,因DL.Shell于1959年提出而得名。 該方法的基本思想是:先將整個待排元素序列分割成若干個子序列(由相隔某個“增量”的元素組成的)分別...
2011-08-08 11:41
142735
白話經(jīng)典算法系列之四 直接選擇排序及交換二個數(shù)據(jù)的正確實現(xiàn)
直接選擇排序和直接插入排序類似,都將數(shù)據(jù)分為有序區(qū)和無序區(qū),所不同的是直接播放排序是將無序區(qū)的第一個元素直接插入到有序區(qū)以形成一個更大的有序區(qū),而直接選擇排序是從無序區(qū)選一個最小的元素直接放到有序區(qū)的...
2011-08-09 11:15
28520
白話經(jīng)典算法系列之五 歸并排序的實現(xiàn)
歸并排序是建立在歸并操作上的一種有效的排序算法。該算法是采用分治法(Divide and Conquer)的一個非常典型的應(yīng)用。首先考慮下如何將將二個有序數(shù)列合并。這個非常簡單,只要從比較二個數(shù)列的第...
2011-08-11 11:01
266342
白話經(jīng)典算法系列之六 快速排序 快速搞定
快速排序由于排序效率在同為O(N*logN)的幾種排序方法中效率較高,因此經(jīng)常被采用,再加上快速排序思想----分治法也確實實用,因此很多軟件公司的筆試面試,包括像騰訊,微軟等知名IT公司都喜歡考這個...
2011-08-13 17:19
400166
白話經(jīng)典算法系列之七 堆與堆排序
堆排序與快速排序,歸并排序一樣都是時間復(fù)雜度為O(N*logN)的幾種常見排序方法。學(xué)習(xí)堆排序前,先講解下什么是數(shù)據(jù)結(jié)構(gòu)中的二叉堆。二叉堆的定義二叉堆是完全二叉樹或者是近似完全二叉樹。二叉堆滿足二個特...
2011-08-22 20:04
326944
白話經(jīng)典算法系列之八 MoreWindows白話經(jīng)典算法之七大排序總結(jié)篇
在我的博客對冒泡排序,直接插入排序,直接選擇排序,希爾排序,歸并排序,快速排序和堆排序這七種常用的排序方法進(jìn)行了詳細(xì)的講解,并做成了電子書以供大家下載。下載地址為:http://download.cs...
2012-09-10 10:08
42178
白話經(jīng)典算法系列之九 從歸并排序到數(shù)列的逆序數(shù)對(微軟筆試題)
首先來看看原題 微軟2010年筆試題在一個排列中,如果一對數(shù)的前后位置與大小順序相反,即前面的數(shù)大于后面的數(shù),那么它們就稱為一個逆序數(shù)對。一個排列中逆序的總數(shù)就稱為這個排列的逆序數(shù)。如{2,4,3,1...
2012-10-15 09:15
29650
【白話經(jīng)典算法系列之十二】數(shù)組中只出現(xiàn)1次的兩個數(shù)字(百度面試題)
微博http://weibo.com/MoreWindows已開通,歡迎關(guān)注。本系列文章地址:http://blog.csdn.net/MoreWindows/article/category/859...
2012-11-27 09:17
34957
【白話經(jīng)典算法系列之十三】隨機(jī)生成和為S的N個正整數(shù)——投影法
【白話經(jīng)典算法系列之十三】隨機(jī)生成和為S的N個正整數(shù)——投影法 隨機(jī)生成和為S的N個正整數(shù)有很多種解法。下面講解一種比較高效且比較有趣味性的解法——投影法。 以生成和為20的4個數(shù)為例...
2013-01-04 13:46
15458