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