數(shù)據(jù)結(jié)構(gòu)和算法 1-1緒論
本系列筆記均記載自 fishc.com 相關(guān)課程
程序設(shè)計 = 數(shù)據(jù)結(jié)構(gòu) + 算法
數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)元素相互之間存在的一種或多種特定關(guān)系的集合。
數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)和物理結(jié)構(gòu)。
邏輯結(jié)構(gòu):是指數(shù)據(jù)對象中數(shù)據(jù)元素之間的相互關(guān)系,也是我們今后最需要關(guān)注和討論的問題。
物理結(jié)構(gòu):是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的存儲形式。
邏輯結(jié)構(gòu)
-
集合結(jié)構(gòu)
集合機構(gòu)中的數(shù)據(jù)元素除了同屬于一個集合外,他們之間沒有其他的關(guān)系。
image.png
-
線性結(jié)構(gòu)
線性結(jié)構(gòu)中的數(shù)據(jù)元素之間是一對一的關(guān)系。
image.png -
樹形結(jié)構(gòu)
樹形結(jié)構(gòu)中的數(shù)據(jù)元素之間存在一種一對多的層次關(guān)系。
image.png
-
圖形結(jié)構(gòu)
圖形結(jié)構(gòu)的數(shù)據(jù)元素是多對多的關(guān)系。
image.png
物理結(jié)構(gòu)
研究如何把數(shù)據(jù)元素儲存到計算接的儲存器中。
數(shù)據(jù)元素的存儲結(jié)構(gòu)形式有兩種:順序存儲和鏈?zhǔn)酱鎯Α?/p>
順序存儲結(jié)構(gòu)
是把數(shù)據(jù)元素存放在地址連續(xù)的存儲單元里,其數(shù)據(jù)間的額邏輯關(guān)系和物理關(guān)系是一致的。

鏈?zhǔn)酱鎯Y(jié)構(gòu)
是把數(shù)據(jù)元素存放在任意的存儲單元里,這組存儲單元可以使連續(xù)的,也可以是不連續(xù)的。
鏈?zhǔn)酱鎯Y(jié)構(gòu)的數(shù)據(jù)元素存儲關(guān)系并不能反映其邏輯關(guān)系,因此需要用一個指針存放數(shù)據(jù)元素的地址,這樣子通過地址就可以找到相關(guān)聯(lián)數(shù)據(jù)元素的位置。




