如何輸入二叉樹? 如何繪製二叉樹

發布 科學 2024-04-18
4個回答
  1. 匿名使用者2024-02-07

    二叉樹。 繪圖方法可分為:

    1. 確定根節點。

    2.確定節點的左子和右子。

    3. 遞迴,直到所有節點不再有子節點。

    根據二叉樹的具體儲存結構,確定根節點和子節點的方法也不同。

    從您的關係圖中,g 是按層遍歷的。

    ,從上到下,從左到右。

    如果液體儲存在陣列中,則可以表示為。

    索引 0 1 2 3 4 5 6 7 8

    節點 a、b、c、d、null、e f、null g

    第乙個節點是根節點。

    索引號為 i 的節點:

    左子索引號 2i 1

    右邊的兒子的索引號是 2i 2

    從根節點遞迴允許您繪製整個樹; 如果是鍊表。

    儲存,其實體地址。

    與邏輯位址沒有直接的聯絡,只能通過第一點之間的邏輯來推導。

  2. 匿名使用者2024-02-06

    reat()。 你正在使用遞迴,並且你正在構建乙個完整的二叉樹。 它首先構建根節點,然後構建左子樹,然後在左子樹完成後構建右子樹。 但是,如果你只是不停地輸入非零值,你就是在無休止地構建左子樹。

    注意,由於你的程式正在構建乙個完整的二叉樹(即每個根節點有兩個子節點),如果你想完成左子樹的構建,你需要輸入的 0(構建你的 null 節點)會隨著樹的層數呈指數增長,一旦你輸入了足夠多的非零值, 就算是10,需要輸入的0個數也會在8到16之間,如果你沒有耐心,你當然會認為自己進入了乙個無盡的迴圈。

    把 t->lchild=creat(); 更改為 t->data=x; 之前,然後執行,你不要輸入太多非零值,7 就夠了,然後繼續輸入 0,你自己數一數,你想輸入多少個零,看看是不是 2 3。 如果你必須構造乙個完整的二叉樹,你不必改變程式,最多把它改成我上面說的,廣度就會被優先考慮。

    廣度優先,你只需要最後一次輸入 0,你不必在最後輸入 0,就像深度先輸入的情況一樣,你不知道什麼時候在最後輸入 0。

    請新增詳細說明。

  3. 匿名使用者2024-02-05

    搜尋和插入的方法類似於重新建立一維陣列,時間複雜度o(n)會發展成單鏈的形狀,因為深度不知道平衡,它像一條線n點一樣深。

    當樹中沒有關鍵字等於搜尋過程中給定值的節點時,將插入二叉排序樹。 如果查詢不成功,則新插入的節點必須是新新增的葉節點,並且是路徑上訪問的最後乙個節點的左節點或右節點。

    因此,二叉排序樹插入的最大時間複雜度為 o(n)。 如果二元排序樹更平衡,則時間複雜度和複雜度降低,最小時間複雜度為 o(logn)。

  4. 匿名使用者2024-02-04

    1)按照根左和右的順序,沿著路徑上的節點的一定路徑按順序遍歷。在二叉樹中,根後面跟著左邊,然後是右邊。

    2)中階遍歷,先遍歷左邊的子樹,然後訪問根節點,最後遍歷右邊的子樹。

    3)後序遍歷,可記錄為左根和右根。在二元智慧樹中,先左後右扎根,即先遍歷左邊的子樹,再遍歷右邊的子樹,最後訪問根節點。

    4)這個二叉樹的根節點是a。

    5)畫一棵二叉樹:

相關回答
9個回答2024-04-18

滿意的答案:望遠鏡 8 級 2010-03-22 完整的二叉樹。 >>>More

9個回答2024-04-18

強烈建議房東明確主題,包括如何輸入以及輸出格式是什麼。

9個回答2024-04-18

沒有子樹的節點是葉節點。

節點的度數是指節點的子樹個數,二叉樹中沒有度數大於2的節點。 也就是說,每個節點最多可以有兩個子樹。 >>>More

6個回答2024-04-18

完成**,則全域性變數 outstr 包含遍歷結果。 >>>More

7個回答2024-04-18

<>第乙個數字作為根節點,將下乙個數字分成大於30和小於30的數字,小數放在左邊,大數放在右邊,然後按照數字出現的順序,乙個接乙個地放在比根節點大的節點上, 小的放在左邊。