首页
/
每日頭條
/
科技
/
數據結構與算法關系是什麼
數據結構與算法關系是什麼
更新时间:2026-03-09 14:17:27

數據的邏輯結構:

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

分類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
推荐阅读
蘋果x怎麼截圖截屏
蘋果x怎麼截圖截屏
總結:方法一:蘋果手機通用截圖方式1、打開系統設置圖标,然後依次點擊通用、輔助功能、輔助觸控,接着開啟輔助觸控右側的開關。2、調出小圓點後點擊它,再點擊屏幕快照即可。方法二:iPhone X及以上機型...
2026-03-09
怎麼下載電視劇到手機觀看
怎麼下載電視劇到手機觀看
總結:1、點擊打開百度,然後點擊打開電視劇。2、在電視劇頻道需要下載的電視劇。如果沒有,點擊搜索,找到後,點擊打開。3、點擊打開後,顯示視頻詳情。點擊打開那一集電視。4、之後,該視頻會播放。然後在播放...
2026-03-09
邊充電邊玩手機的危害
邊充電邊玩手機的危害
邊充電邊玩手機,會導緻手機短路,損壞電池,縮短手機壽命,傷害眼睛。1、手機短路,邊充電邊玩手機,會導緻電壓升高,從而導緻手機短路。2、損壞電池,邊充電邊玩手機,會導緻手機電池發燙,加速電池老化,最終損...
2026-03-09
怎麼第二次修改釘釘号
怎麼第二次修改釘釘号
總結:1、首先,在手機上找到并打開“釘釘”圖标。2、然後,視線轉移到界面下方,選擇點擊“我的”選項。3、之後,在“我的界面”找到并點擊“設置”選項。4、其次,選擇并進入“我的信息”。5、在新頁面選擇點...
2026-03-09
抖音音浪收入怎麼算 抖音音浪分成比例是多少
抖音音浪收入怎麼算 抖音音浪分成比例是多少
自從都有加入了音浪之後很多主播都很開心,但是還是有很多後來的用戶不知道這個音浪的收入是怎麼算的,今天就給你們帶來了抖音音浪收入算法詳細介紹,快來一起看看吧。抖音音浪收入怎麼算:1、個體的抖音主播能夠得到分成:30%。2、加入了A級或者B級公會的分成:30%~40%。3、加入了頂級S級公會可以得到分成...
2026-03-09
Copyright 2023-2026 - www.tftnews.com All Rights Reserved