一、數(shù)據(jù)結構和數(shù)據(jù)類型兩個概念的本質
數(shù)據(jù)結構一般是說計算機存儲和組織數(shù)據(jù)的方式,還有就是相互之間存在一種或多種特定關系的數(shù)據(jù)元素的集合,簡單來說就是數(shù)據(jù)的邏輯或物理存儲方式。而數(shù)據(jù)類型就是對數(shù)據(jù)的抽象描述,包括整型、浮點型浙西。
數(shù)據(jù)結構是計算機存儲、組織數(shù)據(jù)的方式。數(shù)據(jù)結構是指相互之間存在一種或多種特定關系的數(shù)據(jù)元素的集合。通常情況下,精心選擇的數(shù)據(jù)結構可以帶來更高的運行或者存儲效率。數(shù)據(jù)結構往往同高效的檢索算法和索引技術有關。
一般認為,一個數(shù)據(jù)結構是由數(shù)據(jù)元素依據(jù)某種邏輯聯(lián)系組織起來的。對數(shù)據(jù)元素間邏輯關系的描述稱為數(shù)據(jù)的邏輯結構;數(shù)據(jù)必須在計算機內存儲,數(shù)據(jù)的存儲結構是數(shù)據(jù)結構的實現(xiàn)形式,是其在計算機內的表示;此外討論一個數(shù)據(jù)結構必須同時討論在該類數(shù)據(jù)上執(zhí)行的運算才有意義。
在許多類型的程序的設計中,數(shù)據(jù)結構的選擇是一個基本的設計考慮因素。許多大型系統(tǒng)的構造經驗表明,系統(tǒng)實現(xiàn)的困難程度和系統(tǒng)構造的質量都嚴重的依賴于是否選擇了優(yōu)異的數(shù)據(jù)結構。許多時候,確定了數(shù)據(jù)結構后,算法就容易得到了。有些時候事情也會反過來,我們根據(jù)特定算法來選擇數(shù)據(jù)結構與之適應。不論哪種情況,選擇合適的數(shù)據(jù)結構都是非常重要的。
延伸閱讀:
二、數(shù)據(jù)的物理結構
數(shù)據(jù)的物理結構(以后我都統(tǒng)一稱存儲結構),表示數(shù)據(jù)元素之間的邏輯關系,一種數(shù)據(jù)結構的邏輯結構根據(jù)需要可以表示成多種存儲結構,常用的存儲結構有:
順序存儲:存儲順序是連續(xù)的,在內存中用一組地址連續(xù)的存儲單元依次存儲線性表的各個數(shù)據(jù)元素。鏈式存儲:在內存中的存儲元素不一定是連續(xù)的,用任意地址的存儲單元存儲元素,元素節(jié)點存放數(shù)據(jù)元素以及通過指針指向相鄰元素的地址信息。索引存儲:除建立存儲結點信息外,還建立附加的索引表來標識節(jié)點的地址。索引表由若干索引項組成。散列存儲:又稱Hash存儲,由節(jié)點的關鍵碼值決定節(jié)點的存儲地址。