更新時間:2020-12-23 17:48:16 來源:動力節(jié)點 瀏覽1625次
數(shù)據(jù)結(jié)構(gòu)(data structure)是帶有結(jié)構(gòu)特性的數(shù)據(jù)元素的集合,它研究的是數(shù)據(jù)的邏輯結(jié)構(gòu)和數(shù)據(jù)的物理結(jié)構(gòu)以及它們之間的相互關(guān)系,并對這種結(jié)構(gòu)定義相適應(yīng)的運(yùn)算,設(shè)計出相應(yīng)的算法,并確保經(jīng)過這些運(yùn)算以后所得到的新結(jié)構(gòu)仍保持原來的結(jié)構(gòu)類型。簡而言之,數(shù)據(jù)結(jié)構(gòu)是相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合,即帶“結(jié)構(gòu)”的數(shù)據(jù)元素的集合。“結(jié)構(gòu)”就是指數(shù)據(jù)元素之間存在的關(guān)系,分為邏輯結(jié)構(gòu)和存儲結(jié)構(gòu)。我們想要嚴(yán)謹(jǐn)數(shù)據(jù)結(jié)構(gòu),那么首先就要了解數(shù)據(jù)結(jié)構(gòu)的研究對象,本文就帶大家深入了解數(shù)據(jù)結(jié)構(gòu)研究對象。
數(shù)據(jù)的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)是數(shù)據(jù)結(jié)構(gòu)的兩個密切相關(guān)的方面,同一邏輯結(jié)構(gòu)可以對應(yīng)不同的存儲結(jié)構(gòu)。算法的設(shè)計取決于數(shù)據(jù)的邏輯結(jié)構(gòu),而算法的實現(xiàn)依賴于指定的存儲結(jié)構(gòu)。由此可見,數(shù)據(jù)結(jié)構(gòu)的研究對象其實就是數(shù)據(jù)的邏輯結(jié)構(gòu)、物理結(jié)構(gòu)和存儲結(jié)構(gòu)。
一、數(shù)據(jù)的邏輯結(jié)構(gòu)
指反映數(shù)據(jù)元素之間的邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu),其中的邏輯關(guān)系是指數(shù)據(jù)元素之間的前后間關(guān)系,而與他們在計算機(jī)中的存儲位置無關(guān)。邏輯結(jié)構(gòu)包括:
1. 集合:數(shù)據(jù)結(jié)構(gòu)中的元素之間除了“同屬一個集合” 的相互關(guān)系外,別無其他關(guān)系;
2.線性結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu)中的元素存在一對一的相互關(guān)系;
3.樹形結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu)中的元素存在一對多的相互關(guān)系;
4.圖形結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu)中的元素存在多對多的相互關(guān)系。
二、數(shù)據(jù)的物理結(jié)構(gòu)
指數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)存儲空間的存放形式。
數(shù)據(jù)的物理結(jié)構(gòu)是數(shù)據(jù)結(jié)構(gòu)在計算機(jī)中的表示(又稱映像),它包括數(shù)據(jù)元素的機(jī)內(nèi)表示和關(guān)系的機(jī)內(nèi)表示。由于具體實現(xiàn)的方法有順序、鏈接、索引、散列等多種,所以,一種數(shù)據(jù)結(jié)構(gòu)可表示成一種或多種存儲結(jié)構(gòu)。
數(shù)據(jù)元素的機(jī)內(nèi)表示(映像方法): 用二進(jìn)制位(bit)的位串表示數(shù)據(jù)元素。通常稱這種位串為節(jié)點(node)。當(dāng)數(shù)據(jù)元素有若干個數(shù)據(jù)項組成時,位串中與各個數(shù)據(jù)項對應(yīng)的子位串稱為數(shù)據(jù)域(data field)。因此,節(jié)點是數(shù)據(jù)元素的機(jī)內(nèi)表示(或機(jī)內(nèi)映像)。
關(guān)系的機(jī)內(nèi)表示(映像方法):數(shù)據(jù)元素之間的關(guān)系的機(jī)內(nèi)表示可以分為順序映像和非順序映像,常用兩種存儲結(jié)構(gòu):順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)。順序映像借助元素在存儲器中的相對位置來表示數(shù)據(jù)元素之間的邏輯關(guān)系。非順序映像借助指示元素存儲位置的指針(pointer)來表示數(shù)據(jù)元素之間的邏輯關(guān)系。
三、數(shù)據(jù)存儲結(jié)構(gòu)
數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)存儲空間中的存放形式稱為數(shù)據(jù)的物理結(jié)構(gòu)(也稱為存儲結(jié)構(gòu))。一般來說,一種數(shù)據(jù)結(jié)構(gòu)的邏輯結(jié)構(gòu)根據(jù)需要可以表示成多種存儲結(jié)構(gòu),常用的存儲結(jié)構(gòu)有順序存儲、鏈?zhǔn)酱鎯Α⑺饕鎯凸4鎯Φ取?/p>
數(shù)據(jù)的順序存儲結(jié)構(gòu)的特點是:借助元素在存儲器中的相對位置來表示數(shù)據(jù)元素之間的邏輯關(guān)系;非順序存儲的特點是:借助指示元素存儲地址的指針表示數(shù)據(jù)元素之間的邏輯關(guān)系。
數(shù)據(jù)結(jié)構(gòu)研究內(nèi)容是構(gòu)造復(fù)雜軟件系統(tǒng)的基礎(chǔ),它的核心技術(shù)是分解與抽象,與之對應(yīng)的數(shù)據(jù)結(jié)構(gòu)研究對象:數(shù)據(jù)的邏輯結(jié)構(gòu)、物理結(jié)構(gòu)和存儲結(jié)構(gòu)。通過對數(shù)據(jù)的邏輯結(jié)構(gòu)、物理結(jié)構(gòu)和存儲結(jié)構(gòu)的研究,才逐漸奠定了數(shù)據(jù)結(jié)構(gòu)這門學(xué)科的基礎(chǔ)。本站的數(shù)據(jù)結(jié)構(gòu)和算法教程中對于數(shù)據(jù)結(jié)構(gòu)的演變過程有詳細(xì)的講解,便于我們對數(shù)據(jù)結(jié)構(gòu)這門學(xué)科有自我的認(rèn)知過程,發(fā)展我們的學(xué)習(xí)積極性。
初級 202925
初級 203221
初級 202629
初級 203743