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

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

CS中最基本的能力,這方面的準備十分必要,可是準備過程一定十分痛苦python

雖常言道水滴石穿,可是多少小河小溪在石穿以前乾涸!面試

-----------------------------------算法

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

-----------------------------------數據結構

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

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

2.刷15-20分鐘小題,來檢測本身這塊的掌握狀況編碼

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

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

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

數據結構(結合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-排序:插入類,直接插入,折半插入,希爾排序;  交換類,冒泡,快速排序;  選擇排序:簡單選擇,堆排序;  歸併排序,基數排序,外部排序; 各類排序方法的總結;

算法

遞歸分治

貪心

動態規劃

回溯

分支限界

 刷題

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

 

不會的算法題

相關文章
相關標籤/搜索