資料結構_二元組
阿新 • • 發佈:2018-12-25
今天在牛客網上看到這樣一個題目:
當時做的時候直接沒反應過來,後來看解析的時候,才知道,二元組,圖論上學過嘛。而且,我們以前也經常接觸,圖(V,E)就是嘛。
資料結構分為:邏輯結構、儲存結構。
邏輯結構分為:集合、線性結構、樹形結構、圖形結構。
--線性表、棧、佇列、樹、圖等邏輯結構。
--其中線性表、棧、佇列為線性結構,樹和圖都是非線性結構。
物理儲存結構分為:順序儲存結構、鏈式儲存結構,索引結構,雜湊結構。
邏輯結構可以採用兩種方法來描述:二元組、圖形。
--二元組表示形式: DS = ( D, S ) 【Data Structure】
--其中 D 是資料元素的集合; S 是 D 中資料元素之間的關係集合,並且資料元素之間的關係是使用序偶來表示的。序偶是由兩個元素 x 和 y 按一定順序排列而成的二元組,記作<x , y>, x 是它的第一元素, y 是它的第二元素。
--當使用圖形來表示資料結構時,是用圖形中的點來表示資料元素,用圖形中的弧來表示資料元素之間的關係。如果資料元素 x 與 y 之間有關係<x , y>,則在圖形中有從表示 x 的點出發到達表示 y 的點的一條弧。
現在,另資料結構的二元組形式為:DS = (D, S),則:
- 如果 D != null,而S == null,則該資料結構為集合結構。
- 如果 D = {01, 02, 03, 04, 05},S = {<02,04>, <03,05>, <05,02>, <01,03>},則該資料結構是線性結構。
在這些資料元素中有一個可以被稱為“第一個”的資料元素;還有一個可以被稱為“最後一個”的資料元素;除第一個元素以外每個資料元素有且僅有一個直接前驅元素,除最後一個元素以外每個資料元素有且僅有一個直接後續元素。這種資料結構的特點是資料元素之間是 1對 1 的聯絡,即線性關係。 - D = {01, 02, 03, 04, 05, 06}
S = {<01,02>, <01,03>, <02,04>, <02,05>, <03,06>}
除了一個數據元素(元素 01)以外每個資料元素有且僅有一個直接前驅元素,但是可以有多個直接後續元素。這種資料結構的特點是資料元素之間是 1 對 N 的聯絡,即樹結構。 - D = {01, 02, 03, 04, 05}
S = {<01,02>, <01,05>, <02,01>, <02,03>, <02,04>, <03,02>,<04,02>, <04,05>, <05,01>, <05,04>}:
每個資料元素可以有多個直接前驅元素,也可以有多個直接後續元素。這種資料結構的特點是資料元素之間是 M 對 N 的聯絡,即圖結構。