- 相關(guān)推薦
百度2012實(shí)習(xí)軟件研發(fā)工程師(C/C++開發(fā))筆試題
找兄弟單詞,例如mary和army是兄弟單詞,即所含字母是一樣的,只是字母順序不同,給出一個單詞,要求在一個字典中找出該單詞的所有兄弟單詞,給出實(shí)現(xiàn)方案。我的解答:
把各個單詞a的各個字母按照字母表順序排序,排序后的新單詞是b,然后根據(jù)b構(gòu)建一棵二叉平衡樹,節(jié)點(diǎn)值為b,各個節(jié)點(diǎn)存儲一個數(shù)組 ,就是b對應(yīng)的所有a,這樣很容易找到所有的兄弟單詞
2. 關(guān)于兩個鏈表是否含有相同節(jié)點(diǎn)的,題目說什么網(wǎng)絡(luò)爬蟲,從一個頁面開始爬,將爬到的url存到一個鏈表里,假設(shè)每個頁面至多含有一個link(重點(diǎn)信息),現(xiàn)在從兩個不同頁面開始爬,將得到的url放到鏈表就得到了兩個鏈表,要求判斷兩個鏈表是否含有相同的url,假設(shè)每個鏈表的包含的url有上百億個,不能用hash,給出算法。
我的解答:
上百億個url應(yīng)該是存在文件里面的,不會全部放到內(nèi)存中。所以建立一棵B樹來存儲第一個鏈,對應(yīng)的url存儲在文件中。然后依次把第二個鏈各個url在B樹做查找工作即可
3. 關(guān)于百度suggestion的
給出實(shí)現(xiàn)這個功能主要的數(shù)據(jù)結(jié)構(gòu)和算法,以及優(yōu)化的方法,提高時間和空間的效率。
我的解答:
采用堆排序算法
每個對應(yīng)十個節(jié)點(diǎn)
[百度2012實(shí)習(xí)軟件研發(fā)工程師(C/C++開發(fā))筆試題]相關(guān)文章:
1.百度2012實(shí)習(xí)軟件研發(fā)工程師(C/C++開發(fā))筆試題
【百度實(shí)習(xí)軟件研發(fā)工程師(C/C++開發(fā))筆試題】相關(guān)文章:
c面試題08-04
軟件開發(fā)專業(yè)實(shí)習(xí)報告08-27
軟件開發(fā)專業(yè)畢業(yè)實(shí)習(xí)報告06-28
軟件工程師實(shí)習(xí)報告01-04
軟件開發(fā)實(shí)習(xí)自我鑒定3篇03-30