Có thư viện java có cây nhị phân mà tôi có thể sử dụng không? Tôi không mong muốn thử nghiệm và thực hiện của riêng tôi.Tìm thư viện java đã triển khai Cây nhị phân
Trả lời
API chuẩn Java chỉ chứa các thư viện hữu ích trên toàn cầu và không tầm thường để triển khai. Một cây cơ bản là tầm thường để thực hiện:
class BinaryTree {
BinaryTree left;
BinaryTree right;
Object value;
}
cây không tầm thường không phổ biến hữu ích: hoặc là họ là cần thiết như một phần của mô hình dữ liệu ứng dụng được mô hình hóa tốt hơn sử dụng các lớp miền cụ thể (thành phần có-một danh sách các thành phần phụ) hoặc chúng được sử dụng như một phần của thuật toán cụ thể. Thuật toán thường yêu cầu cấu trúc cụ thể từ các nút (ví dụ: màu hoặc trọng lượng của nút cần thiết để duy trì cân bằng cây), do đó, nút cây chung chung có ý nghĩa rất ít.
Cảm ơn @Joni - điều đó có ý nghĩa. Tôi đoán là tôi đã cho rằng nó phải có ở đó - nhưng không phải vậy. Tôi sẽ thực hiện nó cho ứng dụng của tôi. – Esey
Bạn có quyền với cây cơ bản, nhưng chắc chắn là một phần của việc triển khai BST không tầm thường, chẳng hạn như tìm kiếm thấp nhất và chèn/xóa (và cân bằng), bạn có nghĩ vậy không? – snydergd
Ý anh là một cái gì đó như thế này: http://www.codeproject.com/Articles/53366/Binary-Trees-in-Java
http://www.java2s.com/Code/Java/Collections-Data-Structure/BinaryTree.htm
Không - Tôi muốn nhập nó và nói: BinaryTree x = new BinaryTree(); nói cách khác, tôi muốn sử dụng lại một gói làm việc, lớp học ... – Esey
Có một thực hiện mẫu trên trang này ở đây: -around ở nửa cuối trang hoặc Somali
Tôi đang tìm một thư viện thử nghiệm. – Esey
@Esey, sau đó tự viết bài kiểm tra ... –
@Bart - Có thể là lần khác :) - Tôi cũng có thể tự thực hiện - nhưng tôi đang triển khai ứng dụng "sử dụng" Cây nhị phân và sẽ đẹp nếu tôi không phải lo lắng về phần khác này. Cảm ơn vi đa trả lơi. – Esey
Điều gì về http://docs.oracle.com/javase/6/docs/api/java/util/TreeMap.html
Thực thi NavigableMap dựa trên cây đỏ-đen. Bản đồ được sắp xếp theo thứ tự tự nhiên thứ tự các khóa của nó hoặc bằng một Trình so sánh được cung cấp tại thời điểm tạo bản đồ, tùy thuộc vào việc sử dụng hàm tạo .
Nó sẽ không có tác dụng đối với tôi. Tôi đang tìm một cây nhị phân cơ bản. – Esey
Có thể Swing TreeModel và việc triển khai - DefaultTreeModel.
Bạn cần cây nhị phân để làm gì? – Bernard
Về cơ bản java.util.TreeSet là một cây nhị phân màu đỏ-đen, là cây tìm kiếm nhị phân cân bằng. Tùy thuộc vào những gì bạn cần, mặc dù. –
Vâng - cây nhị phân tôi muốn lưu trữ không cần phải cân bằng. Bên cạnh đó, nó không phải là một cây tìm kiếm nhị phân. Tôi đang tìm kiếm việc thực hiện cơ bản trong đó mỗi nút có một con trái và phải. – Esey