日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 关联表做修改_java-图关联列表实现

發布時間:2024/9/27 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 关联表做修改_java-图关联列表实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我知道我也許正在從死里復生一個老問題,但是我覺得應該發表評論.

您可以創建關聯列表圖形結構,也可以針對圖進行調整.

考慮LinkedList< Vertex>.對象和LinkedList< Edge>.賓語.這將使您可以遍歷所有邊緣和所有頂點,但不包含有關所有對象如何連接的信息.

假設我們添加了幾個LinkedList< Connection>對象.實際上,每個頂點一個.連接只是邊緣和頂點相交的地方.因此,邊緣將具有兩個Connection對象(對于無向圖),而頂點將具有一個LinkedList< Connection>.對象,表示與它連接的每個Edge的連接.本質上,這是一個事件列表.

如果刪除某些Connection對象,則可以修改它以表示有向圖.更具體地說,您必須選擇在哪些地方沒有這些引用.您可以選擇從關聯的LinkedList< Connection>中刪除連接.如果您不希望從頂點看到邊緣(對于上面的示例,N2將有一個空的LinkedList< Connection>).您可能改為選擇在Edge上使引用成為可選(對于上面的示例,E1將有一個指向N2的連接,而一個Connection為空,從而允許從E1遍歷到N2,但不能返回到N1.您選擇如何實現一個是更直觀的-邊緣是定向的,因此刪除邊緣上的連接以決定它們的連接方式似乎合乎邏輯.另一個可能一開始看起來有些復雜,但會阻止您不必要地跳到進行廣度優先和深度優先搜索時無用的邊緣.

點形式:

>在發生列表的實現中,我有.您需要實施嗎?

>嚴格來說,您可以只存儲傳出的邊緣.但是,回溯算法可能會受益于能夠沿其行進的參考進行回溯.當然,您可以使用某種歷史來實現此目的,因此可能不需要考慮太多.

>如果兩者都做,則可能需要某種方法來區分它是傳入還是傳出.是否通過具有兩個LinkedList< Connection>頂點上的對象,或者在Connection上具有布爾型pointingToVertex原語,或任何其他方式.也許您的邊緣將是有方向的,而無方向的邊緣將由兩個指向相反方向的邊緣組成.根據您的結構需要進行考慮.

總結

以上是生活随笔為你收集整理的java 关联表做修改_java-图关联列表实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。