更新時(shí)間:2021-06-22 12:00:23 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1361次
哪些數(shù)據(jù)結(jié)構(gòu)
線性表、棧、隊(duì)列、串、數(shù)組、廣義表、樹、二叉樹、圖
對(duì)數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)添加、刪除、更新、查詢、排序等
數(shù)據(jù)
數(shù)據(jù)是描述客觀事物的數(shù)值,字符以及能輸入機(jī)器且能被處理的各種符號(hào)集合。
數(shù)據(jù)含義廣泛,除了通常的數(shù)值數(shù)據(jù),字符,字符串是數(shù)據(jù)以外,聲音,圖像等一切可以輸入計(jì)算機(jī)并能被處理的都是數(shù)據(jù)。
數(shù)據(jù)項(xiàng)
數(shù)據(jù)項(xiàng)具有原子性,是不可分割的最小數(shù)據(jù)單元。
如描述學(xué)生相關(guān)信息的姓名、性別、學(xué)號(hào)等都是數(shù)據(jù)項(xiàng),如紅框的
數(shù)據(jù)元素
數(shù)據(jù)元素是數(shù)據(jù)的基本單元,是數(shù)據(jù)集合的個(gè)體,通常有若干個(gè)數(shù)據(jù)項(xiàng)組成,在計(jì)算機(jī)程序中通常作為一個(gè)整體來(lái)進(jìn)行處理。
例如一條描述一位學(xué)生的完整信息的數(shù)據(jù)記錄就是一條數(shù)據(jù)元素,如藍(lán)框

數(shù)據(jù)對(duì)象
數(shù)據(jù)對(duì)象是性質(zhì)相同的數(shù)據(jù)元素的集合,是數(shù)據(jù)的子集。
例如一個(gè)學(xué)校所有的學(xué)生的集合就是數(shù)據(jù)對(duì)象,如黃框
數(shù)據(jù)結(jié)構(gòu)
是相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。
1.數(shù)據(jù)的邏輯結(jié)構(gòu)
指反映數(shù)據(jù)元素之間的邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu),其中的邏輯關(guān)系是指數(shù)據(jù)元素之間的前后間關(guān)系,而與他們?cè)谟?jì)算機(jī)中的存儲(chǔ)位置無(wú)關(guān)。
2.數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)
指數(shù)據(jù)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式
數(shù)據(jù)的邏輯結(jié)構(gòu)
線性結(jié)構(gòu)與非線性結(jié)構(gòu)
線性結(jié)構(gòu):有且只有一個(gè)節(jié)點(diǎn)和一個(gè)終端節(jié)點(diǎn),并且所有節(jié)點(diǎn)都最多只有一個(gè)直接前驅(qū)和一個(gè)直接后繼。
線性表是典型的線性結(jié)構(gòu),其基本特征:
(1)集合中必存在衛(wèi)衣的一個(gè) 第一個(gè)元素
(2)集合中必存在唯一的一個(gè) 最后的元素
(3)除最后元素外,其他數(shù)據(jù)元素有唯一的 后繼
(4)除第一元素外,其他數(shù)據(jù)元素有唯一的 前驅(qū)

相對(duì)于非線性結(jié)構(gòu),就是一個(gè)節(jié)點(diǎn)元素可能對(duì)應(yīng)多個(gè)直接前驅(qū)和多個(gè)后繼。
常見的有:樹,圖

集合結(jié)構(gòu) 線性結(jié)構(gòu) 樹狀結(jié)構(gòu) 網(wǎng)狀結(jié)構(gòu)
表和樹是最常用的兩種高效的數(shù)據(jù)結(jié)構(gòu)
集合結(jié)構(gòu):就是數(shù)學(xué)中的集合
(1)確定性
(2)唯一性
(3)無(wú)序性
(4)數(shù)據(jù)元素之間關(guān)系很弱
線性結(jié)構(gòu):數(shù)據(jù)元素之間一對(duì)一關(guān)系
樹狀結(jié)構(gòu):數(shù)據(jù)元素之間一對(duì)多關(guān)系
網(wǎng)狀結(jié)構(gòu):數(shù)據(jù)元素之間多對(duì)多關(guān)系
數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)
數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)主要包括數(shù)據(jù)元素本身的尋相互以及數(shù)據(jù)元素關(guān)系的表示,是數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示
常見的存儲(chǔ)結(jié)構(gòu)有順序存儲(chǔ)、鏈?zhǔn)酱鎯?chǔ)、索引存儲(chǔ)以及散列存儲(chǔ)。
順序存儲(chǔ)結(jié)構(gòu)
把邏輯上相鄰的節(jié)點(diǎn)存儲(chǔ)在物理位置上相鄰的存儲(chǔ)單元中,節(jié)點(diǎn)之間的邏輯關(guān)系由存儲(chǔ)單元的鄰接關(guān)系來(lái)體現(xiàn),由此得到的存儲(chǔ)結(jié)構(gòu)為順序存儲(chǔ)結(jié)構(gòu)。
優(yōu)點(diǎn):節(jié)省存儲(chǔ)空間,分配給數(shù)據(jù)的存儲(chǔ)單元存放節(jié)點(diǎn)的數(shù)據(jù),節(jié)點(diǎn)之間的邏輯關(guān)系沒(méi)有占用額外的存儲(chǔ)空間。
缺點(diǎn):插入和刪除元素需要移動(dòng)元素,效率低下。
鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
數(shù)據(jù)元素的存儲(chǔ)對(duì)應(yīng)的不是連續(xù)的空間,每一個(gè)節(jié)點(diǎn)對(duì)應(yīng)一個(gè)需要存儲(chǔ)的數(shù)據(jù)元素,每個(gè)節(jié)點(diǎn)由數(shù)據(jù)域和指針域組成,元素之間的邏輯關(guān)系通過(guò)指針域反映。
特點(diǎn):
1.比順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)密度小
2.邏輯上相鄰的節(jié)點(diǎn)物理上不必相鄰
3.插入和刪除靈活
4.查找節(jié)點(diǎn)時(shí)鏈?zhǔn)酱鎯?chǔ)較慢

索引存儲(chǔ)結(jié)構(gòu)
除建立存儲(chǔ)節(jié)點(diǎn)信息外,還建立附加的索引來(lái)標(biāo)識(shí)節(jié)點(diǎn)的位置,比如圖書字典的目錄

散列存儲(chǔ)結(jié)構(gòu)
根據(jù)節(jié)點(diǎn)的關(guān)鍵字直接計(jì)算除該節(jié)點(diǎn)的存儲(chǔ)位置,添加,查詢極快

以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"數(shù)據(jù)結(jié)構(gòu)基本概念和數(shù)據(jù)結(jié)構(gòu)類型",希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為您服務(wù)。
相關(guān)閱讀
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)