2010-08-07 24 views
11

Chúng tôi đang xử lý một thuật toán neigthbour tương tự nhất ở đây. Một phần của thuật toán liên quan đến việc tìm kiếm theo thứ tự trên cây.Cây không nhị phân có thể được di chuyển theo thứ tự không?

Điều này cho đến bây giờ, chúng tôi không thể làm cho cây đó thành nhị phân.

Có tương tự để theo dõi trật tự cho cây nhị phân không. Đặc biệt, tôi nghĩ rằng, chỉ cần đi qua các nút từ trái sang phải (và xử lý các nút cha chỉ một lần? ")

Bất kỳ suy nghĩ?

cập nhật

cây này sẽ có trong mỗi nút một đồ thị nhỏ của n đối tượng Mỗi nút sẽ có n con (1 cho mỗi phần tử trong biểu đồ), mỗi nút sẽ là một đồ thị khác. Vì vậy, nó "loại" ab cây, mà không có tất cả các tràn - cơ chế underflow.Vì vậy, tôi đoán tương tự nhất trong quá trình truyền tải trật tự sẽ tương tự như một giao thoa theo thứ tự btree?

Cảm ơn trước.

Trả lời

9

Có, nhưng bạn cần xác định thứ tự là gì. Đăng và đặt hàng trước là giống nhau, nhưng inorder có định nghĩa về cách các nhánh so sánh với các nút.

+0

Điểm tốt. Các cây con "trái" và "phải" (và các nút ở giữa) có thể có sự khái quát hóa, nhưng có lẽ tốt hơn nên liệt kê rõ ràng các yêu cầu trong một trường hợp như thế này. –

0

Không có sự tương tự đơn giản của trình tự theo thứ tự đối với các cây không phải là cây nhị phân (thực tế theo thứ tự là cách để lấy các phần tử được sắp xếp từ cây tìm kiếm nhị phân).

Bạn có thể tìm thêm chi tiết trong "Nghệ thuật lập trình máy tính" của Knuth, vol. 1, trang 336.

Nếu tìm kiếm rộng đầu tiên có thể phục vụ mục đích của bạn thì bạn có thể sử dụng mục đó.

Các vấn đề liên quan