原创 某海量用戶網站,用戶擁有積分,積分可能會在使用過程中隨時更新。現在要爲該網站設計一種算法,在每次用戶登錄時顯示其當前積分排名。用戶最大規模爲2億;積分爲非負整數,且小於100萬。

http://www.mianwww.com/html/2012/11/17432.html PS: 據說這是迅雷的一道面試題,不過問題本身具有很強的真實性,所以本文打算按照真實場景來考慮,而不侷限於面試題的理想環境。 存儲結構 首先

原创 內聯函數之一

在C中,保護效率的一個方法是使用宏( m a c r o )。宏可以不用普通函數調用就使之看起來像 函數調用。宏的實現是用預處理器而不是編譯器。預處理器直接用宏代碼代替宏調用,所以就沒有了參數壓棧、生成彙編語言的CALL、返回參數、執行彙

原创 圖的遍歷(深度優先遍歷)

圖的遍歷   樹的遍歷我們談了四種方式,大家回憶一下,樹因爲根結點只有一個,並且所有的結點都只有一個雙親,所以不是很難理解。 但是談到圖的遍歷,那就複雜多了,因爲它的任一頂點都可以和其餘的所有頂點相鄰接,因此極有可能存在重複走過某

原创 圖的存儲結構(鄰接矩陣)

圖的存儲結構   圖的存儲結構相比較線性表與樹來說就複雜很多。 我們回顧下,對於線性表來說,是一對一的關係,所以用數組或者鏈表均可簡單存放。樹結構是一對多的關係,所以我們要將數組和鏈表的特性結合在一起才能更好的存放。   那麼

原创 圖的存儲結構(鄰接表)

原文:http://blog.fishc.com/2523.html 鄰接表(無向圖)   鄰接矩陣看上去是個不錯的選擇,首先是容易理解,第二是索引和編排都很舒服~ 但是我們也發現,對於邊數相對頂點較少的圖,這種結構無疑是存在對

原创 字符串和字符串結束標誌

  在C語言中,將字符串作爲字符數組來處理,例如定義一個字符數組長度爲100,而實際有效字符只有40個,爲了測定字符串的實際長度,C語言規定了一個字符串結束標誌,以字符 '\0' 代表,如果有一個字符串,其中第10個字符爲 '\0' 則

原创 VS2010/MFC編程入門之六(對話框:創建對話框模板和修改對話框屬性)

原文:http://www.jizhuomi.com/software/149.html 對話框,大家應該很熟悉了,在我們常用的軟件中大多都有對話框界面,例如,360安全衛士的主界面其實就是個對話框,只是它做了很多美工方面的工作,將其

原创 字符串的最長公共子序列問題

// 最長公共子序列問題.cpp : Defines the entry point for the console application. // /*問題:給出兩個字符串,找出它們的最長公共子序列 什麼是最長公共子序列? 最長公共子序

原创 簡評國內主流搜索引擎智能提示功能

原文:http://www.soft6.com/v9/2009/pldj_0703/102301.html 最近因爲谷歌的被曝光,平時很少被人關注的搜索引擎智能提示功能又引起了很多人的注意。那麼什麼是關鍵詞的智能提示呢。簡單的說就是搜

原创 二元查找樹轉有序雙向鏈表

// 二元查找樹轉有序的雙向鏈表.cpp : Defines the entry point for the console application. // //題目:把二元查找樹轉變成排序的雙向鏈表 //要求:輸入一棵二元查找樹,將該二

原创 二元查找樹轉有序的雙向鏈表

// 二元查找樹轉有序的雙向鏈表.cpp : Defines the entry point for the console application. // //題目:把二元查找樹轉變成排序的雙向鏈表 //要求:輸入一棵二元查找樹,將該二

原创 兩種洗牌算法比較

// 洗牌算法.cpp : Defines the entry point for the console application. // //算法1原理: /* 1.用一個整型數組記錄各個位置是否已經放置了數,如果放置了則不爲0,否則爲

原创 最大子序列求和問題

問題: 給定一整數序列A1, A2,... An (可能有負數),求A1~An的一個子序列Ai~Aj,使得Ai到Aj的和最大 例如:整數序列-2, 11, -4, 13, -5, 2, -5, -3, 12, -9的最大子序列的和爲21。

原创 程序員面試—5大算法

原文:http://www.mianwww.com/html/2012/04/15178.html 其實解決複雜的算法問題時並沒有什麼良方高招,但是下面的介紹的5種方法還是有一定的實用性。下面的方法你練習的越多,就越能鑑別出用什麼方法