Try   HackMD

2024q1 Homework4 (quiz3+4)

contributed by < yutingshih >

第三週測驗題

測驗 1

測驗 2

測驗 3

測驗 4

測驗 5

第四週測驗題

測驗 1

測驗 2

測驗 3

程式碼運作原理

static void __xt_remove(struct xt_node **root, struct xt_node *del);

函式 __xt_remove 用於在 XTree 中移除一個節點,有兩個參數,分別是 XTree 的根節點 struct xt_node **root 和欲移除的節點 struct xt_node *del,需要分別對三種狀況做處理:

  1. 如果 del 有右子樹,以右子樹中最小節點替換 del,然後呼叫 xt_update 維護 XTree。
  2. 如果 del 有左子樹,以左子樹中最大節點替換 del,然後呼叫 xt_update 維護 XTree。
  3. 如果 del 是唯一的節點 (即根節點),則直接把根設為 NULL,,最後一樣呼叫 xt_update 維護 XTree。