一、數(shù)據(jù)結(jié)構(gòu)中的算法設(shè)計(jì)題
1. 夯實(shí)基礎(chǔ)
翻看一些王道考研數(shù)據(jù)結(jié)構(gòu)復(fù)習(xí)指南,會(huì)有以下這些知識(shí)點(diǎn):
緒論數(shù)據(jù)結(jié)構(gòu)基本概念算法和算法評(píng)價(jià)2. 線性表
線性表的定義與基本操作線性表的順序、鏈?zhǔn)奖硎?p style="text-indent: 2em;">3. 棧和隊(duì)列棧和隊(duì)列的基本操作棧和隊(duì)列的應(yīng)用特殊矩陣4. 樹和二叉樹
樹和二叉樹的基本概念二叉樹的遍歷和線索二叉樹樹和二叉樹的應(yīng)用5. 圖
圖的基本概念圖的存儲(chǔ)和基本操作圖的遍歷圖的應(yīng)用6. 查找和排序
順序查找和折半查找B樹和B+樹散列表7. 排序
插入 交換 選擇 歸并等內(nèi)部排序外部排序其中,在算法設(shè)計(jì)題中,優(yōu)先級(jí)排序?yàn)椋簶?線性表>圖>排序查找。要熟悉這些基本的算法操作需要對(duì)其涉及的數(shù)據(jù)結(jié)構(gòu)非常的熟悉,所以在名列前茅階段應(yīng)該把重點(diǎn)放在對(duì)基本概念,存儲(chǔ)結(jié)構(gòu)和基本操作上面,而對(duì)于算法設(shè)計(jì)題,只需要短暫思考后,不會(huì)就看著答案,走一遍算法過(guò)程即可。
2. 強(qiáng)化算法編寫
有了名列前茅遍的復(fù)習(xí),能夠達(dá)到的效果就是各種數(shù)據(jù)結(jié)構(gòu)比較清楚,但是寫算法設(shè)計(jì)題時(shí)面臨:1. 沒有任何思路;2. 有思路但是寫起來(lái)磕磕絆絆的情況。針對(duì)名列前茅個(gè)問(wèn)題,我們只要記住任何算法題都有暴力搜索的解法,我們最差也要會(huì)這種解決,第二個(gè)問(wèn)題是本階段要重點(diǎn)解決的,需要做的是熟記常見的c語(yǔ)言語(yǔ)法,編寫方式,然后用大量題型一遍一遍的訓(xùn)練自己完整的寫出算法設(shè)計(jì)題。
請(qǐng)注明出處。
3. 模板化應(yīng)試
在經(jīng)過(guò)了第二個(gè)階段的訓(xùn)練后,應(yīng)該開始有一些感覺了,很多題目的寫法大同小異,我們從中可以提煉出,深度搜索、廣度搜索等算法模板,并在遇到此類算法解法時(shí)套用該模板,一以貫之??佳袑I(yè)課只有短短3個(gè)小時(shí)的時(shí)間,你需要快速的拿到大部分的分?jǐn)?shù),這時(shí)候應(yīng)試技巧就很重要了,而模板化思維是很重要的。
延伸閱讀:
二、線性結(jié)構(gòu)是什么
簡(jiǎn)單地說(shuō),線性結(jié)構(gòu)是一個(gè)數(shù)據(jù)元素的有序(次序)集合。它有四個(gè)基本特征:1)集合中必存在少數(shù)的一個(gè)“名列前茅個(gè)元素”。
2)集合中必存在少數(shù)的一個(gè)“最后的元素”。
3)除最后元素之外,其它數(shù)據(jù)元素均有少數(shù)的“后繼”。
4)除名列前茅元素之外,其它數(shù)據(jù)元素均有少數(shù)的“前驅(qū)”。數(shù)據(jù)結(jié)構(gòu)中線性結(jié)構(gòu)指的是數(shù)據(jù)元素之間存在著“一對(duì)一”的線性關(guān)系的數(shù)據(jù)結(jié)構(gòu)。如(a1,a2,a3,…..,an),a1 為名列前茅個(gè)元素,an 為最后一個(gè)元素,此集合即為一個(gè)線性結(jié)構(gòu)的集合。