if you give someone a program ,you will frustrate them for a day;if you teach them how to program,you will frustrate them for a lifetime!
1.邏輯結(jié)構(gòu)和物理結(jié)構(gòu)
邏輯結(jié)構(gòu):是數(shù)據(jù)對象中數(shù)據(jù)元素之間的相互關(guān)系。
邏輯結(jié)構(gòu)包括:集合結(jié)構(gòu),線性結(jié)構(gòu),樹結(jié)構(gòu),圖形結(jié)構(gòu)
集合結(jié)構(gòu):集合結(jié)構(gòu)中的數(shù)據(jù)元素出了屬于一個集合外,他們沒有其他關(guān)系,類似與數(shù)學(xué)中的集合。

線性結(jié)構(gòu):線性結(jié)構(gòu)中的元素之間是一對一的關(guān)系

樹結(jié)構(gòu):樹結(jié)構(gòu)中的元素之間存在一種一對多的層次關(guān)系。

圖形結(jié)構(gòu):圖形結(jié)構(gòu)的數(shù)據(jù)元素是多對多的關(guān)系

注意事項:
1)將每個數(shù)據(jù)元素看做一個節(jié)點,用圓圈表示
2)元素之間的邏輯關(guān)系用節(jié)點之間的連線表示,如果這個關(guān)系是有方向的,那么用帶箭頭的連線表示。
物理結(jié)構(gòu)(存儲結(jié)構(gòu)):數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的存儲形式。實際上就是將數(shù)據(jù)元素存儲到內(nèi)存中。
物理結(jié)構(gòu)包括:順序存儲和鏈式存儲
順序存儲結(jié)構(gòu):把數(shù)據(jù)元素存放在地址連續(xù)的存儲單元里,其數(shù)據(jù)間的邏輯關(guān)系和物理關(guān)系是一致的

說明:數(shù)組就是順序存儲結(jié)構(gòu)
鏈式存儲結(jié)構(gòu):把數(shù)據(jù)元素存放在任意的存儲單元中,這組存儲單元可以是連續(xù)的也可以不連續(xù)

注意事項:
1)數(shù)據(jù)元素的存儲關(guān)系并不能反應(yīng)其邏輯關(guān)系,需要用指針存放數(shù)據(jù)元素的地址。
2.抽象數(shù)據(jù)類型:
數(shù)據(jù)類型:一組性質(zhì)相同的值的集合及定義在此集合上的一些操作的總稱。
抽象數(shù)據(jù)類型:一個數(shù)學(xué)模型及定義在該模型上的一組操作,抽象數(shù)據(jù)類型體現(xiàn)了程序設(shè)計中的問題分解,抽象和信息隱藏的特性。