資料結構學習心得(一)

2021-06-22 16:09:21 字數 2476 閱讀 4047

計算機現在不在侷限於數字計算,更多應用於控制,管理及資料處理等非數值計算領域。

這裡面涉及到兩個問題:資訊的表示,資訊的處理。

分析待處理問題中的物件的特徵及個物件之間存在的關係,這既是資料結構這門課索要研究的問題。

編寫解決實際問題的程式的一般過程:

------如何用資料形式描述問題?--即由問題抽象出乙個適當的數學模型。

------問題所涉及的資料量大小及資料之間的關係;

------如何在計算機中儲存資料及體現資料之間的關係?

------處理問題時需要對資料作何種運算?

------所編寫的程式的效能是否良好?

**號碼查詢系統:本問題是一種典型的**問題,資料與資料成簡單的線性關係

磁碟目錄檔案系統:是一種典型的樹型結構問題,資料與資料成一對多的關係,是一種典型的非線性關係結構---樹型結構

交通網路圖:從乙個地方到另乙個地方可以有多條路徑。本問題是一種典型的網狀結構問題,資料與資料成多對多的關係,是一種非線性關係結構。

資料結構中的專業術語(概念):

資料(data):客觀事物的符號表示,在電腦科學種是所有能輸入到計算機中並被電腦程式處理的符號的總稱。

資料元素(data element):資料的基本單位,在程式中通常作為乙個整體來進行考慮和處理。乙個資料元素由若干個資料項組成。

資料物件:性質相同的資料元素的集合,是資料的乙個子集。

什麼是資料結構??有哪幾種?

資料結構:相互之間(存在)一定聯絡(關係)的資料元素的集合。元素之間的相互聯絡(關係)成為邏輯結構。資料元素之間的路基結構有四種基本型別:1.集合(結構中的元素除了「同屬於乙個集合」外,沒有其他關係)2.線性結構(結構中的資料元素存在一對一的關係)3.樹型結構(存在一對多的關係)4.圖狀結構或網狀結構(多對多的關係)

資料元素之間的關係可以是元素之間代表某種含義的自然關係,也可以是為處理問題方便而人為定義的關係,這種自然或人為定義的「關係」稱為資料元素之間的邏輯關係,相應的結構稱為邏輯結構。

資料結構定義那肯定包括兩點:資料元素和其之間的關係。data-structure(d,s)

資料結構在計算機記憶體中的儲存包括資料元素的儲存和元素之間的關係的表示。儲存資料沒什麼說的,資料元素之間的關係的表示的不同,得到不同的儲存結構。

元素之間的關係在計算機中有兩種不同的表示方法:順序表示和非順序表示。由此得出兩種不同的儲存結構:順序儲存結構和鏈式儲存結構

順序儲存結構:用資料元素在儲存器中的相對位置來表示資料元素之間的邏輯結構(關係)。

鏈式儲存結構:在每乙個資料元素中增加乙個存放另乙個元素位址的指標(pointer),用該指標來表示資料元素之間的邏輯結構(關係)。

資料的邏輯結構和物理結構是密不可分的兩個方面。乙個

演算法的設計取決於所選定的邏輯結構,而演算法實現依賴於所採用的儲存結構。

c語言中,用一維陣列表示順序儲存結構;用結構體型別表示鏈式儲存結構。

資料結構的三個組成部分:

邏輯結構:資料元素之間邏輯關係的描述d_s=(d,s)

儲存結構:資料元素在計算機中的儲存及其邏輯結構的表現稱為資料的儲存結構或物理結構。

資料操作:對資料要進行的運算。

資料結構的運算包括哪些???

adt(抽象資料型別abstract data type)=(d,s,p),d是資料物件,s是d上的關係集,p是對d的基本操作集。

演算法的五個特性:有窮性,確定性,可行性,輸入,輸出。演算法:對特定問題求解方法(步驟)的一種描述,是指令的有限序列,其中每一條指令表示乙個或多個操作。

演算法和程式是兩個不同的概念。乙個電腦程式時對乙個演算法使用某種程式語言的具體實現。演算法必須可終止 意味著不是所有的電腦程式都是演算法。

時間複雜度:常用最深層迴圈內的語句中的原操作的執行頻度(重複執行的次數)來表示。表示時間複雜度的階有:o(1)常量 時間階,o(n)線性時間階,o(log n)對數時間階,o(n log n)線性對數時間階o(n^k

)k>=2,k次方時間階

下面六中計算演算法時間的多項式是最常用的,其中關係為:o(1)

指數時間的關係為:o(2^n)

空間複雜度:該儲存空間一般包括三個方面:指令常熟變數所占用的儲存空間;輸入資料所占用的儲存空間;輔助(儲存)空間;

空間複雜度指的是輔助空間

資料結構學習心得總結

學習完成後,受益良多,也非常喜悅,非常開心,好像終於打了一場勝仗一樣!我打算將這乙個月的學習心得做乙個彙總,記錄下來。希望能給初學者帶來信心和經驗,能給大家分享這份快樂 剛開始打算學資料結構,是因為找工作面試的時候,很多公司都要求對資料結構有了解。沒辦法,我只有硬著頭皮學了。但是我沒有任何學習思路,...

資料結構學習心得系列(三)

本博文意在鞏固基礎知識,高手請繞過。部分 和內容參考嚴蔚敏人民郵電版出版社 資料結構 樹和二叉樹 樹樹 tree 是n n 0 個結點的有限集 t,在任意一棵非空樹中 有且僅有乙個特定的結點,稱為樹的根 root 當n 1 時,其餘結點可分為 m m 0 個互不相交的有限集 t1,t2,tm,其中每...

c語言資料結構學習心得 棧

棧 stack 只允許在一端進行插入或刪除操作的線性表 棧頂 top 棧中允許進行插入和刪除操作的那一端 棧底 bottom 固定的,不允許進行插入或刪除的另一端 1.棧是受限的線性表,所以自然具有線性關係。2.棧中元素後進先出。棧的順序儲存 順序棧 define maxsize 50 定義棧中元素...