資料:人們利用文字元號、數字符號以及其他規定的符號對現實世界的事物及其活動所做的抽象描述。(學號、姓名、性別)
資料元素:表示乙個事物的一組資料。是資料(集合)中的乙個「個體」,是
資料的基本單位。((學號和姓名和性別的整體的一組資料)
資料項:
構成資料元素的資料,是資料結構中討論的最小單位。(學號和姓名和性別的整體)
抽象資料元素:沒有實際含義的 資料元素。
抽象資料型別:沒有確切定義的 資料型別。
資料的邏輯結構:資料元素之間的 相互****。
資料的儲存結構:資料元素在計算機中的 儲存方式。
資料的操作:對一種 資料型別的資料 進行的某種處理。
資料的操作集合:對一種資料型別的資料進行的 所有操作。
資料的邏輯結構
集合:資料元素間除「同屬於乙個集合」外,無其它關係。
線性結構:除第乙個和最後乙個資料元素外,每個資料元素只有乙個前驅和乙個後繼資料元素。
樹結構:除根結點外,每個資料元素只有乙個前驅資料元素,可有0個或若干個後繼資料元素。
圖結構:每個資料元素可有0個或若干個前驅資料元素和0個或若干個後繼資料元素。
資料的儲存結構
順序儲存結構:將邏輯上相鄰的結點儲存在物理位置相鄰的儲存單元中。結點間的邏輯關係由儲存單元的鄰接關係來體現。
鏈結儲存結構:指邏輯上相鄰的結點不一定儲存在相鄰的儲存單元,結點間的邏輯關係由附加的指標欄位來體現。
索引儲存結構:在儲存結點資訊的同時,建立附加的索引表。索引表中的每乙個索引項由關鍵字(唯一標識某結點)和該結點的位址組成。
1.演算法的定義
演算法(algorithm)是指在解決問題時,按照某種機械步驟一定可以得到問題結果(有解時給出問題的解,無解時給出無解的結論)的處理過程。
演算法是解一確定類問題的任意一種特殊的方法。
在電腦科學中,演算法是用
計算機解一類問題的精確、有效方法的代名詞。
例:警察抓小偷
警察局抓了a,b,c,d四名偷竊嫌疑犯,其中只有一人是小偷。審問中
a說:「我不是小偷。」
b說:「c是小偷。」
c說:「小偷肯定是d。」
d說:「c在冤枉人。」
現在已經知道四個人中三人說的是真話,一人說的是假話,問到底誰是小偷?
演算法描述:
for(x=1;x<=4;x++)
if ((x!=1)+(x==3)+(x==4)+(x!=4)==3)
2. 演算法性質
確定性:演算法每種運算必須有確切定義,不能有二義性。
能行性:
演算法中有待實現的運算都是基本的運算,原理上每種運算都能由人用紙和筆在有限的時間內完成。
輸入:每個演算法有0個或
多個輸入。
輸出:乙個演算法產生乙個或
多個輸出,這些輸出是同輸入有某種特定關係的量。
有窮性/
有限性:
乙個演算法總是在執行了有窮步的運算之後終止。
(程式是演算法的具體實現,可以不滿足有窮性)
3.演算法的衡量指標
正確性,可讀性,健壯性,高效率與低儲存量。
4. 演算法描述
演算法 = 控制結構 + 原操作
主要方式:
自然語言:
日常所用的語言
流程圖盒圖
pad圖:
問題分析圖(problem analysis diagram, 簡稱pad)表示的演算法是乙個二維樹形結構圖,層次感強、巢狀明確且有明確的控制流程。
偽**計算機程式語言
演算法筆記pdf 資料結構演算法與os 讀書筆記整理
1 資料結構與演算法 1.1 資料結構與演算法 鄧俊輝 dsacpp zhousoft tsinghuadatastructoj alg4 kevin wayne algs4 演算法 第4版 筆記 王爭wangzheng0822 algo 1.2 leetcode 左程雲 python resolv...
資料結構讀書筆記
首先有個關於指標的問題 如果函式傳進來乙個指標 p,函式裡操作p不會影響原來的值,而如果有 或者 才會改變 比如 malloc的時候傳入指標的指標才行 o 1 刪除節點時末尾必須要便利一遍 刪除頭指標要變為刪除第二個節點。1.o 1 刪除指定位置的節點 如果為最後乙個節點還是必須遍歷一遍 2.倒數第...
《資料結構》讀書筆記
2010年9月2日開始研究 資料結構基礎 這本書。為什麼要說是研究呢,一是覺得研究這個詞比較賞心悅目,總比 看 閱讀 之類的好聽多了。二是真的想把資料結構學好。488頁,看來有忙活的了!第一章 基本概述 生命週期各階段描述及理解 1.需求階段 所有人規模程式設計專案,都是從確定規範宣告開始,規範宣告...