課程目錄
        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)的存儲細節(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)在計算機科學界至今沒有標準的定義。個人根據(jù)各自的理解的不同而有不同的表述方法:
Sartaj Sahni 在他的《數(shù)據(jù)結(jié)構(gòu)、算法與應用》一書中稱:“數(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ōu)的數(shù)據(jù)結(jié)構(gòu)。許多時候,確定了數(shù)據(jù)結(jié)構(gòu)后,算法就容易得到了。有些時候事情也會反過來,我們根據(jù)特定算法來選擇數(shù)據(jù)結(jié)構(gòu)與之適應。不論哪種情況,選擇合適的數(shù)據(jù)結(jié)構(gòu)都是非常重要的。

郵箱
huangbenjincv@163.com

佳木斯市| 界首市| 神木县| 长武县| 滁州市| 佛坪县| 英山县| 华宁县| 枞阳县| 阿瓦提县| 泰和县| 仪征市| 互助| 南京市| 西乌| 沂南县| 辽宁省| 潜江市| 察哈| 大化| 固安县| 驻马店市| 句容市| 扶风县| 南投县| 同德县| 革吉县| 广宁县| 新乡县| 石景山区| 常德市| 宁海县| 太保市| 绍兴县| 宜城市| 渭南市| 南召县| 万山特区| 贵定县| 桐庐县| 怀宁县|