桃江縣建設(shè)局網(wǎng)站凱里seo排名優(yōu)化
數(shù)據(jù)結(jié)構(gòu)的三要素
- 邏輯結(jié)構(gòu)
- 存儲結(jié)構(gòu)
- 順序存儲
- 鏈?zhǔn)酱鎯?/li>
- 索引存儲
- 散列存儲
- 數(shù)據(jù)的運(yùn)算
邏輯結(jié)構(gòu)
邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系,即從邏輯關(guān)系上描述數(shù)據(jù)。它與數(shù)據(jù)的存儲無關(guān),是獨(dú)立于計算機(jī)的。數(shù)據(jù)的邏輯結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu)
線性表是典型的線性結(jié)構(gòu);
集和、樹和圖是典型的非線性結(jié)構(gòu)
存儲結(jié)構(gòu)
存儲結(jié)構(gòu)是指數(shù)據(jù)結(jié)構(gòu)在計算機(jī)的表示(又稱映像),也稱物理結(jié)構(gòu)。它包括數(shù)據(jù)元素的表示和關(guān)系的表示。數(shù)據(jù)的存儲結(jié)構(gòu)是用計算機(jī)語言實(shí)現(xiàn)的邏輯結(jié)構(gòu),它依賴于計算機(jī)語言。數(shù)據(jù)的存儲結(jié)構(gòu)主要有順序結(jié)構(gòu)、鏈?zhǔn)浇Y(jié)構(gòu)、索引存儲和散列存儲
順序存儲
把邏輯上相鄰的元素存儲在物理位置上也相鄰的存儲單元中,元素之間的關(guān)系由存儲單元的鄰接關(guān)系來體現(xiàn)。其優(yōu)點(diǎn)是可以實(shí)現(xiàn)隨機(jī)存取,每個元素占用最少的存儲空間;缺點(diǎn)是只能使用相鄰的一整塊存儲單元,音癡可能產(chǎn)生較多的外部碎片
鏈?zhǔn)酱鎯?/h3>
不要求邏輯上相鄰的元素在物理位置上也相鄰,借助指示元素存儲指針來表示元素元素之間的邏輯關(guān)系,其優(yōu)點(diǎn)是不會出現(xiàn)碎片現(xiàn)象,能充分利用所有存儲單元;缺點(diǎn)是每個元素因存儲指針而占用額外的存儲空間,且只能實(shí)現(xiàn)順序存儲
索引存儲
在存儲元素信息的同時,還建立附加的索引表。索引表中的每項稱為索引項,索引項的一般形式是(關(guān)鍵字,地址)。其優(yōu)點(diǎn)是檢索速度快;缺點(diǎn)是附加的索引表額外占用存儲空間。另外,增加和刪除數(shù)據(jù)是也要修改索引表,因而會花費(fèi)較多的時間
散列存儲
根據(jù)元素的關(guān)鍵字直接計算出該元素的存儲地址,又稱哈希存儲。其優(yōu)點(diǎn)是檢索、增加和刪除節(jié)點(diǎn)的操作都很快;缺點(diǎn)是若散列函數(shù)不好,則可能出現(xiàn)元素存儲單元的沖突,而解決沖突會增加時間和空間開銷。
數(shù)據(jù)的運(yùn)算
施加在數(shù)據(jù)上的運(yùn)算包括運(yùn)算的定義和實(shí)現(xiàn)。運(yùn)算的定義是針對邏輯結(jié)構(gòu)的,指出運(yùn)算的功能;運(yùn)算的實(shí)現(xiàn)是針對存儲結(jié)構(gòu)的,指出運(yùn)算的具體操作步驟