binary-search-tree

    1熱度

    1回答

    我的項目是使用BSTree<E>的電話簿。樹的每個節點是BTNode<E>。在主類中,當我定義節點時,我將E替換爲Pair類,它具有(String name, String number)。 我有以下的比較級2 E型產品之間進行比較: import java.util.Comparator; public class BTNodeComparator<E> implements Compara

    4熱度

    1回答

    我可以在O(logN)的排序集中找到一個元素(由BST支持)。現在我想要這個元素的索引。例如,在集合{1, 3, 4, 10}中,4的索引是2,並且1的索引是0。 顯然,我可以迭代該集合,所以這個簡單的解決方案是O(N)。我們可以使用可能的BST屬性和/或輔助數據結構來做得更好嗎?

    0熱度

    1回答

    import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.Random; public class BSTSearchTimer { int [] n = {10000, 50000, 100000, 250000}; Random ran

    1熱度

    2回答

    因此,我的醫生讓我執行treeSort(),然後在int [1000000]上測試它並計算時間。 我有類BSTree<E>它包含以下方法: public void treeSort(E[] data) { inorder(data, new Process<E>(), root); } public static <E> void inorder(E[] list, Proces

    0熱度

    1回答

    我有一個家庭作業,要求我從文本文檔插入100個學生姓名和ID(姓名ID)廣告格式,然後將其放在兩個二進制搜索樹中。主BST將包含姓氏和指向其他BST的指針,其中將包含名稱和ID。這是我第一次嘗試使用指針(*, - >,&),所以我失去了。我設法用下面的函數 void loadData(char fname[], Students *st){ struct Students *new; root

    2熱度

    1回答

    我有一個家庭工作即將完成,但我卡住了某處。我必須警告,這是我第一次使用指針和所有這些怪異的東西,米相當丟失。我的目的是從txt學生數據列表中讀取(姓氏名稱ID)。訣竅是我必須使用一個二叉搜索樹來存儲姓氏(我已經這樣做了),並在第一棵樹內創建另一個二叉搜索樹,其中存儲學生的名字和ID(部分完成)。問題是,當一些學生有相同的姓氏和不同的名字時,我不能爲姓氏創建一個新的節點,但我必須將新學生的名字和ID

    -1熱度

    1回答

    我有兩個問題, 1)對於任何遞歸算法,都存在迭代算法,對嗎?我認爲這是正確的,因爲你只需要明確地使用堆棧。並且在這個問題上得到確認 Way to go from recursion to iteration 2)可能與上面的問題相同,我真的不認爲迭代解決方案是明顯的或簡單的甚至用遞歸算法來編寫。例如:對於一個後置訂單(LRN)或inorder(LNR)bst遍歷,你怎麼能用迭代方法來編寫它?在這兩

    0熱度

    4回答

    我的教授發佈了一些期末考試的複習題。我似乎無法找到答案。任何幫助將不勝感激! 考慮n個節點的二叉樹: a。什麼是葉節點的最小和最大數量? b。高度的最小值和最大值是多少? c。樹使用了多少指針(不包括空指針,並假設我們沒有保存存儲父代的字段)? * d。將n個節點插入(最初爲空)的二叉搜索樹時,最糟糕的關懷運行時間是多少?

    0熱度

    2回答

    嘿傢伙, 我創建了一棵不是二叉樹的樹。現在,我想要的是搜索一個元素。主要內容如下:由於我沒有比較二叉樹的比較機會,所以我必須找到其他一些方法來實現代碼。在這裏,我想: public TreeNode<City> search(City parent, TreeNode<City> t){ //As you guess, City class is irrelevant to the issue,

    0熱度

    1回答

    我有一個家庭作業,從我這裏要求創建一個二叉搜索樹的結構,其中二叉搜索樹的節點是另一個二叉搜索樹。第一個BST有學生的姓氏,另一個有姓氏和身份證。另外,如果某人與另一個學生姓氏相同,我不能創建另一個「姓氏」節點,但我必須在現有的「姓氏」節點內創建另一個「名字和ID」節點。更具體地講: typedef struct nameANDid{ //name and id nodes char fi