數據邏輯結構 的 二元組表示法


轉自:https://blog.csdn.net/qq_35733751/article/details/80444757


 

對於數據的邏輯結構還有一種二元組表示法,下面是二元組表示方法。

邏輯結構二元組表示方法:B = (D , R)
B——數據結構
D——數據元素的集合
R——D上二元關系的集合

  在上面這種二元組表示方法中,B就是一種數據結構, 用上面的二元組來表示B這種數據結構時,就是由數據元素的集合D和D中的二元關系的集合R組成的,通過這句話,我們可以明白:
D=di|1≤i≤n,n≥0
, 數據元素的集合

  di
表示的是集合D中第i個節點或數據元素,換句話說,數據元素的集合D就是由多個di

組成的。
這里寫圖片描述
圖1-學生信息表

  如圖1所示,每一個同學的信息(學號,姓名,班號)都是一個數據元素,也就是說,數據元素的結合D包括了圖中的每一位同學,而di

則表示圖中的第i個同學的信息。另外,我們知道學號是具有唯一性,且不會重復,因此我們在抽取數據集合時,可以用學號來代表每一位同學的信息(學號,姓名,班號)。

  n表示了數據元素的集合D中節點或元素的個數,如果n為0則說明D中節點或元素個數為0,D是一個空集。


R=rj|1≤j≤m,m≥0
, D上二元關系的集合

  R代表了D上二元關系的集合,這個二元關系是表示上圖中(數據元素的集合D中)的兩兩元素之間的關系,比如:100和101這兩個數據元素之間的關系就是一個二元關系,101和102也是如此。也就是說,集合R中有多個二元關系。

  rj

表示了集合R中的第j個二元關系,且每個關系用序偶表示。

  序偶表示方法: <x,y>
, (x,y)

,括號中的x,y兩個元素之間的關系就是一個二元關系。

  x為第一個元素,y為第二個元素,x為y的前驅元素,y為x的后繼元素

  對於開始元素來說,沒有前驅元素節點;對於終端元素來說,沒有后繼元素節點。

  <x,y>
代表有向關系,也就是說x為第一,y為第二;而 (x,y)代表無向關系,也就是說沒有前后之分,第一和第二之分。因此我們可以知道rj

就是由若干個這樣的序偶來表達的。

  對於m來說,m表示了集合R中二元關系的個數,如果m = 0,表示二元關系的集合R是一個空集,R是一個空集的話就說明了集合D中元素間是獨立的,不存在任何關系,對這種關系只要了解即可。我們在學習數據結構時應該關注有結構的,彼此之間有關系的數據是如何組織的。



  我們根據上面所描述知道了二元組的表示方法,那么再對於學生表的邏輯結構二元組表示,如下所示:

學生表 = (D,R)
D = {100,101,102,103}
R = {r}
r = {<100,101>,<101,102>,<102,103>}

    1
    2
    3
    4

  我們從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>}(列關系)

    1
    2
    3
    4
    5

  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> }

    1
    2
    3
    4

  從它的二元關系的序偶 <a,b>

中可以看出這是一個有向關系,那么其二元組關系對應的邏輯結構如下圖所示:

這里寫圖片描述
圖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) }

    1
    2
    3
    4

  從它的二元組序偶(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>}

    1
    2
    3
    4
    5

  我們從R = {r1 ,r2} 來看,在二元關系的集合R中有r1,r2兩個關系,那么這兩個二元關系對應的邏輯結構圖如下圖所示:
這里寫圖片描述
圖6-邏輯結構3

在圖6中r1關系如藍色箭頭所示,r2關系如紅色箭頭所示。
---------------------
作者:songly_
來源:CSDN
原文:https://blog.csdn.net/qq_35733751/article/details/80444757
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM