Chèn vào BST
Xem dưới dạng PDF
Gửi bài giải
Điểm:
20
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
An đang học về cấu trúc cây tìm kiếm nhị phân (BST). An muốn mô phỏng quá trình chèn từng giá trị vào một BST ban đầu rỗng. Với mỗi thao tác chèn, hãy in ra các nút trên đường đi từ gốc đến vị trí chèn.
Hãy giúp An viết chương trình mô phỏng quá trình này.
Định dạng đầu vào
- Dòng đầu chứa số nguyên dương \(N\) (\(1 \le N \le 10^3\)).
- Dòng thứ hai chứa \(N\) số nguyên dương phân biệt \(a_1, a_2, \dots, a_N\) (\(1 \le a_i \le 10^9\)) theo đúng thứ tự cần chèn vào BST.
Định dạng đầu ra
- Gồm \(N\) dòng, dòng thứ \(i\) in ra các giá trị trên đường đi từ gốc đến nút cha của nút chứa \(a_i\) (không bao gồm \(a_i\)), cách nhau bởi một khoảng trắng. Nếu \(a_i\) là nút đầu tiên (gốc), in ra \(ROOT\).
Ví dụ
Input:
5
5 3 7 2 4
Output:
ROOT
5
5
5 3
5 3
Giải thích:
- Chèn \(5\): là gốc nên in \(ROOT\).
- Chèn \(3\): đi qua \(5\).
- Chèn \(7\): đi qua \(5\).
- Chèn \(2\): đi qua \(5 \to 3\).
- Chèn \(4\): đi qua \(5 \to 3\).
Nhận xét