樹數據結構可視化有一些算法嗎?我嘗試了谷歌搜索,但沒有找到任何。我很確定這不是那麼簡單的任務必須有一些算法。或者任何人有一些想法?樹可視化算法
Q
樹可視化算法
5
A
回答
7
假設:您希望顯示每個節點,使其位於其子節點上方。
爲了達到此目的,計算每個節點的寬度,我將其定義爲顯示此節點的整個子樹所需的水平空間量,使其不會與其左側或右側兄弟的子樹重疊。
這導致:
width = 1 + sum(widths of children's nodes)
所以,做一個深度優先遍歷整個樹來計算每個節點的寬度。要顯示,請先進行寬度優先遍歷,逐級繪製樹。
這是如何去做的大概想法。您可能想調整寬度計算,具體取決於您想要渲染樹的細節。
1
例如,您可以使用DOT語言和graphviz。
3
Tree-mapping可能是你在找什麼。 Graphviz適用於可視化不專門用於樹結構的圖形結構。我再也找不到它了,但是我記得在一篇科學文章中讀到過,treemaps(我認爲voronoi)最適合表示樹結構,關於它們消耗的位置和區域可以用來表示某個單位(比如字節大小例)。
Here是一些替代方案。
Here是關於該主題的文章和其他信息的良好列表。
0
您還可以從左到右打印樹,即最左側的根,第一級右側的樹等等。你會發現樹上印有每個級別的「自己的專欄」。該算法有點像這樣:
print(node, spaces):
if node has left child:
print(left_child, spaces + ' ')
print spaces + node + '\n'
if node has right child:
print(right_child, spaces + ' ')
該算法將每行打印一個樹節點。樹的每個級別都會被一些空格向右縮進。此算法將按升序打印項目,但可以通過首先處理正確的小孩來實現降序。
相關問題
- 1. Splay樹可視化
- 2. 沙漏可視化算法
- 3. C#的算法可視化#
- 4. 樹可視化和動畫
- 5. 在c中樹可視化#
- 6. 樹可視化libgraphviz /點
- 7. 決策樹可視化
- 8. 樹結構可視化
- 9. AVL樹可視化c#
- 10. 可視化樹數據
- 11. 構建樹視圖算法
- 12. 如何做算法可視化?
- 13. 開發算法可視化/模擬
- 14. 用於可視化算法的工具
- 15. 數據可視化算法書籍
- 16. 用matplotlib調度算法的可視化
- 17. 如何可視化算法的步驟
- 18. C可視化算法工具?
- 19. 可視化節點樹(?斥力)
- 20. Mercurial修訂版樹的可視化
- 21. 決策樹與SKlearn和可視化
- 22. 榆樹快速排序的可視化
- 23. 可視化樹 - 在內容等於
- 24. 導航WPF中的可視化樹
- 25. 從* .dot文件中可視化樹
- 26. VS中對象樹的可視化
- 27. 交互樹可視化使用的wxPython
- 28. Android樹形圖可視化爲目錄?
- 29. WPF - 可視化樹不用於繪圖?
- 30. 在VS2008中可視化樹木
你在找什麼像Graphviz? http://www.graphviz.org/ –
你確定你正在尋找一種算法或服務來顯示它嗎? – Duniyadnd
我必須在我的項目中可視化樹,因此我需要算法。 – MrProper