首页
/
每日頭條
/
科技
/
數據結構與算法關系是什麼
數據結構與算法關系是什麼
更新时间:2025-12-25 08:54:53

數據的邏輯結構:

數據的邏輯結構指數據元素之間的邏輯關系(和實現無關)。

分類1:線性結構和非線性結構

線性結構:

有且隻有一個開始結點和一個終端結點,并且所有結點都最多隻有一個直接前驅和一個直接後繼。

線性表就是一個典型的線性結構,它有四個基本特征:

  • ​集合中必存在唯一的一個"第一個元素";
  • 集合中必存在唯一的一個"最後的元素";
  • 除最後元素之外,其它數據元素均有唯一的"直接後繼";
  • 除第一元素之外,其它數據元素均有唯一的"直接前驅"。

數據結構與算法關系是什麼(數據結構與算法)1

生活案例:冰糖葫蘆、 排隊上地鐵

數據結構與算法關系是什麼(數據結構與算法)2

相對應于線性結構,非線性結構的邏輯特征是一個節點元素可能對應多個直接前驅和多個直接後繼。

常見的非線性結構有:樹(二叉樹等),圖(網等)。

樹:

生活案例:單位組織架構、族譜

技術案例:文件系統。

數據結構與算法關系是什麼(數據結構與算法)3

數據結構與算法關系是什麼(數據結構與算法)4

數據結構與算法關系是什麼(數據結構與算法)5

圖:

生活案例:交通線路圖,地鐵圖

數據結構與算法關系是什麼(數據結構與算法)6

數據結構與算法關系是什麼(數據結構與算法)7

分類2:集合結構 線性結構 樹狀結構 網絡結構

邏輯結構有四種基本類型:集合結構、線性結構、樹狀結構和網絡結構。

表和樹是最常用的兩種高效數據結構,許多高效的算法能夠用這兩種數據結構來設計實現。

集合結構:

就是數學中所學習的集合。集合中的元素有三個特征:

  • 确定性(集合中的元素必須是确定的)
  • 唯一性(集合中的元素互不相同。例如:集合A={1,a},則a不能等于1)
  • 無序性(集合中的元素沒有先後之分),如集合{3,4,5}和{3,5,4}算作同一個集合

該結構的數據元素間的關系是“屬于同一個集合”,别無其它關系。

因為集合中元素關系很弱,數據結構中不對該結構進行研究

線性結構:

數據結構中線性結構指的是數據元素之間存在着“一對一”的線性關系的數據結構。

樹狀結構:除了一個數據元素(元素 01)以外每個數據元素有且僅有一個直接前驅元素,但是可以有多個直接後續元素。

特點是數據元素之間是 1 對 多的聯系

網絡結構:

每個數據元素可以有多個直接前驅元素,也可以有多個直接後續元素。特點是數據元素之間是多對 多 的聯系

數據結構與算法關系是什麼(數據結構與算法)8

問題:1個班的學生是什麼邏輯結構呢?

數據的存儲結構

數據的存儲結構主要包括數據元素本身的存儲以及數據元素之間關系表示,是數據的邏輯結構在計算機中的表示。

常見的存儲結構有順序存儲,鍊式存儲,索引存儲,以及散列存儲。

順序存儲結構:

把邏輯上相鄰的節點存儲在物理位置上相鄰的存儲單元中,節點之間的邏輯關系由存儲單元的鄰接關系來體現。

由此得到的存儲結構為順序存儲結構,通常順序存儲結構是借助于計算機程序設計語言(例如C/C )的數組來描述的。

(數據元素的存儲對應于一塊連續的存儲空間,數據元素之間的前驅和後續關系通過數據元素,在存儲器中的相對位置來反映)

數據結構與算法關系是什麼(數據結構與算法)9

優點:

  • 節省存儲空間,因為分配給數據的存儲單元全用存放結點的數據(不考慮c/c 語言中數組需指定大小的情況),結點之間的邏輯關系沒有占用額外的存儲空間。
  • 采用這種方法時,可實現對結點的随機存取,即每一個結點對應一個序号,由該序号可以直接計算出來結點的存儲地址。

缺點:

  • 插入和删除操作需要移動元素,效率較低。
  • 必須提前分配固定數量的空間,如果存儲元素少,可能導緻空閑浪費。

數據結構與算法關系是什麼(數據結構與算法)10

鍊式存儲結構:

數據元素的存儲對應的是不連續的存儲空間,每個存儲節點對應一個需要存儲的數據元素。

每個結點是由數據域和指針域組成。元素之間的邏輯關系通過存儲節點之間的鍊接關系反映出來。

邏輯上相鄰的節點物理上不必相鄰。

缺點:

  • 比順序存儲結構的存儲密度小 (每個節點都由數據域和指針域組成,所以相同空間内假設全存滿的話順序比鍊式存儲更多)。
  • 查找結點時鍊式存儲要比順序存儲慢。

優點:

  • 插入、删除靈活 (不必移動節點,隻要改變節點中的指針)。
  • 有元素才會分配結點空間,不會有閑置的結點。

數據結構與算法關系是什麼(數據結構與算法)11

索引存儲結構:

除建立存儲結點信息外,還建立附加的索引表來标識結點的地址。

比如圖書、字典的目錄

數據結構與算法關系是什麼(數據結構與算法)12

散列存儲結構:

根據結點的關鍵字直接計算出該結點的存儲地址 HashSet HashMap

一種神奇的結構,添加、查詢速度快。

數據結構與算法關系是什麼(數據結構與算法)13

舉例:

線性表的邏輯結構如圖所示:

數據結構與算法關系是什麼(數據結構與算法)14

線性表邏輯結構對應的順序存儲結構為順序表,對應的鍊式存儲結構為鍊表。

順序表

數據結構與算法關系是什麼(數據結構與算法)15

鍊表

數據結構與算法關系是什麼(數據結構與算法)16

  • 同一邏輯結構可以對應多種存儲結構。
  • 同樣的運算,在不同的存儲結構中,其實現過程是不同的

數據結構與算法關系是什麼(數據結構與算法)17

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
科顔氏亞馬遜白泥淨膚面膜價格
科顔氏亞馬遜白泥淨膚面膜價格
有很多寶寶後台私信說更新進度有點慢好像是的呢最近館長也有點偷懶了皮膚由油性轉變的有些敏感肌了索性借此機會館長也是偷了幾天懶然鵝閉口黑頭白頭卻從來不偷懶直接入手一罐科顔氏白泥面膜準備和黑頭白頭來次對抗科顔氏這個牌子相信寶寶們也耳熟能詳了150...
2025-12-25
閑魚為什麼标價很低
閑魚為什麼标價很低
導讀相信很多對電腦或者DIY電腦感興趣的人都會在閑魚上面搜索硬件,有些對電腦不太懂的小夥伴也可能上閑魚找一些合适的電腦,這讓很多組裝電腦的JS們找到了一個省房租水電,并且沒有宣傳費用的坑人渠道,今天老程就給大家帶來他們所賣的電腦分析。正文上...
2025-12-25
手機桌面如何設置更多動态壁紙
手機桌面如何設置更多動态壁紙
大家好,這裡是科技上善,今天為大家帶來如何讓自己的手機桌面炫酷起來,首先需要下載一款視頻桌面軟件視頻桌面,類似Steam中的動态壁紙軟件WallpaperEngine,這款軟件會讓自己的手機桌面變成視頻動态,顯得非常的高端,瞬間提升手機的科...
2025-12-25
免費的如何拆分pdf文件
免費的如何拆分pdf文件
在我們日常學習和日常工作中,有時候會遇見PDF文件很占存的時候,這個時候我們可能就會需要對PDF文件進行拆分。那麼如何将PDF文件進行拆分呢?今天小編就來和大家分享一下如何将PDF文件進行拆分的兩種方法!方法一:拆分文檔打開軟件,将需要拆分...
2025-12-25
文物修複專業碩士
文物修複專業碩士
用雙手“呵護”曆史、用心凝聚故事。近幾年,國潮文化不斷盛行,文物修複行業也逐漸升溫,本着修舊如舊的原則,世界各地的文物修複領域交流也逐漸頻繁,作為世界文明發展的兩個重要國家,千百年來中國對于文物修複與保護工作非常重視,而意大利作為文藝複興的...
2025-12-25
Copyright 2023-2025 - www.tftnews.com All Rights Reserved