資料結構的複習重點(1)

2021-04-21 07:51:36 字數 2576 閱讀 5931

(引用http://dj861212.bokee.com/tb.b?diaryid=15614577的)

2007-11-26 22:59

資料結構的複習重點

資料結構各章節重點勾劃:

第0章 概述

本章主要起到總領作用,為讀者進行資料結構的學習進行了一些先期鋪墊。大家主要注意以下幾點:資料結構的基本概念,時間和空間複雜度的概念及度量方法,演算法設計時的注意事項。本章考點不多,只要稍加注意理解即可。

第一章 線性表

總體來說,線性表一章可供考查的重要考點有以下幾個方面:

1.線性表的相關基本概念,如:前驅、後繼、表長、空表、首元結點,頭結點,頭指標等概念。

2.線性表的結構特點,主要是指:除第一及最後乙個元素外,每個結點都只有乙個前趨和只有乙個後繼。

3.線性表的順序儲存方式及其在具體語言環境下的兩種不同實現:表空間的靜態分配和動態分配。靜態鍊錶與順序表的相似及不同之處。

4.線性表的鏈式儲存方式及以下幾種常用鍊錶的特點和運算:單鏈表、迴圈鍊錶,雙向鍊錶,雙向迴圈鍊錶。其中,單鏈表的歸併演算法、迴圈鍊錶的歸併演算法、雙向鍊錶及雙向迴圈鍊錶的插入和刪除演算法等都是較為常見的考查方式。此外,近年來在不少學校中還多次出現要求用遞迴演算法實現單鏈表輸出(可能是順序也可能是倒序)的問題。

在鍊錶的小題型中,經常考到一些諸如:判表空的題。在不同的鍊錶中,其判表空的方式是不一樣的,請大家注意。

5.線性表的順序儲存及鏈式儲存情況下,其不同的優缺點比較,即其各自適用的場合。單鏈表中設定頭指標、迴圈鍊錶中設定尾指標而不設定頭指標以及索引儲存結構的各自好處。

第二章 棧與佇列

棧與佇列,是很多學習ds的同學遇到第一只攔路虎,很多人從這一章開始坐暈車,一直暈到現在。所以,理解棧與佇列,是走向ds高手的一條必由之路,。

學習此章前,你可以問一下自己是不是已經知道了以下幾點:

1.棧、佇列的定義及其相關資料結構的概念,包括:順序棧,鏈棧,共享棧,迴圈佇列,鏈隊等。棧與佇列訪問資料(請注意包括:存和取兩部分)的特點。

2.遞迴演算法。棧與遞迴的關係,以及借助棧將遞迴轉向於非遞迴的經典演算法:n!階乘問題,fib數列問題,hanoi問題,揹包問題,二叉樹的遞迴和非遞迴遍歷問題,圖的深度遍歷與棧的關係等。其中,涉及到樹與圖的問題,多半會在樹與圖的相關章節中進行考查。

3.棧的應用:數值表示式的求解,括號的配對等的原理,只作原理性了解,具體要求考查此為題目的演算法設計題不多。

4.迴圈佇列中判隊空、隊滿條件,迴圈佇列中入隊與出隊演算法。

如果你已經對上面的幾點瞭如指掌,棧與佇列一章可以不看書了。注意,我說的是可以不看書,並不是可以不作題哦。

第三章 串

經歷了棧一章的痛苦煎熬後,終於迎來了串一章的柳暗花明。

串,在概念上是比較少的乙個章節,也是最容易自學的章節之一,但正如每個過來人所了解的,kmp演算法是這一章的重要關隘,突破此關隘後,走過去又是一馬平川的大好ds山河了,呵呵。

串一章需要攻破的主要堡壘有:

1.串的基本概念,串與線性表的關係(串是其元素均為字元型資料的特殊線性表),空串與空格串的區別,串相等的條件

2.串的基本操作,以及這些基本函式的使用,包括:取子串,串連線,串替換,求串長等等。運用串的基本操作去完成特定的演算法是很多學校在基本操作上的考查重點。

3.順序串與鏈串及塊鏈串的區別和聯絡,實現方式。

4.kmp演算法思想。kmp中next陣列以及nextval陣列的求法。明確傳統模式匹配演算法的不足,明確next陣列需要改進之外。其中,理解演算法是核心,會求陣列是得分點。不用我多說,這一節內容是本章的重中之重。可能進行的考查方式是:求next和nextval陣列值,根據求得的next或nextval陣列值給出運用kmp演算法進行匹配的匹配過程。

第四章 陣列與廣義表

學過程式語言的朋友,陣列的概念我們已經不是第一次見到了,應該已經「一回生,二回熟」了,所以,在概念上,不會存在太大障礙。但作為考研課程來說,本章的考查重點可能與大學裡的程式語言所關注的不太一樣,下面會作介紹。

廣義表的概念,是資料結構裡第一次出現的。它是線性表或表元素的有限序列,構成該結構的每個子表或元素也是線性結構的,所以,這一章也歸入線性結構中。

本章的考查重點有:

1.多維陣列中某陣列元素的position求解。一般是給出陣列元素的首元素位址和每個元素占用的位址空間並組給出多維陣列的維數,然後要求你求出該陣列中的某個元素所在的位置。

2.明確按行儲存和按列儲存的區別和聯絡,並能夠按照這兩種不同的儲存方式求解1中型別的題。

3.將特殊矩陣中的元素按相應的換算方式存入陣列中。這些矩陣包括:對稱矩陣,三角矩陣,具有某種特點的稀疏矩陣等。熟悉稀疏矩陣的三種不同儲存方式:三元組,帶輔助行向量的二元組,十字鍊錶儲存。掌握將稀疏矩陣的三元組或二元組向十字鍊錶進行轉換的演算法。

4.廣義表的概念,特別應該明確表頭與表尾的定義。這一點,是理解整個廣義表一節演算法的基礎。近來,在一些學校中,出現了這樣一種題目型別:給出對某個廣義表l若干個求了若干次的取頭和取尾操作後的串值,要求求出原廣義表l。大家要留意。

5.與廣義表有關的遞迴演算法。由於廣義表的定義就是遞迴的,所以,與廣義表有關的演算法也常是遞迴形式的。比如:求表深度,複製廣義表等。這種題目,可以根據不同角度廣義表的表現形式運用兩種不同的方式解答:一是把乙個廣義表看作是表頭和表尾兩部分,分別對表頭和表尾進行操作;二是把乙個廣義表看作是若干個子表,分別對每個子表進行操作。

資料結構複習(1)

1.程式 演算法 資料結構 2.演算法的五個特性 有窮性,確定性,可行性,輸入,輸出 衡量乙個演算法要從 正確性 可讀性 健壯性 效率與低儲存量需求 來考慮 3.時間複雜度與空間複雜度直觀的反映了優劣,不同的演算法可以實現相同的功能我們可以用時間複雜度來衡量乙個演算法的好壞,常見的1 輸入輸出 n ...

資料結構複習 1

資料結構的基本概念 資料 資料是資訊的載體,是描述客觀事物的數,字元以及所有能輸入到計算機中並被電腦程式識別和處理的符號的集合。資料是電腦程式加工的原料。資料元素 資料元素是資料的基本單位,通常作為乙個整體進行考慮和處理。乙個資料元素可由若干資料項組成,資料項是構成資料元素的不可分割的最小單位 例如...

資料結構複習筆記 1

為什麼要學習資料結構?看圖就能明白了!資料結構是什麼?資料結構課程體系 資料結構課程集中討論軟體開發過程中的設計階段 同時設計編碼和分析階段的若干基本問題。此外,為了構造出好的資料結構及其實現,還需考慮資料結構及其實現的評價與選擇。因此,資料結構的內容包括三個層次的五個 要素 如圖1.5 所示。資料...