本次視頻講解為試講,部分材料來源于網絡,不代表最后成書的質量。
有任何建議可以直接在公眾號后臺回復。
2020版前言
本書針對計算機/軟工相關專業數據結構考研所制,為灰灰考研系列復習全書,可作為數據結構考研復習時使用的復習全書。
皮皮灰先回答三個大家最關心的問題。
1.為什么要編寫灰灰全書(數據結構)?
市面上現存的考研數據結構講解大多針對統考408,與各大高校自主命題的試題往往不適配(要么缺了內容,要么多了內容)。
主要缺失的內容有以下幾點:
1.缺少動態規劃的講解
2.對貪心法、蠻力法、分治法涉獵甚少
3.背包問題完全被pass掉了
對于這些缺失的內容,灰灰數據結構全書均有以各大高校真題為突破口的相關補充。
2. 為什么選擇灰灰全書(數據結構)?
灰灰全書最有價值的一點:皮皮灰整理了近幾年100所高校(985/211/重點)的數據結構考研真題,并將其按內容依次整理至各章節的習題供各位考生學習。市面上的習題大多過于古老貪心算法 背包問題 c語言,00后的題?
3. 如何以考研為目的學習數據結構?
首先皮皮灰表明下對這個問題的看法:
1、如果你踏踏實實按部就班正常學習數據結構,學會了考試自然沒問題
2、如果你只是為了考研拿高分,數據結構一些先修課程(C語言,離散數學)不認真學習,直接死背算法概念(考研中數據結構算法是背的完的),你也同樣可以取得高分。但這樣以考研為目的學習的數據結構的知識是殘缺的,是不利于今后更深入的學習的。
但是我們現在的首要矛盾是時間與分數的不一致性:在盡量短的時間(1個月時間)內,取得較為理想的分數,這就需要一定的技巧。
(1)關于先修課程
皮皮灰個人認為,如果你只是為了應付考研,數據結構先修課只需要理解清楚下面這幾點。
1.順序結構:單純地從上往下執行。
2.選擇結構:
如果(今天天氣好),那么就去外面跑步鍛煉。
如果(今天下雨了),那么就在屋子里面不出去。
3.循環結構:
程序在一定條件下,原地轉圈
最初有1根筷子;
循環(每次都增加一根筷子){
如果(筷子數量小于10)筷子數量加1
如果(筷子數量大于或者等于10)退出循環
}
4.結構體與指針
現實世界中的青蛙可以抽象成一類對象,一個青蛙對象又有特有的屬性(青蛙的顏色,青蛙的大小),下圖表示了一個青蛙對象。
結構體可以將上述青蛙表示為
{
name; //數據域
int age; //數據域
Frog *next; //指針域
}Frog;
那么不同的青蛙之間怎么建立聯系?
通過指針(指針包含下一地址信息),可以建立一個一個青蛙之間的關系。這就是數據結構中的順序存儲結構。
5.什么是函數?
以一道題為例子
你現在是一個買賣青蛙的 。每天的青蛙價格不一樣,[i]代表青蛙在第 i 天的價格,求只做一次交易(買入 1 只,賣出 1 只)能得到的最大收益(你必須先買了青蛙之后才能賣青蛙)。
函數:int ([ ])
例子:
輸入: i0 1 2 3
[i] 41 2 3
輸出:2
函數名稱:上述函數函數名稱為
輸入參數:青蛙每天的價格數組
函數主體:編程需要完成的功能,計算買賣青蛙最大的收益。
返回類型與返回結果:上述函數返回一個int型的結果
(2)考綱是靈魂
無論你選擇的是什么參考書,參考書僅僅只能作為一個參考,不能完全照著上面學習。
對于各個學校自主命題的專業課,考綱才是靈魂。
市面上的數據結構針大多對的是統考408,并不是各個學校自主命題的參考書。因此,有非常多的知識點是不需要掌握的,如果你把大量時間花在這個上面,那就得不償失了。
比如某學校數據結構的考綱:
排序
(1)排序的基本概念。
(2)插入排序、冒泡排序、快速排序、堆排序、歸并排序、基數排序算法的原理、復雜度。
可以得知,排序這一章沒有外部排序這一小節,在復習中,就可以把這一小節跳過。
市場上的數據結構參考書也有著不少知識點的缺失,
某學校數據結構的考綱:
算法基礎
(1)字符串模式匹配算法。
(2)貪心法、分治法、動態規劃的基本概念。
(3)計算復雜度類別的基本概念,NP- 問題。
如果你死跟數據結構參考書,你就GG了,這個知識點需要從算法書上學習。去年該學校真題:
(3)掌握好復習深度
備考本門專業課考試,不應該糾結于死板的諸如:加不加*號,用不用&之類的純語言問題,而應該把重點放在對于算法整體的理解上,放開死板的語法知識。
對于代碼題,如果學校沒有明確的語言要求,建議使用C++進行編寫:new,cin,cout等可以節省大量的時間而且不容易出錯。
對于復習深度,不同學校的專業課考試難度是不一樣的,有的學校考圖的算法題,但有的學校不考算法題。不同學校之間的題目難度差別也很大,這就需要考生根據自己選擇的學校控制復習的深度。
那么該如何掌握好復習深度?
答案是研究歷年真題,通過歷年真題,可以確定考試題型、考試趨勢、考試難度,以某學校真題為例:
從這兩年的考題中,可以掌握一些規律:
1.算法題為2道,均為15分。
2.考察范圍為圖與樹,目前暫時沒考過順序結構。
3.樹的題目需要掌握非遞歸解法。
4.圖算法沒有給結構體,需要自己定義,考試前需要特別準備。
針對這些規律,我們可以有針對的進行準備
1.算法題復習重點為圖與樹,但順序表的算法題也不能掉以輕心。
2.樹的算法題需要掌握非遞歸解法。
3.圖的結構體需要特別記憶。
最后,不管你考什么,最難不過算法導論。
(4)關于練習題的選擇
后期皮皮灰會專門出一本數據結構的習題冊,涵蓋近幾年各大985/211/重點雙非的習題大全貪心算法 背包問題 c語言,敬請關注。
最后,皮皮灰祝愿您考上理想的大學,成為理想中的自己。
從哪里獲得灰灰全書(數據結構)?
目前灰灰全書仍在整理之中,待視頻更新完成時,灰灰全書將正式上架