校招准備-數據結構與算法


校招中最基礎的一環,筆試與白板擼算法

CS中最基本的能力,這方面的准備十分必要,但是准備過程必定十分痛苦

雖常言道水滴石穿,但是多少小河小溪在石穿之前干涸!

-----------------------------------

每天2-3道算法題,完不成就晚上加班

-----------------------------------

 一次總計花一個小時時間學習:

1.找到對應知識點,梳理一遍,弄清楚難點

2.刷15-20分鍾小題,來檢測自己這塊的掌握情況

3.刷20-30分鍾對應的算法題

----------------------------------------------

結合算法導論,啊哈算法,王道數據結構等書籍;

數據結構(結合c,java與python語言)

 

1-線性表:鏈表的各種操作(雙鏈表的插入,刪除 手寫 );java中的應用; (6.7 鏈表,牛客做題)

關於刪除鏈表節點:先解決當前節點后面的,再解決前面的

棧:定義,基本操作(初始化,判斷為空,進棧,出棧,讀棧頂元素,),順序棧和鏈棧;應用

1-隊列:定義,基本操作(初始化,判斷為空,入隊,出隊,),順序存儲和鏈式存儲,雙端隊列;應用

數組與矩陣:數組的各種基本操作,矩陣的壓縮存儲

1-字符串:字符串的基本操作與實現

堆:定義與基本操作,應用

1-樹:二叉樹的定義,基本性質,順序存儲,鏈式存儲,三種遍歷方法,樹與森林;樹的應用:二叉排序樹的定義,查找,插入,刪除;平衡二叉樹的定義,插入,;哈夫曼樹的定義構建;哈夫曼編碼; b樹,b+樹,紅黑樹;

紅黑樹的概念、平均算法復雜度、最好最壞情況下的算法復雜度、、左右旋轉、顏色變換。面試官常見的算法套路有:你熟悉C++的stl嗎?你說熟悉,ok,stl的map用過吧?用過,ok,那map是如何實現的?紅黑樹,ok,那什么是紅黑樹?這樣提問,紅黑樹就開始了。Java的也類似。

1-圖:定義,概念,存儲;兩種遍歷;圖的應用:最小生成樹,最短路徑,拓撲排序,關鍵路徑;

1-查找:順序查找,分塊查找,折半查找,B樹,b+樹;hash表;字符串模板匹配; 算法的分析和應用

哈希表,對哈希表的細節要求很高,比如哈希表的沖突檢測、哈希函數常用實現、算法復雜度;比如百度二面就讓我寫一個哈希表插入元素算法,元素類型是任意類型。

1-排序:插入類,直接插入,折半插入,希爾排序;  交換類,冒泡,快速排序;  選擇排序:簡單選擇,堆排序;  歸並排序,基數排序,外部排序; 各種排序方法的總結;

算法

遞歸分治

貪心

動態規划

回溯

分支限界

 刷題

沒有什么筆試是刷幾十道題不能解決的,如果不想那就再刷幾十遍

 

不會的算法題

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM