學習軌道
/
Visual Basic
Visual Basic
/
練習
/
建立樹狀結構
建立樹狀結構

建立樹狀結構

中等

說明

重構一個建立樹狀結構的演算法。

有些網路論壇採用樹狀的版面配置,因此文章會以樹狀結構呈現。 不過,這些文章通常是以一組未排序的紀錄儲存在資料庫中。 因此,在把文章呈現給使用者之前,必須先重建樹狀結構。

你的任務是重構一段能運作、卻又慢又醜的程式碼,它為高度抽象化的紀錄實作了樹狀結構的建立邏輯。 這些紀錄只包含一個 ID 編號和一個父 ID 編號。 ID 編號一定介於 0(含)和紀錄陣列的長度(不含)之間。 所有紀錄的父 ID 都比自己的 ID 小,唯一的例外是根紀錄,它的父 ID 等於自己的 ID。

以下是一棵範例樹:

root (ID: 0, parent ID: 0)
|-- child1 (ID: 1, parent ID: 0)
|    |-- grandchild1 (ID: 2, parent ID: 1)
|    +-- grandchild2 (ID: 4, parent ID: 1)
+-- child2 (ID: 3, parent ID: 0)
|    +-- grandchild3 (ID: 6, parent ID: 3)
+-- child3 (ID: 5, parent ID: 0)
透過 GitHub 編輯 連結會在新視窗或分頁中開啟
Visual Basic Exercism

準備好開始 建立樹狀結構 了嗎?

註冊 Exercism,透過 113 個練習 和真人引導來學習並精通 Visual Basic,全部免費。