1.資料結構
a)個人見解:姑且認為資料結構是資料間的聯絡、資料的組織形式,對資料的基本操作演算法:增、刪、查、改、排,以及研究演算法的複雜度的研究。若有錯誤,日後再修正。
b)資料結構在描述資料間的聯絡時,則稱為邏輯結構;
邏輯結構的型別:
非線性的有:集合;
樹:不包括根結點和終端結點的其他結點,都有唯一的父結點和子結點;
圖;線性:不包括頭結點和終端結點的其他結點,都有唯一的前驅和後繼);
資料結構在表示資料在計算機儲存組織形式時,則稱為物理結構;如鍊表就是種物理結構。
物理結構(亦叫儲存結構)的型別:
順序儲存結構:資料元素儲存在位址連續的一段記憶體中,通過相對位址完成對資料元素的操作;
鏈式儲存結構:資料元素在記憶體中的位址可能是連續的,也可能是不連續的,儲存的資料報括資料域和指標域,通過指標實現對資料元素的操作;
索引儲存結構:資料元素儲存在位址不連續的記憶體中,並建立乙個索引表來儲存資料元素的位址;
雜湊儲存結構:資料元素在記憶體中的位址是連續的,通過雜湊函式根據關鍵碼來計算出雜湊值;(尚未完全理解,待補充);
2.資料元素、資料項、資料物件三者的聯絡
假設一條單向鍊錶,其結點儲存的資料是學生的基本資訊:姓名、學號、年級。
資料物件由資料元素組成,資料元素則由資料項組成。
「姓名」、「學號」、「年級」分別為資料項,由三個資料項組合而成的「姓名、學號、年級」則為乙個學生這樣的資料元素,由許多個這樣的學生結點組合而成的是資料物件。
資料項是資料物件這個系統裡最小的組成,不可再將進一步分解,如果將資料項分解,研究資料項就沒有意義了,比如將「姓名」分解,分解後的「姓名」就是單一的文字。
3.資料結構的形式定義
資料結構的名稱 = (d,s);其中d是資料物件,s是資料間的關係的有限集合;
d =
s =
4.演算法可以沒有輸入,但是一定要有輸出,沒有輸出的演算法肯定不能作為解決的「靈魂」。正確的演算法是具有相容、容錯能力
的,也就是演算法的結構是較完整的,思考演算法的時候,可以先把演算法的核心搞定,不考慮演算法的容錯能力,容錯能力是在完成了演算法的核心之後,再來考慮的。
5.影響演算法的時間複雜度的因素:演算法、問題規模、硬體。
演算法的時間複雜度的計算:
1.事後統計:在程式執行的時候計算,不常用;
2.事前分析估算:以基本語句的重複執行次數為引數,通過o(n)來衡量t(n);
第二種方法的計算要點:
step1:找到最深層的且為演算法核心的基本語句;
step2:根據條件得到對求和變數的求和公式;
step3:按照層次,一層一層寫出到達基本語句的∑;
step4:求和得到計算結果,去掉與n同級別的數字即運算子,最終結果是求n;
6.不同種類運算子的優先順序:算術》關係》邏輯》賦值。
7.線性表的表示:線性表名稱=(資料元素a,資料元素b,…);
8.順序線性表的實現
相關概念:a)隨機訪問:獲取資料元素,不需要從頭遍歷的操作方式;
b)位置與下標的區別:位置從1開始,而下標從0開始;
順序線性表型別的宣告:
struct 順序線性表的名稱
基本運算的宣告:
a)int initlist(順序線性表的引用);
//核心:使用malloc函式分配初始空間,返回位址給data;
b)voiddestroylist(順序線性表的引用);
//核心:使用free函式釋放data所指的空間;
c)void clearlist();
//核心:將length置為0即可;
d)int listempty(順序線性表的引用);
//核心:看length是否為0;
e)int getelem(順序線性表的引用,int i,elemtype e);
//核心:將下標為i-1的資料元素賦給e所指的空間;
f)int locateelem(順序線性表的引用,要查詢的資料元素elemtype e);
//核心:遍歷順序線性表,若有e,則返回其位置;
g)int insertelem(順序線性表的引用,要插入的位置int i,elemtype e);
//核心:右移。若順序線性表的記憶體空間已滿,則使用realloc(voidp,調整後的大小)函式重新調整順序線性表的容量;另外插入的位置可不是隨意的,注意不可以破壞順序的連續特性;
h)int delelem(順序線性表的引用,int i);
//核心:左移;
i)順序線性表的優缺點:
缺點:插入、刪除平均要移動約一半的元素,其時間複雜度為o(1)或o(n);長度不好分配;
優點:查詢比較高效,可隨機訪問;
基礎知識點總結 資料結構
準備筆面試期間做了一些基本知識點的總結,分享一下 1 邏輯結構 物理結構。2 演算法5大特性。4 順序 鏈式儲存。鍊錶 棧和佇列 串 1 鍊錶的操作 增刪改查 2 靜態 迴圈 雙向鍊錶。3 棧的操作及儲存方式。4 遞迴 斐波那契數列。5 棧的中 字尾。6 佇列的操作及儲存方式。7 迴圈佇列空 滿判斷...
資料結構之基礎知識
基本概念和術語 1 資料元素是資料的基本單位。2 資料項是資料不可分割的最小單位。3 資料結構及其形式定義。四種基本結構 集合 線性結構 樹形結構 圖 網 狀結構 4 資料結構的 邏輯結構 抽象的,與實現無關 物理結構 儲存結構 順序映像 順序儲存結構 位置 相鄰 非順序映像 鏈式儲存結構 指標表示...
html css基礎知識點筆記
簡單回憶了一下html css基礎 網頁標題 定義編碼格式,如 utf 8,gb2312,gbk eg 用於匯入css樣式檔案 常用標籤 2 嵌入樣式 3 匯入樣式 型別 字型型別 font family 字型渲染 text shadow 字型大小 font size 字型風格 font style...