1.數(shù)據(jù)與數(shù)據(jù)結(jié)構(gòu)概論
-
數(shù)據(jù):信息的載體钱骂。
數(shù)據(jù)元素:數(shù)據(jù)的基本單位叔锐,也是最小單位。
數(shù)據(jù)對象:具有相同性質(zhì)的數(shù)據(jù)元素的集合见秽。
數(shù)據(jù)結(jié)構(gòu):統(tǒng)一數(shù)據(jù)對象中個數(shù)據(jù)元素之間存在的關(guān)系愉烙。
關(guān)系如圖:
數(shù)據(jù)總綱
2.數(shù)據(jù)結(jié)構(gòu)邏輯結(jié)構(gòu)
線性結(jié)構(gòu)、樹形結(jié)構(gòu)解取、圖
2.1 共同表示方法
Data_Structure={D,R}
D:數(shù)據(jù)元素的有限集合步责,包含了所有的數(shù)據(jù)。
R:D上關(guān)系的有限集合禀苦,包含了所有數(shù)據(jù)的所有關(guān)系蔓肯。-
線性結(jié)構(gòu) 一對一
表示方法:D={1,2,3} R={<1,2>,<2,3>} (<>表示有序,()表示無序) -
樹形結(jié)構(gòu) 一對多
表示方法:D={1,2,4,5,2,3} R={(1,2),(2,5),(1,4),(4,2),(4,3)} -
圖 多對多
表示方法:D={1,2,3,5,6} R={<1,3>,<1,5>,<2,3>,<2,5>,<6,3>}
2.2 存儲結(jié)構(gòu)
-
順序存儲結(jié)構(gòu)
優(yōu)點:
1.定義簡單蔗包,操作方便,直接使用下標即可隨機訪問昆码。
2.對比鏈式,少了節(jié)點開支赋咽。
缺點:
1.定義就需要分配足夠大空間,可能會造成浪費或溢出脓匿。
2.插入刪除淘钟,需要較大幅度調(diào)整整個存儲結(jié)構(gòu)陪毡。 -
鏈式存儲結(jié)構(gòu)
優(yōu)點:
1.定義不需要分配足夠大空間,空間會隨著數(shù)據(jù)增多而增大毡琉。
2.插入刪除十分方便快捷。
缺點:
1.定義麻煩桅滋,訪問內(nèi)部數(shù)據(jù)需要使用迭代器慧耍。
2.對比順序,多了節(jié)點開支丐谋。
3.總結(jié)
邏輯結(jié)構(gòu) | 分析 |
---|---|
線性結(jié)構(gòu) | 一對一 |
樹形結(jié)構(gòu) | 一對多 |
圖 | 多對多 |
存儲結(jié)構(gòu) | 優(yōu)點 | 缺點 |
---|---|---|
順序存儲結(jié)構(gòu) | 可隨機訪問 節(jié)省內(nèi)存開支 |
定義分配空間浪費或溢出 插入刪除麻煩 |
鏈式存儲結(jié)構(gòu) | 空間隨數(shù)據(jù)增大 插入刪除方便 |
不可隨機訪問 內(nèi)存消耗大 |