Xây dựng cây nhị phân tìm kiếm
Đề bài
Mô tả
Cho một dãy gồm số nguyên đôi một khác nhau. Ta dùng dãy này để xây dựng một cây nhị phân tìm kiếm (BST) theo quy tắc sau:
- Phần tử trở thành gốc của cây.
- Lần lượt thêm các phần tử . Để thêm phần tử :
- Đặt con trỏ hiện tại tại gốc cây.
- Nếu lớn hơn giá trị ở nút hiện tại thì chuyển con trỏ sang con phải, ngược lại chuyển sang con trái.
- Nếu nút con cần đi tới chưa tồn tại thì tạo một nút mới mang giá trị và gắn nó vào đúng vị trí con đó, quá trình thêm kết thúc.
Với mỗi , hãy cho biết giá trị được ghi ở nút cha của nút chứa .
Dữ liệu vào
- Dòng đầu chứa số nguyên là độ dài của dãy.
- Dòng thứ hai chứa số nguyên đôi một khác nhau .
Dữ liệu ra
In ra số nguyên trên một dòng, cách nhau bởi dấu cách: số thứ là giá trị ở nút cha của nút chứa .
Ràng buộc
- Các giá trị đôi một khác nhau.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 4 2 3 1 6 |
4 2 2 4 | Gốc là 4. Số 2 nhỏ hơn 4 nên thành con trái của 4. Số 3 đi 4 → 2 rồi thành con phải của 2. Số 1 đi 4 → 2 rồi thành con trái của 2. Số 6 lớn hơn 4 nên thành con phải của 4. |
| 3 1 2 3 |
1 2 | Cây suy biến thành một chuỗi lệch phải: 1 → 2 → 3, nên cha của 2 là 1 và cha của 3 là 2. |
Bình luận