当我有一个包含 100 个元素的数组列表时,如 {3,2,6,7,...,99}
,我该如何创建 BST?
最佳答案
我相信TreeSet
是二叉搜索树的实现。由于整数具有自然顺序,您可以简单地遍历整数数组并将它们全部添加到 TreeSet<Integer>
中。 .
另请注意,有一个方法 Arrays.binarySearch
在排序数组中进行二进制搜索。
int[] someInts = {3,2,6,7, /*...,*/ 99};
// use a TreeSet
TreeSet<Integer> ints = new TreeSet<Integer>();
for (int i : someInts)
ints.add(i);
System.out.println(ints.contains(2)); // true
System.out.println(ints.contains(5)); // false
// or sort the array and use Arrays.binarySearch
Arrays.sort(someInts);
System.out.println(Arrays.binarySearch(someInts, 2) >= 0); // true
System.out.println(Arrays.binarySearch(someInts, 5) >= 0); // false
关于java - 制作二叉搜索树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4430809/