一、排序
最快的排序算法是哪個?給阿里2萬多名員工按年齡排序應(yīng)該選擇哪個算法?堆和樹的區(qū)別;寫出快排代碼;鏈表逆序代碼
寫出你所知道的排序算法及時空復(fù)雜度,穩(wěn)定性
二、鏈表
反轉(zhuǎn)鏈表,手寫代碼
三、數(shù)組
四、字符串
給一串字符串比如abbbcccd,輸出a1b3c3d1,手寫代碼(注意有個別字符可能會出現(xiàn)十次以上的情況)
反轉(zhuǎn)字符串,要求手寫代碼,優(yōu)化速度、優(yōu)化空間
最長不重復(fù)子串(最長重復(fù)子串),手寫代碼
子串包含問題(KMP 算法)寫代碼實現(xiàn)
五、樹、二叉樹
二叉樹的插入
二叉查找樹的刪除操作,手寫代碼
二叉樹鏡像,手寫代碼
六、查找算法
給最外層的rootview,把這個根視圖下的全部button背景設(shè)置成紅色,手寫代碼,不許用遞歸
一個序列,它的形式是12349678,9是最高峰,經(jīng)歷了一個上升又下降的過程,找出里面的最大值的位置,要求效率盡可能高
二分查找,手寫代碼
有海量條 url,其中不重復(fù)的有300萬條,現(xiàn)在希望挑選出重復(fù)出現(xiàn)次數(shù)最高的 url,要求效率盡可能的高
一篇英語文章,去掉字符只留下k個,如何去掉才能使這k個字符字典序最小
弗洛伊德算法和 Dijkstra算法的區(qū)別?復(fù)雜度是多少?講講 Dijkstra算法的具體過程
求1000以內(nèi)的水仙花數(shù)以及40億以內(nèi)的水仙花數(shù)
萬億級別的兩個URL文件A和B,如何求出A和B的差集C,(Bit映射->hash分組->多文件讀寫效率->磁盤尋址以及應(yīng)用層面對尋址的優(yōu)化)
蟻群算法與蒙特卡洛算法
百度POI中如何試下查找最近的商家功能(坐標(biāo)鏡像+R樹)
4k屏的一幀占用多少內(nèi)存?
從10億個數(shù)中找符合條件的數(shù)個數(shù)的思路
請在100個電話號碼找出135的電話號碼? 注意 不能用正則,(類似怎么最好的遍歷LogGat日志)
七、堆棧
堆和棧在內(nèi)存中的區(qū)別是什么(數(shù)據(jù)結(jié)構(gòu)方面以及實際實現(xiàn)方面)
八、圖
給出兩個無向圖,找出這2個無向圖中相同的環(huán)路。手寫代碼
算法
遞歸算法與迭代算法有哪些優(yōu)缺點?