我在C++中實現BST,並實現了Get(),Add(),Remove()和Contains()方法。我知道一些容器有標準,比如堆棧有push()和pop()方法。但是我找不到關於BST標準方法的任何文件?二叉搜索樹方法有沒有標準?
是否有標準方法(如接口)還是由我們決定?
我在C++中實現BST,並實現了Get(),Add(),Remove()和Contains()方法。我知道一些容器有標準,比如堆棧有push()和pop()方法。但是我找不到關於BST標準方法的任何文件?二叉搜索樹方法有沒有標準?
是否有標準方法(如接口)還是由我們決定?
最終,它取決於你。 C++沒有爲任何事物定義標準接口。
即表示STL確實重新使用存取器名稱。
設置和映射可能是與您的BST最相似的數據結構。
設置使用insert()
,count()
告訴你一個集合是否包含一個項目,erase()
刪除一個項目。
地圖使用operator[]
(方括號)和at()
來訪問和設置元素,此外還提供insert()
。 erase()
用於刪除元素。
因此,從這個意義上說,存在某種標準化,但它是特定於STL和那些模擬它的人。然而,STL的使用是廣泛的,所以如果有什麼你想效仿的,就是這樣。
我會這樣做的。最後,該類的其他用戶將熟悉STL容器。 – ozgur
BST實際上是一個排序集,您可以查看Java 7 API爲TreeSet提供的內容:https://docs.oracle.com/javase/7/docs/api/java/util/TreeSet.html – errikos
' std :: set'是第一個近似值,是一個二叉搜索樹。你可以考慮它的接口來指導。 –
@IgorTandetnik這實際上是helltful,我認爲這是我的答案。我會照你說的去做。 – ozgur