binary-tree

    0熱度

    2回答

    我試圖打印二叉樹的所有路徑(根到葉路徑),但無濟於事。 我的策略是使用遞歸,其基本情況爲either tree is None or tree node is leaf return否則,遍歷樹的左側和右側。 但我找不到保留左右樹的方法。 def pathSum(self, root, target, result): if not root: return []

    -2熱度

    1回答

    這是二進制搜索樹搜索和插入的代碼。當我試圖通過重複函數Node12 insert2(Node12 curr,int d)檢查樹的左右節點時。在一行中顯示運行時錯誤。 請幫忙 class bst { class Node12 { Node12 left, right; int data; Node12(int d) { data = d;

    6熱度

    1回答

    我想編寫一個函數來檢查兩個二叉樹是否相同。 代碼如下: bool checkSame(Node* first, Node* second) { // Check if nodes are the same // Check left nodes: checkSame(first->left, second->left) // Check right nodes: c

    0熱度

    1回答

    我正在學習考試,目前我在堆。我已經理解如何從一個堆中刪除一個節點,但是我可以找到一個我不能使用該算法刪除的情況。 問題是我想刪除15這是一個葉子和最小堆的最後一個節點。當您刪除堆中的節點時,您正在查找堆的最後一個節點,將其替換爲刪除節點,並檢查此節點的子節點是否大於此節點..然後以遞歸方式繼續此操作。 因此(15是最後一個元素,沒有孩子),我不知道如何刪除它。 1 / \ 9

    2熱度

    3回答

    一二進制樹的最大深度我從二進制樹中創建的元組,它看起來像這樣: 元組=(1,(2,(4,5,6),(7,無,8)),(3,9,(10,11,12))) 的樹狀結構變爲通過應用壓痕更加清晰: (1, (2, (4, 5, 6 ), (7, None, 8 ) ),

    0熱度

    2回答

    如何獲得std::set或std::map的根節點?它提供了獲取begin()和end()迭代器的功能,但是我沒有看到有關獲取根文件的任何內容。

    1熱度

    1回答

    我正在實現一個BST並且正在執行remove()函數,問題是當我嘗試清空節點以刪除即當前節點時,它在打印樹結構時仍然存在。 class Node<T : Comparable> { var value: T var left: Node<T>? var right: Node<T>? init(_ value:T) { self.value

    -2熱度

    2回答

    下面是問題: 給定一個二叉樹,寫一個函數來獲得給定樹的最大寬度。樹的寬度是所有級別中的最大寬度。二叉樹與完整的二叉樹具有相同的結構,但有些節點爲空。 一個級別的寬度定義爲終端節點之間的長度(級別中最左邊和最右邊的非空節點,其中終端節點之間的空節點也計入長度計算中。 這裏是我的代碼: public class MaxWidth { public int widthOfBinaryTree(

    0熱度

    1回答

    本質上講,我試圖做的是採取與數據定義 binary_tree: number | (symbol binary_tree binary_tree) 二叉樹和創造,每個葉片(數字)替換爲計數器的號樹的新版本。我試圖從左到右,然後從上到下這樣做,所以使用寬度優先搜索似乎是按順序訪問每個節點的明顯選擇。但是,我的問題是這樣的。我需要積累一個新的二叉樹來返回它。因爲我們正在訪問每個節點,是否有任何可能

    1熱度

    1回答

    這是一個算法,我剛纔給出了一個測試,我無法弄清楚。有任何想法嗎? 您將得到的二進制樹的遞歸符號:一個樹的每個節點被表示爲一組三個元素:節點 左子樹 右子樹的 值 因此,一棵樹可以寫爲(value left_subtree right_subtree)。 如果節點不存在,則表示爲空集:()。 您的任務是從左到右的順序獲取離樹根最遠的節點列表。 在一個節點的表示法中,它的值和子樹由一個空格字符分隔。