【冷门】十字链表法图解
十字鏈表法是有向圖的一種鏈式存儲結構,例題來自王道課本。
有兩個結構需要記住,
一個是點的結構:數據、第一個入度弧(以該點為弧頭的第一個弧)、第一個出度弧
一個是弧的結構:出度、入度、指向弧頭(箭頭)相同的下一條弧、指向弧尾相同的下一條弧
eg:
有點:0、1、2、3
有弧:<0,1><0,2>
<2,0><2,3>
<3,0><3,1><3,2>
首先畫出類似于鄰接表的圖:
點是三格,弧是四格。寫出點,出入度點。
第二步,連接。
點0的第三格(出,第一個弧尾)連接1,1的第四格連接2(1和2的箭頭都是0發射的)。
點0的第二格需要指向第一個射向它的弧,所以是<2,0>。
<0,1>的第三格需要指向弧頭相同的,即弧的第二格為1,指向<3,1>。
<0,2>第三格指向<3,2>。
點1,沒有向任何點射出,只連第二格,即第一個射向它的(次序隨意,通常按照鄰接表順序從上往下從左往右),<0,1>。
點2第三格連接<2,0>,<2,0>第四格連接<2,3>。
點2第二格指向第一個射向它的,<0,2>。
<2,0>第三格指向下一條第二格為0的。
點3第三格,<3,0>,<3,1>,<3,2>依次連接。
點3第二格指向指向弧頭是它的,<2,3>。
<3,0>,<3,1>,<3,2>第三格需要指向弧頭相同的,但它們已經沒有下一條弧,置空。
第三步,檢查是否有空鏈沒標。
需要指出的是,十字鏈表法表示不唯一,因為其中涉及到了“第一條、下一條”。但一個十字鏈表確定一個圖。
太麻煩,出卷老師出的話就是大笨蛋。
?
?
總結
以上是生活随笔為你收集整理的【冷门】十字链表法图解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 进程和线程
- 下一篇: Studio 一些使用