下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、計算機面試題目及答案1 編程:用 C 語言實現(xiàn)一個revert 函數(shù),它的功能是將輸入的字符串在原串上倒序后返回。2 編程:用 C 語言實現(xiàn)函數(shù)void * memmove(void *dest,const void*src,size_t n) 。 memmove 函數(shù)的功能是拷貝src 所指的內(nèi)存內(nèi)容前n 個字節(jié)到dest 所指的地址上。3 英文拼寫糾錯:在用戶輸入英文單詞時,經(jīng)常發(fā)生錯誤,我們需要對其進行糾錯。假設(shè)已經(jīng)有一個包含了正確英文單詞的詞典,請你設(shè)計一個拼寫糾錯的程序。( 1)請描述你解決這個問題的思路;( 2)請給出主要的處理流程,算法,以及算法的復雜度;( 3)請描述可能的改進
2、(改進的方向如效果,性能等等,這是一個開放問題)。4 尋找熱門查詢:搜索引擎會通過日志文件把用戶每次檢索使用的所有檢索串都記錄下來,每個查詢串的長度為1-255 字節(jié)。 假設(shè)目前有一千萬個記錄, 這些查詢串的重復度比較高,雖然總數(shù)是1 千萬, 但如果除去重復后, 不超過 3 百萬個。 一個查詢串的重復度越高,說明查詢它的用戶越多,也就是越熱門。請你統(tǒng)計最熱門的10 個查詢串,要求使用的內(nèi)存不能超過1G。( 1)請描述你解決這個問題的思路;( 2)請給出主要的處理流程,算法,以及算法的復雜度。5 集合合并:給定一個字符串的集合,格式如:aaa bbb ccc , bbb ddd ,eee fff
3、, ggg, ddd hhh 要求將其中交集不為空的集合合并,要求合并完成后的集合之間無交集,例如上例應輸出aaa bbb ccc dddhhh, eee fff, ggg( 1)請描述你解決這個問題的思路;( 2)請給出主要的處理流程,算法,以及算法的復雜度( 3)請描述可能的改進(改進的方向如效果,性能等等,這是一個開放問題)。參考答案1 題char *revert(char * str)int n=strlen(str);int i=0;char c;for(i=0;i c=str;str=strn-i;strn-i=c;return str;2 題void * memmove(void
4、 *dest,const void *src,size_t n)assert(dest!=0)&&(src!=0);char * temp=(char * )dest;char * ss=(char * )src;int i=0;for(;i *temp =*ss ;return temp;3 題(1)思路: 字典以字母鍵樹組織,在用戶輸入同時匹配(2) 流程 :每輸入一個字母:沿字典樹向下一層,a)若可以順利下行,則繼續(xù)至結(jié)束,給出結(jié)果;b)若該處不能匹配,糾錯處理,給出拼寫建議,繼續(xù)至a);算法 :1 . 在字典中查找單詞字典采用27 叉樹組織,每個節(jié)點對應一個字母,查找就
5、是一個字一個字母匹配.算法時間就是單詞的長度k.2 .糾錯算法情況:當輸入的最后一個字母不能匹配時就提示出錯,簡化出錯處理,動態(tài)提示可能處理方法 :(a)當前字母前缺少了一個字母:搜索樹上兩層到當前的匹配作為建議;(b)當前字母拼寫錯誤:當前字母的鍵盤相鄰作為提示;(只是簡單的描述,可以有更多的)根據(jù)分析字典特征和用戶單詞已輸入部分選擇 (a),(b)處理復雜性分析:影響算法的效率主要是字典的實現(xiàn)與糾錯處理(a)字典的實現(xiàn)已有成熟的算法,改進不大,也不會成為瓶頸;(b)糾錯策略要簡單有效,如前述情況,是線性復雜度;(3)改進策略選擇最是重要,可以采用統(tǒng)計學習的方法改進。4 題(1)思路:用哈希
6、做(2) 首先逐次讀入查詢串,算哈希值,保存在內(nèi)存數(shù)組中,同時統(tǒng)計頻度(注意值與日志項對應關(guān)系)選出前十的頻度,取出對應的日志串,簡單不過了。哈希的設(shè)計是關(guān)鍵。5 題( 1 )思路:先將集合按照大小排列后,優(yōu)先考慮小的集合是否與大的集合有交集。有就合并,如果小集合與所有其他集合都沒有交集,則獨立。 獨立的集合在下一輪的比較中不用考慮。這樣就可以盡量減少字符串的比較次數(shù)。當所有集合都獨立的時候,就終止。( 2)處理流程:1. 將集合按照大小排序,組成集合合并待處理列表2. 選擇最小的集合,找出與之有交集的集合,如果有,合并之;如果無,則與其它集合是獨立集合,從待處理列表中刪除。3. 重復直到待處
7、理列表為空算法:1 。將集合按照大小從小到大排序,組成待處理的集合列表。2。取出待處理集合列表中最小的集合,對于集合的每個元素,依次在其他集合中搜索是否有此元素存在:1> 若存在, 則將此小集合與大集合合并,并根據(jù)大小插入對應的位置 。轉(zhuǎn)3。2>若不存在,則在該集合中取下一個元素。如果無下一個元素,即所有元素都不存在于其他集合。則表明此集合獨立,從待處理集合列表中刪除。并加入結(jié)果集合列表。轉(zhuǎn)3。3。如果待處理集合列表不為空,轉(zhuǎn)2。如果待處理集合列表為空,成功退出,則結(jié)果集合列表就是最終的輸出。算法復雜度分析:假設(shè)集合白勺個數(shù)為n,最大的集合元素為m排序的時間復雜度可以達到n*log(n) 然后對于元素在其他集合中查找,最壞情況下為( n-1 ) *m 查找一個集合是否與其他集合有交集的最壞情況是m*m*(n-1) 合并的時間復雜度不會超過查找集合有交集的最壞情況。所以最終最壞時間復雜度為O(m*m*n*n)需要說明的是:此算法的平均時間復雜度會很低,因為無論是查找還是合并,都是處于最壞情況的概率很小,而且排序后優(yōu)先用最小集合作為判斷是否獨立的對象,優(yōu)先與最大的集合進行比較,這些都最大的回避了最壞情況。(3)可
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 異黃樟素生物合成機制-洞察分析
- 元宇宙的區(qū)塊鏈技術(shù)應用-洞察分析
- 《熔體破裂現(xiàn)象》課件
- 性激素與子宮內(nèi)膜異位癥-洞察分析
- 疫情期間的健康防護-洞察分析
- 辦公環(huán)境下的食品安全培訓課程設(shè)計
- 玩具設(shè)計師職責描述
- 內(nèi)容創(chuàng)新推動下的教育現(xiàn)代化進程
- 健康教育課程的設(shè)計與實踐應用研究
- 2025購銷合同解除協(xié)議書
- 工業(yè)循環(huán)水處理行業(yè)市場調(diào)研分析報告
- 2025公司集團蛇年新春年會游園(靈蛇舞動共創(chuàng)輝煌主題)活動策劃方案-31P
- 2024年高考歷史必修部分重點必考知識點總結(jié)(經(jīng)典版)
- 《計算機視覺》教學課件-第08章1-神經(jīng)網(wǎng)絡和深度學習1
- 職業(yè)衛(wèi)生技術(shù)服務機構(gòu)檢測人員考試真題題庫
- 人教版2024年小學二年級上學期語文期末考試往年真題
- 安全月度例會匯報材料模板
- 大國兵器學習通超星期末考試答案章節(jié)答案2024年
- 2024年無子女離婚協(xié)議書范文百度網(wǎng)盤
- UNIT 4 Section Ⅳ Lesson 3 My Favourite Comedian 學案 高中英語北師大版 (選擇性必修第二冊)
- 24秋國家開放大學《0-3歲嬰幼兒的保育與教育》期末大作業(yè)參考答案
評論
0/150
提交評論