2012-02-21 51 views
22

Tôi hiện đang nghiên cứu cây tìm kiếm nhị phân và tôi đã tự hỏi bạn sẽ làm gì nếu bạn cố gắng chèn phần tử có cùng giá trị với gốc? Nó đi đâu?Chèn phần tử giá trị bằng nhau

+2

Tùy thuộc vào nhà thiết kế của cây. Bạn có thể trả về lỗi. Bạn có thể thêm nó như thể nó là bit nhỏ nhất lớn hơn giá trị hiện tại. Bạn có thể có một đối tượng "nhiều mục" đặc biệt thay thế cho đối tượng hiện có. Nó phụ thuộc vào những gì cây được dự định sẽ được sử dụng cho. –

+0

Có liên quan [câu hỏi] (http://stackoverflow.com/q/300935/503900) với câu trả lời hay. – bigstones

Trả lời

27

Định nghĩa của BST là nó là một tập hợp theo thứ tự, do đó các bản sao không được phép chèn vào. Điều này thường là do các cấu trúc phức tạp hơn đang được xây dựng trên BST. Tùy thuộc vào hành vi mong muốn, bạn có thể muốn ném một ngoại lệ, lỗi hoặc âm thầm bỏ qua khi trùng lặp được chèn vào.

Tuy nhiên, tùy thuộc vào chức năng so sánh của bạn, bạn có thể lưu trữ các bản sao ở bên trái hoặc bên phải, nhưng hãy nhớ giữ cho các mặt đường ngang và bên chèn của bạn nhất quán.

+0

Cảm ơn bạn rất nhiều. – Programatt

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