【C# 資料結構與演算法】邏輯結構的二元組表示方法
阿新 • • 發佈:2022-05-05
二元組表示法
對於資料的邏輯結構還有一種二元組表示法,下面是二元組表示方法。
邏輯結構二元組表示方法:B = (D , R)
B——資料結構
D——資料元素的集合
R——D上二元關係的集合
在上面這種二元組表示方法中,B就是一種資料結構, 用上面的二元組來表示B這種資料結構時,就是由資料元素的集合D和D中的二元關係的集合R組成的,通過這句話,我們可以明白:
D=di|1≤i≤n,n≥0
, 資料元素的集合
表示的是集合D中第i個節點或資料元素,換句話說,資料元素的集合D就是由多個組成的。
這裡寫圖片描述
圖1-學生資訊表
如圖1所示,每一個同學的資訊(學號,姓名,班號)都是一個數據元素,也就是說,資料元素的結合D包括了圖中的每一位同學,而則表示圖中的第i個同學的資訊。另外,我們知道學號是具有唯一性,且不會重複,因此我們在抽取資料集合時,可以用學號來代表每一位同學的資訊(學號,姓名,班號)。
n表示了資料元素的集合D中節點或元素的個數,如果n為0則說明D中節點或元素個數為0,D是一個空集。
R=rj|1≤j≤m,m≥0
, D上二元關係的集合
R代表了D上二元關係的集合,這個二元關係是表示上圖中(資料元素的集合D中)的兩兩元素之間的關係,比如:100和101這兩個資料元素之間的關係就是一個二元關係,101和102也是如此。也就是說,集合R中有多個二元關係。
表示了集合R中的第j個二元關係,且每個關係用序偶表示。
序偶表示方法: <script type="math/tex" id="MathJax-Element-69"> </script>, ,括號中的x,y兩個元素之間的關係就是一個二元關係。
x為第一個元素,y為第二個元素,x為y的前驅元素,y為x的後繼元素
對於開始元素來說,沒有前驅元素節點;對於終端元素來說,沒有後繼元素節點。
<script type="math/tex" id="MathJax-Element-71"> </script> 代表有向關係,也就是說x為第一,y為第二;而 代表無向關係,也就是說沒有前後之分,第一和第二之分。因此我們可以知道 就是由若干個這樣的序偶來表達的。
對於m來說,m表示了集合R中二元關係的個數,如果m = 0,表示二元關係的集合R是一個空集,R是一個空集的話就說明了集合D中元素間是獨立的,不存在任何關係,對這種關係只要瞭解即可。我們在學習資料結構時應該關注有結構的,彼此之間有關係的資料是如何組織的。
我們根據上面所描述知道了二元組的表示方法,那麼再對於學生表的邏輯結構二元組表示,如下所示:
學生表 = (D,R)
我們從D上二元關係的集合R中可以知道它們的關係是一個有向關係,具體關係如r中的所示:在<100,101>序偶中100為第一個資料元素,101為第二個資料元素,其他以此類推,不難看出元素之間是兩兩相鄰的關係,最終它們形成的結構就是一個線性結構,如下所示:
這裡寫圖片描述
圖2-學生表的邏輯結構
2. 邏輯結構的二元組表示法
現在我們來看一個例子,根據邏輯結構來畫出其二元組表示法。在圖3中一個矩陣,資料如下:
這裡寫圖片描述
圖3-矩陣的邏輯結構
對應的邏輯結構二元組表示如下:
D表示了資料元素的集合,而D的大括號中的就是資料元素,而R表示了D上二元關係的集合,也就是在二元關係的集合R中有r1和r2這兩個二元關係,其中r1代表行關係,r2代表列關係。
3. 根據二元組畫出邏輯結構
在應用過程中,當給出二元組這種抽象的表示方法之後,我們應該做到能夠根據這種抽象的二元組表示法中給出的資訊,用邏輯結構圖畫出來,通過邏輯結構更加直觀的判斷具體屬於哪一種資料結構。
3.1 例1
二元組表示法如下:
這裡寫圖片描述
圖4-邏輯結構1
3.2 例2
二元組表示如下:
這裡寫圖片描述
圖5-邏輯結構2
3.3 例3
二元組表示如下:
這裡寫圖片描述
圖6-邏輯結構3
在圖6中r1關係如藍色箭頭所示,r2關係如紅色箭頭所示。
對於資料的邏輯結構還有一種二元組表示法,下面是二元組表示方法。
邏輯結構二元組表示方法:B = (D , R)
B——資料結構
D——資料元素的集合
R——D上二元關係的集合
在上面這種二元組表示方法中,B就是一種資料結構, 用上面的二元組來表示B這種資料結構時,就是由資料元素的集合D和D中的二元關係的集合R組成的,通過這句話,我們可以明白:
D=di|1≤i≤n,n≥0
, 資料元素的集合
表示的是集合D中第i個節點或資料元素,換句話說,資料元素的集合D就是由多個組成的。
這裡寫圖片描述
圖1-學生資訊表
如圖1所示,每一個同學的資訊(學號,姓名,班號)都是一個數據元素,也就是說,資料元素的結合D包括了圖中的每一位同學,而則表示圖中的第i個同學的資訊。另外,我們知道學號是具有唯一性,且不會重複,因此我們在抽取資料集合時,可以用學號來代表每一位同學的資訊(學號,姓名,班號)。
n表示了資料元素的集合D中節點或元素的個數,如果n為0則說明D中節點或元素個數為0,D是一個空集。
R=rj|1≤j≤m,m≥0
, D上二元關係的集合
R代表了D上二元關係的集合,這個二元關係是表示上圖中(資料元素的集合D中)的兩兩元素之間的關係,比如:100和101這兩個資料元素之間的關係就是一個二元關係,101和102也是如此。也就是說,集合R中有多個二元關係。
表示了集合R中的第j個二元關係,且每個關係用序偶表示。
序偶表示方法: <script type="math/tex" id="MathJax-Element-69"> </script>, ,括號中的x,y兩個元素之間的關係就是一個二元關係。
x為第一個元素,y為第二個元素,x為y的前驅元素,y為x的後繼元素
對於開始元素來說,沒有前驅元素節點;對於終端元素來說,沒有後繼元素節點。
<script type="math/tex" id="MathJax-Element-71"> </script> 代表有向關係,也就是說x為第一,y為第二;而 代表無向關係,也就是說沒有前後之分,第一和第二之分。因此我們可以知道 就是由若干個這樣的序偶來表達的。
對於m來說,m表示了集合R中二元關係的個數,如果m = 0,表示二元關係的集合R是一個空集,R是一個空集的話就說明了集合D中元素間是獨立的,不存在任何關係,對這種關係只要瞭解即可。我們在學習資料結構時應該關注有結構的,彼此之間有關係的資料是如何組織的。
我們根據上面所描述知道了二元組的表示方法,那麼再對於學生表的邏輯結構二元組表示,如下所示:
學生表 = (D,R)
D = {100,101,102,103} R = {r} r = {<100,101>,<101,102>,<102,103>}
我們從D上二元關係的集合R中可以知道它們的關係是一個有向關係,具體關係如r中的所示:在<100,101>序偶中100為第一個資料元素,101為第二個資料元素,其他以此類推,不難看出元素之間是兩兩相鄰的關係,最終它們形成的結構就是一個線性結構,如下所示:
這裡寫圖片描述
圖2-學生表的邏輯結構
2. 邏輯結構的二元組表示法
現在我們來看一個例子,根據邏輯結構來畫出其二元組表示法。在圖3中一個矩陣,資料如下:
這裡寫圖片描述
圖3-矩陣的邏輯結構
對應的邏輯結構二元組表示如下:
B = {D,R} D= {2,6, 3 ,1 ,8 ,12 , 7 ,4 ,5 ,10 ,9 ,11} R = {r1 ,r2} (r1表示行關係,r2表示列關係) r1 = {<2,6>,<6,3>,<3,1>,<8,12>,<12,7>,<7,14>,<5,10>,<10,9>,<9,11>}(行關係) r2 = {<2,8>,<8,5>,<6,12>,<12,10>,<3,7>,<7,9>,<1,4>,<4,11>}(列關係)
D表示了資料元素的集合,而D的大括號中的就是資料元素,而R表示了D上二元關係的集合,也就是在二元關係的集合R中有r1和r2這兩個二元關係,其中r1代表行關係,r2代表列關係。
3. 根據二元組畫出邏輯結構
在應用過程中,當給出二元組這種抽象的表示方法之後,我們應該做到能夠根據這種抽象的二元組表示法中給出的資訊,用邏輯結構圖畫出來,通過邏輯結構更加直觀的判斷具體屬於哪一種資料結構。
3.1 例1
二元組表示法如下:
B1 = (D,R) D = {a,b,c,d,e,f,g,h,i,j} R = {r} r = { <a,b>,<a,c>,<a,d>,<b,e>,<c,f>,<c,g>,<d,h>,<d,i>,<d,j> }從它的二元關係的序偶 <script type="math/tex" id="MathJax-Element-11"></script> 中可以看出這是一個有向關係,那麼其二元組關係對應的邏輯結構如下圖所示:
這裡寫圖片描述
圖4-邏輯結構1
3.2 例2
二元組表示如下:
B2 = (D,R) D = {a,b,c,d,e} R = {r} r = { (a,b), (a,c), (b,c), (c,d), (c,e), (d,e) }從它的二元組序偶(a,b)可以看出這是一個無向關係,那麼其二元組對應的邏輯結構圖表示如下圖所示:
這裡寫圖片描述
圖5-邏輯結構2
3.3 例3
二元組表示如下:
B3 = (D,R) D = {48,25,64,57,82,36,75} R = {r1 , r2} r1 = {<48,25>,<48,64>,<64,57>,<64,82>,<25,36>,<82,75>} r2 = {<25,36>,<36,48>,<48,57>,<57,64>,<64,57>,<75,82>}我們從R = {r1 ,r2} 來看,在二元關係的集合R中有r1,r2兩個關係,那麼這兩個二元關係對應的邏輯結構圖如下圖所示:
這裡寫圖片描述
圖6-邏輯結構3
在圖6中r1關係如藍色箭頭所示,r2關係如紅色箭頭所示。