課程目錄
        Lobert L.Kruse 在《數(shù)據(jù)結(jié)構(gòu)與程序設(shè)計》一書中,將一個數(shù)據(jù)結(jié)構(gòu)的設(shè)計過程分成抽象層、數(shù)據(jù)結(jié)構(gòu)層和實現(xiàn)層。其中,抽象層是指抽象數(shù)據(jù)類型層,它討論數(shù)據(jù)的邏輯結(jié)構(gòu)及其運算,數(shù)據(jù)結(jié)構(gòu)層和實現(xiàn)層討論一個數(shù)據(jù)結(jié)構(gòu)的表示和在計算機內(nèi)的存儲細(xì)節(jié)以及運算的實現(xiàn)。
       數(shù)據(jù)結(jié)構(gòu)是計算機存儲、組織數(shù)據(jù)的方式。數(shù)據(jù)結(jié)構(gòu)是指相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。通常情況下,精心選擇的數(shù)據(jù)結(jié)構(gòu)可以帶來更高的運行或者存儲效率。數(shù)據(jù)結(jié)構(gòu)往往同高效的檢索算法和索引技術(shù)有關(guān)。
數(shù)據(jù)結(jié)構(gòu)在計算機科學(xué)界至今沒有標(biāo)準(zhǔn)的定義。個人根據(jù)各自的理解的不同而有不同的表述方法:
Sartaj Sahni 在他的《數(shù)據(jù)結(jié)構(gòu)、算法與應(yīng)用》一書中稱:“數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)對象,以及存在于該對象的實例和組成實例的數(shù)據(jù)元素之間的各種聯(lián)系。這些聯(lián)系可以通過定義相關(guān)的函數(shù)來給出。”他將數(shù)據(jù)對象(data object)定義為“一個數(shù)據(jù)對象是實例或值的集合”。
Clifford A.Shaffer 在《數(shù)據(jù)結(jié)構(gòu)與算法分析》一書中的定義是:“數(shù)據(jù)結(jié)構(gòu)是 ADT(抽象數(shù)據(jù)類型 Abstract Data Type) 的物理實現(xiàn)。”
在許多類型的程序的設(shè)計中,數(shù)據(jù)結(jié)構(gòu)的選擇是一個基本的設(shè)計考慮因素。許多大型系統(tǒng)的構(gòu)造經(jīng)驗表明,系統(tǒng)實現(xiàn)的困難程度和系統(tǒng)構(gòu)造的質(zhì)量都嚴(yán)重的依賴于是否選擇了最優(yōu)的數(shù)據(jù)結(jié)構(gòu)。許多時候,確定了數(shù)據(jù)結(jié)構(gòu)后,算法就容易得到了。有些時候事情也會反過來,我們根據(jù)特定算法來選擇數(shù)據(jù)結(jié)構(gòu)與之適應(yīng)。不論哪種情況,選擇合適的數(shù)據(jù)結(jié)構(gòu)都是非常重要的。

郵箱
huangbenjincv@163.com

长治县| 凤阳县| 韶关市| 蓬安县| 新化县| 竹北市| 凤凰县| 黄平县| 兴山县| 五原县| 唐河县| 油尖旺区| 老河口市| 敦煌市| 张北县| 鸡泽县| 永安市| 万州区| 阿合奇县| 铜梁县| 阿拉尔市| 通榆县| 青阳县| 芜湖县| 民县| 嘉鱼县| 孟连| 和政县| 芜湖县| 平阳县| 宜丰县| 寻乌县| 汤阴县| 建阳市| 兰溪市| 扶风县| 古浪县| 榕江县| 南川市| 集贤县| 怀柔区|