1, 一個(gè)文本文件有多行,每行為一個(gè)URL。請編寫(xiě)代碼,統計出URL中的文件名及出現次數。
a) 文件名不包括域名、路徑和URL參數,例如http://www.rs.com/n.op/q/rs?id=1中的文件名是rs。
b) 部分URL可能沒(méi)有文件名,例如http://www.abc.com/,這類(lèi)統計為“空文件名”。
c) 出現在不同URL中的相同文件名視為同一文件名,例如http://www.ceshi.com/hi.php
和ftp://ftp.cdef.com/hi.php為同一文件名
文件內容示例如下:
http://www.test.com/abc/de/fg.php?id=1&url=http://www.test.com/index.html
http://www.ceshi.com/hi.jsp
ftp://ftp.ceshi.com/hi.jsp
http://www.hello.com/cw/hi.jsp?k=8
http://www.hi.com/jk/l.html?id=1&s=a.html
http://www.rs.com/n.op/q/rs?id=1
http://www.abc.com/
2,一個(gè)簡(jiǎn)單的論壇系統,以數據庫儲存如下數據:
用戶(hù)名,email,主頁(yè),電話(huà),聯(lián)系地址,發(fā)帖標題,發(fā)帖內容,回復標題,回復內容。
每天論壇訪(fǎng)問(wèn)量300萬(wàn)左右,更新帖子10萬(wàn)左右。
請給出數據庫表結構設計,并結合范式簡(jiǎn)要說(shuō)明設計思路。
3,現有兩個(gè)文件,
a)數據文件A,格式為:關(guān)鍵詞、IP地址、時(shí)間,記錄條數為1000萬(wàn)左右,該文件是無(wú)序排列的。
b)數據文件B是關(guān)鍵詞ID到關(guān)鍵詞的對應表文件,格式為:ID、關(guān)鍵詞,記錄條數在100萬(wàn)左右,也是無(wú)序排列的。該對應表中的記錄是一一對應的,不存在ID或者關(guān)鍵詞重復的情況。
要求將數據文件A對應的關(guān)鍵詞替換為B中的ID,生成新的數據文件C,數據文件C的格式為:關(guān)鍵詞ID、IP地址、時(shí)間。
請設計一個(gè)程序,實(shí)現上述功能,并分析時(shí)間復雜度和空間復雜度。運行程序所使用的服務(wù)器的內存為1G,硬盤(pán)足夠大。(至少要給出關(guān)鍵算法和設計思路)
------------------------------
貌似這個(gè)是很常見(jiàn)的了,嗯~~第一個(gè)題目自己做過(guò).好像是某天一時(shí)興起用php寫(xiě)得一個(gè)..回頭明天上午查查我機器看看.第三個(gè)不錯..剛好下了sogou實(shí)驗室里的數據,明天中午拿那堆數據試試
看電視又忘了時(shí)間.10點(diǎn)半了..唉~~睡覺(jué)睡覺(jué)去
補上今天找到的第一個(gè)題目的核心代碼.代碼丟了好久.找了半天才找到
$t = "http://www.test.com/abc/de/fg.cgi?id=1&url=http://www.test.com/index.html?id=3" ;
$pattern = "|\/([^/]*?[^\?\/]{0,4})(\?.*?){0,}$|i";
echo grepStringArryValue($pattern,$t,1);
function grepStringArryValue($pattrn,$tager,$i){
if(!preg_match ($pattrn,$tager,$arraylist))
return false;
if(count($arraylist[$i])>=$i-1)
return $arraylist[$i];
return false ;
}
這是段php.采用正則提取需要的數據,如果沒(méi)有的話(huà) 則返回false.用得是php.這幾個(gè)月用php多.工作的時(shí)候閑著(zhù)就寫(xiě)出來(lái)了.其實(shí)很簡(jiǎn)單. 關(guān)鍵就那句"|\/([^/]*?[^\?\/]{0,4})(\?.*?){0,}$|i" 我測試了題目里的主要的那幾個(gè)link.基本上都能按要求提取出來(lái),至于讀取文件,我懶得寫(xiě),反正就是fopen()....今天太忙了.時(shí)間安排得太滿(mǎn).新收購的網(wǎng)站需要個(gè)后臺.下個(gè)星期就要.寫(xiě)起來(lái)倒簡(jiǎn)單.關(guān)鍵是業(yè)務(wù)比較復雜.還有什么短信息..@^%%^#$@& 頭大!!