① 考研數據結構怎樣復習
學習這個不能太操之過急。
你以前學過c++,有很好的基礎,上手應該是很快的。
其它並不算難,掌握常用的一些演算法即可。
可以考虛以下幾點,供參考。
1,要學習大敏遲好演算法,首先要過數據結構這一節。
2,把常用的順序表、鏈表、二叉樹、堆、棧、圖等結構要掌握,知道他特點。
3,常用的排序演算法掌握,如最基本的選擇、插入、冒泡、快速、歸並、拿頃基數、希爾、堆排序等,並知道他們的時間和空間復雜度。
4,掌握遍歷的幾個演算法,先序、中序、後序,層次、廣度,遞歸、非遞歸
5,圖的表示,矩陣表示方法。
6,盡可能的多上滾李機。
7,多看歷年的題庫。
8,把課件看完。
9,多多交流。
抓重點,記筆記。一個月很輕松就搞定了。
② 怎樣才能學好數據結構
一時間也寫不出太具體的方法 就在網上為你找了一個前輩發的帖子 你看一下,肯定比我寫的好。
-------------------------
學習數據結構這門課程至少要經歷三個過程,方可真正
的掌握這門課程,得到一個滿意的成績。這個過程簡單來說就是三個字:活→死→活。
首先,是一個學「活」的過程,就要要求我們對書中的每一個演算法,能夠在腦海中
建立起相應的模型,而不是死板的演算法。比如樹的遍歷非遞歸演算法,在入棧與出棧的過程
中,我們就要在腦海中形成訪問樹每個結點的過程,真正掌握住這個演算法。這樣,全書復
習下來,你的腦海中就有了整個數據結構的模型概念,對任何一個陌生的演算法,將不感到
生疏和害怕。
有些同學到了此處就覺得數據結構已經學好,可以萬事大吉了,其實這還遠遠不夠
,如果參加考試,往往會拿不到高分,甚至還會納悶,為何自己數據結構學的這樣好,成
績卻不盡如人意,因此產生了批卷老師判錯的想法。所以第二個過程,就是一個學「死」
的過程,這個過程要求,要記住書中的演算法(功利一點就是要背誦會所報考學校的考試要
求的演算法)。有的學校有別的特殊要求,也一並背會。如上海交通大學喜歡考平均復雜度
的分析這樣的題目,我們在書上可以找到這樣的分析一共十一個,全部背會,就免去了在
考場上分析的麻煩,如果連答案都能記住,那麼,也不會因為粗心失分了。這一過程也許
有些枯燥,但卻是最重要的過程,比如說背會了樹的後序遍歷非遞歸,遇到了像求某個結
點的所有祖先,兩個結點的共同祖先這樣的題,不用想,直接套用。這樣才是考試的高分
的關鍵:在考場上,遇到考題,不用思考,直接從腦海中找匹配的演算法,直接引用。
有了第二個過程的辛苦,我們就可以得到一個比較高的分數了,如果還想提高,就
要進行第三個過程,再學「活」的過程。這一個過程中就要要求我們,在第二步的基礎上
,多進行思考,看看有哪些演算法有共性,比如說:樹的前序非遞歸遍歷演算法和圖的深度優
先遍歷演算法是不是類似啊,有些什麼不同,有些什麼相同,為什麼會相同;森林轉化為二
叉樹和圖的生成樹的演算法也是這樣,等等。總結出這種共性,這樣就能正確有效的記憶算
法,同時,遇到難題不至於慌亂,能夠從容下手解題。
對於總結共性問題上,這里舉一小個例子,(呵呵,我當初總結出這個,並且和ka
oyan.com斑竹一具討論確定後三天,就在2002年交大第一題考出類似東東)比如樹的遍
歷,不管是遞歸還是非遞歸,也不管是線索樹,還是頭結點有父母信息的樹,它的遍歷其實就是一個尋找到遍歷的第
一個結點,然後再尋找它的後繼結點的過程,我們歸納到此處,就可以試著總結一下三種
遍歷的後繼結點是哪個,有幾種情況:
對於前序遍歷,它的後繼如下:
(1)若有左孩子,則後繼是左孩子;
(2)若無左孩子,有右孩子,則後繼是右孩子;
(3)若既無左孩子,又無右孩子,則是一片葉子;再討論:
(a)若是其父母的左孩子,且父母有右孩子,則後繼是父母的右孩子。
(b)若是其父母的左孩子,且父母無右孩子;
(c)若是其父母的右孩子。
b,c都表示這是某個節點的左子樹前序遍歷的最後一個節點,則需要找第一個有右子
樹的「左祖先」(定義「左祖先」,即找第一個使得當前節點在這個祖先的左子樹上),
然後後繼就是這個祖先的右孩子。
對於中序遍歷,它的後繼如下:
(1)如有右孩子,後繼是右孩子的最左下節點;
(2)若無右孩子,且是父母的左孩子,則後繼就是父母;
(3)若無右孩子,且是父母的右孩子,則一直上溯到第一個「左祖先」(定義如前)
則後繼就是這個祖先。若無這樣的祖先,說明已經遍歷完畢。
對於後序遍歷,它的後繼如下:
(1)若是父母的右孩子,則後繼是父母;
(2)若是父母的左孩子,且父母無右子樹,則後繼是父母;
(3)若是父母的左孩子,父母有右子樹,則後繼是父母右子樹的最先訪問到的節點(
指向父母的右子樹後,一直往左,若不行的話,往右一步,一直到葉子)
總結完了,想一想,我們還能得到哪些提示?經常有一類型題目,要求求某個結點
的直接前驅。其實求前序遍歷的前驅和求後序遍歷的後繼是一樣的,只不過把左換成右而
已,前序遍歷的求後繼和後序遍歷的求前驅、中序遍歷的求前驅和中序遍歷求後繼都有這
樣的對稱關系。因此,總結出共性的東西,許多題目就可以迎刃而解了。問一問讀到這里
的讀者,你現在能夠自己在腦子裡面,非常輕松地像上面那樣,把這個例子裡面的情況都
條理清楚地分析總結出來嗎?如果現在還不行,到考試之前,你必須掌握到這種程度,才
能得到一個自己很滿意的分數。
經過以上的三個過程復習,相信讀者對數據結構的掌握就可以到達比較高的水平了
,如果參加考試,獲得一個比較滿意的成績也很有希望了。當然,達到這一
步並不容易,大量的練習是真正掌握的必由之路。因此,我們建議大家能夠下功夫把本書
中的題目完整地做一遍。能夠真正把本書中的所有題都掌握,絕不僅僅意味著僅會了書中
這幾百道題目,而是意味著對數據結構這門課程的理解,以及對問題的分析能力都有很大
的提高,這樣在考場上即使遇到未曾見過的題目,也就可以從容應對了!
③ 考研數據結構怎樣復習
1、以課本為本,以考綱為綱,把課本吃透。考題肯定是根據指定的教碧塌搭材出,不是根據某家出版社的教輔材料出。平常的考試題目,幾乎百分之百都可以在課本中找到原型——當然經過多層的綜合和深化。
2、三遍讀書法。第一遍應該衫纖以整體瀏覽為主,爭取明白全書概要,不要求理解每個具體知識點;第二遍才細致的理清重點難點;第三遍就是重新梳理,記憶背誦知識點。這樣三遍下來,這本書才算基本上看過了。
3、書看得差不多了,知識體系也整理好了,接下來開始做題。做題必須把握一個原則:先求精,再求多;先求慢,再求快;先求質量,再求數量。
4、背悔拿題。所謂背題,是一個比較形象的說法,並不是說一定就要把整個題目背下來。而是做了以後,把做過的練習冊.試卷等等都保存起來,以後每隔一段時間拿出來看一看。