二叉查詢樹迭代器

2021-09-26 02:31:49 字數 911 閱讀 2102

設計實現乙個帶有下列屬性的二叉查詢樹的迭代器:

next()返回bst中下乙個最小的元素

樣例 1:

輸入:

輸出:[1, 6, 10, 11, 12]

解釋:二叉查詢樹如下 :

10/\

1 11

\ \

6 12

可以返回二叉查詢樹的中序遍歷 [1, 6, 10, 11, 12]

樣例 2:

輸入:

輸出:[1,2,3]

解釋:二叉查詢樹如下 :

2 / \

1 3

可以返回二叉查詢樹的中序遍歷 [1,2,3]

額外空間複雜度是o(h),其中h是這棵樹的高度

super star:使用o(1)的額外空間複雜度

/**

* definition of treenode:

* class treenode

* }* example of iterate a tree:

* bstiterator iterator = bstiterator(root);

* while (iterator.hasnext())

class bstiterator

}bstiterator(treenode * root)

/** @return: true if there has next node, or false

*/bool hasnext()

/** @return: return next node

*/treenode * next()

};

lintcode練習 86 二叉查詢樹迭代器

設計實現乙個帶有下列屬性的二叉查詢樹的迭代器 對於下列二叉查詢樹,使用迭代器進行中序遍歷的結果為 1,6,10,11,12 10 1 11 6 12額外空間複雜度是o h 其中h是這棵樹的高度 super star 使用o 1 的額外空間複雜度 definition of treenode clas...

二叉搜尋樹的迭代器

我們經常使用著我們並不熟悉的函式 類,我們只知道它們所提供的介面以及怎樣使用。這就像我們開車在馬路上,你可能並不知道汽車是如何執行,或許你會說這並不需要知道。但至少知道一些回在車拋錨的時候你能做一些事,而不是抽根菸無所事事等維修隊過來 如果路上很擠,你就倒霉了 我們也有必要知道問題 在程式出問題的時...

二叉搜尋樹 使用迭代器

迭代器 它的用法與指標用法相同 使用迭代器實現二叉搜尋樹,使用有兩個指標域的頭結點實現,並且多給bstree中加入乙個雙親結點 pparent。ref operator 解引用 ptr operator bool operator const self s bool operator const s...