久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > 數(shù)據(jù)庫(kù)系統(tǒng)的實(shí)現(xiàn)中采用了哪些常用的數(shù)據(jù)結(jié)構(gòu)?

數(shù)據(jù)庫(kù)系統(tǒng)的實(shí)現(xiàn)中采用了哪些常用的數(shù)據(jù)結(jié)構(gòu)?

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-10-11 03:43:55 1696967035

一、數(shù)據(jù)庫(kù)系統(tǒng)的實(shí)現(xiàn)中采用的數(shù)據(jù)結(jié)構(gòu)

線性表

線性表結(jié)構(gòu)存儲(chǔ)的數(shù)據(jù)往往是可以依次排列的,就像小朋友手拉手,每位學(xué)生的前面和后面都僅有一個(gè)小朋友和他拉手,具備這種“一對(duì)一”關(guān)系的數(shù)據(jù)就可以使用線性表來(lái)存儲(chǔ)。

例如,存儲(chǔ)類似 {1,3,5,7,9} 這樣的數(shù)據(jù)時(shí),各元素依次排列,每個(gè)元素的前面和后邊有且僅有一個(gè)元素與之相鄰(除首元素和尾元素),因此可以使用線性表存儲(chǔ)。

線性表并不是一種具體的存儲(chǔ)結(jié)構(gòu),它包含順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),是順序表和鏈表的統(tǒng)稱。

1.順序表

順序表,簡(jiǎn)單地理解,就是常用的數(shù)組,只是換了個(gè)名字而已,例如使用順序表存儲(chǔ) {1,3,5,7,9}。

由于順序表結(jié)構(gòu)的底層實(shí)現(xiàn)借助的就是數(shù)組,因此對(duì)于初學(xué)者來(lái)說(shuō),可以把順序表完全等價(jià)為數(shù)組,但實(shí)則不是這樣。數(shù)據(jù)結(jié)構(gòu)是研究數(shù)據(jù)存儲(chǔ)方式的一門學(xué)科,它囊括的都是各種存儲(chǔ)結(jié)構(gòu),而數(shù)組只是各種編程語(yǔ)言中的基本數(shù)據(jù)類型,并不屬于數(shù)據(jù)結(jié)構(gòu)的范疇。

2.鏈表

我們知道,使用順序表(底層實(shí)現(xiàn)靠數(shù)組)時(shí),需要提前申請(qǐng)一定大小的存儲(chǔ)空間,這塊存儲(chǔ)空間的物理地址是連續(xù)的。

鏈表則完全不同,使用鏈表存儲(chǔ)數(shù)據(jù)時(shí),是隨用隨申請(qǐng),因此數(shù)據(jù)的存儲(chǔ)位置是相互分離的,換句話說(shuō),數(shù)據(jù)的存儲(chǔ)位置是隨機(jī)的。

為了給各個(gè)數(shù)據(jù)塊建立“依次排列”的關(guān)系,鏈表給各數(shù)據(jù)塊增設(shè)一個(gè)指針,每個(gè)數(shù)據(jù)塊的指針都指向下一個(gè)數(shù)據(jù)塊(最后一個(gè)數(shù)據(jù)塊的指針指向 NULL),就如同一個(gè)個(gè)小學(xué)生都伸手去拉住下一個(gè)小學(xué)生的手,這樣,看似毫無(wú)關(guān)系的數(shù)據(jù)塊就建立了“依次排列”的關(guān)系,也就形成了鏈表。

3.棧和隊(duì)列

棧和隊(duì)列隸屬于線性表,是特殊的線性表,因?yàn)樗鼈儗?duì)線性表中元素的進(jìn)出做了明確的要求。

棧中的元素只能從線性表的一端進(jìn)出(另一端封死),且要遵循“先入后出”的原則,即先進(jìn)棧的元素后出棧。

像一個(gè)木桶,棧中含有 3 個(gè)元素,分別是 A、B 和 C,從在棧中的狀態(tài)可以看出 A 非常先進(jìn)的棧,然后 B 進(jìn)棧,最后 C 進(jìn)棧。根據(jù)“先進(jìn)后出”的原則,3 個(gè)元素出棧的順序應(yīng)該是:C 最先出棧,然后 B 出棧,最后才是 A 出棧。

隊(duì)列中的元素只能從線性表的一端進(jìn),從另一端出,且要遵循“先入先出”的特點(diǎn),即先進(jìn)隊(duì)列的元素也要先出隊(duì)列。

隊(duì)列中有 3 個(gè)元素,分別是 A、B 和 C,從在隊(duì)列中的狀態(tài)可以看出是 A 先進(jìn)隊(duì)列,然后 B 進(jìn),最后 C 進(jìn)。根據(jù)“先進(jìn)先出”的原則,3 個(gè)元素出隊(duì)列的順序應(yīng)該是 A 最先出隊(duì)列,然后 B 出,最后 C 出。

樹存儲(chǔ)結(jié)構(gòu)

樹存儲(chǔ)結(jié)構(gòu)適合存儲(chǔ)具有“一對(duì)多”關(guān)系的數(shù)據(jù)。

如張平只有一個(gè)父親,但他卻有兩(多)個(gè)孩子,這就是“一對(duì)多”的關(guān)系,滿足這種關(guān)系的數(shù)據(jù)可以使用樹存儲(chǔ)結(jié)構(gòu)。

圖存儲(chǔ)結(jié)構(gòu)

圖存儲(chǔ)結(jié)構(gòu)適合存儲(chǔ)具有“多對(duì)多”關(guān)系的數(shù)據(jù)。

從 V1 可以到達(dá) V2、V3、V4,同樣,從 V2、V3、V4 也可以到達(dá) V1,這就是“多對(duì)多”的關(guān)系,滿足這種關(guān)系的數(shù)據(jù)可以使用圖存儲(chǔ)結(jié)構(gòu)。

延伸閱讀:

二、什么是數(shù)據(jù)結(jié)構(gòu)

數(shù)據(jù)結(jié)構(gòu),直白地理解,就是研究數(shù)據(jù)的存儲(chǔ)方式。

我們知道,數(shù)據(jù)存儲(chǔ)只有一個(gè)目的,即為了方便后期對(duì)數(shù)據(jù)的再利用,就如同我們使用數(shù)組存儲(chǔ) {1,2,3,4,5} 是為了后期取得它們的加和值,無(wú)緣由的數(shù)據(jù)存儲(chǔ)行為是對(duì)存儲(chǔ)空間的不負(fù)責(zé)任。

因此,數(shù)據(jù)在計(jì)算機(jī)存儲(chǔ)空間的存放,決不是胡亂的,這就要求我們選擇一種好的方式來(lái)存儲(chǔ)數(shù)據(jù),而這也是數(shù)據(jù)結(jié)構(gòu)的核心內(nèi)容。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
oa系統(tǒng)一般有哪些模塊?

一、組織架構(gòu)模塊組織架構(gòu)模塊記錄了企業(yè)的組織結(jié)構(gòu)、人員信息、部門職責(zé)、工作流程等基本信息,實(shí)現(xiàn)了組織架構(gòu)的可視化和管理。該模塊主要包括...詳情>>

2023-10-11 05:33:42
為什么python沒(méi)有大頂堆?

一、python沒(méi)有大頂堆的原因Python沒(méi)有內(nèi)置大頂堆,是因?yàn)樵趯?shí)際使用中,大頂堆并不是那么常用。相比之下,小頂堆和普通的堆操作更具有廣泛的應(yīng)...詳情>>

2023-10-11 05:30:39
什么是crm管理?

一、crm管理概念 CRM管理也叫客戶管理,亦即客戶關(guān)系管理(Customer Relationship Management)的簡(jiǎn)稱。CRM管理的主要含義就是通過(guò)對(duì)客戶詳細(xì)資...詳情>>

2023-10-11 05:28:00
單調(diào)棧什么時(shí)候從后向前遍歷,什么時(shí)候從前向后遍歷?

一、單調(diào)棧什么時(shí)候從后向前遍歷,什么時(shí)候從前向后遍歷如果是求右邊的名列前茅個(gè)最大,那么就是從右向左遍歷,構(gòu)建單調(diào)遞增棧。如果是求右邊的...詳情>>

2023-10-11 05:23:50
操作系統(tǒng)幾種主要的頁(yè)面置換算法分別是用什么數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)的?

一、操作系統(tǒng)幾種主要的頁(yè)面置換算法算法通常只是描述解決問(wèn)題的一個(gè)步驟,具體用什么數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)則是視情況而定。LRU“實(shí)現(xiàn)起來(lái)比較困難,且...詳情>>

2023-10-11 05:20:02
快速通道