Hướng dẫn binary tree node left and right child in python - nút cây nhị phân con trái và phải trong python

Tệp này chứa văn bản unicode hai chiều có thể được giải thích hoặc biên dịch khác với những gì xuất hiện dưới đây. Để xem xét, hãy mở tệp trong một trình soạn thảo cho thấy các ký tự Unicode ẩn. Tìm hiểu thêm về các ký tự unicode hai chiều

Cây nhị phân - Node trái và con phải
Một mảng N số nguyên dương được truyền dưới dạng đầu vào. Chương trình phải tạo thành một cây nhị phân với những con số này. Số đầu tiên (trong số n số được truyền dưới dạng đầu vào) là nút gốc của cây nhị phân.
Sau đó, một số P có trong các số N này được truyền dưới dạng đầu vào. Chương trình phải in các giá trị con bên trái và phải ngay lập tức của nút thuộc về P, với các giá trị được phân tách bằng một không gian.
Lưu ý: Nếu tải là một nút lá thì in -1. Khác nếu chỉ còn lại hoặc chỉ có đứa trẻ phải có mặt, thì chỉ in đứa trẻ có mặt.
Định dạng đầu vào:
Dòng đầu tiên chứa n số, mỗi số được phân tách bằng một không gian.
Dòng thứ hai chứa p
Định dạng đầu ra:
Dòng đầu tiên chứa các giá trị của đứa trẻ trái và phải được phân tách bằng một khoảng trống (hoặc chỉ giá trị con trái hoặc phải)
Điều kiện biên:
1
Ví dụ đầu vào/đầu ra 1:
Đầu vào:
1 2 5 3 6 4
5
Đầu ra:
3 6
Ví dụ đầu vào/đầu ra 2:
Đầu vào:
1 2 5 3 6 4
6
Đầu ra:
-1
3 6
Đầu vào:
1 2 5 3 6 4
2
Đầu ra:
5
3 6
Ví dụ đầu vào/đầu ra 2:
Ví dụ đầu vào/đầu ra 3:
SOL:
#bao gồm
sử dụng không gian tên std;
Nút cấu trúc {
dữ liệu int;
nút* trái;
nút* phải;
};
nút* getNew (int data) {
nút* TEMP = NED NED ();
TEMP-> DATA = DATA;
temp-> trái = temp-> right = null;
trả lại nhiệt độ;
}
nút* chèn (nút* root, int data) {
if (root == null) {
nút* temp = getNew (dữ liệu);
root = temp;
// cout
trả lại gốc;
if (root == null) {
nút* temp = getNew (dữ liệu);
root = temp;
// cout
if (root == null) {
nút* temp = getNew (dữ liệu);
root = temp;
nút* temp = getNew (dữ liệu);
TEMP-> DATA = DATA;
temp-> trái = temp-> right = null;
// cout
trả lại gốc;
}
nút* temp = root;
if (temp-> data> = data) {
Temp-> left = chèn (temp-> trái, dữ liệu);
root = temp;
// cout
if (temp-> data> = data) {
Temp-> left = chèn (temp-> trái, dữ liệu);
root = temp;
// cout
trả lại gốc;
root = temp;
// cout
root = temp;
// cout
trả lại gốc;
root = temp;
// cout
trả lại gốc;
root = temp;
// cout
TEMP-> DATA = DATA;
temp-> trái = temp-> right = null;
trả lại nhiệt độ;
}
nút* chèn (nút* root, int data) {
if (root == null) {
nút* temp = getNew (dữ liệu);
root = temp;
// cout
root = temp;
// cout
trả lại gốc;
}
TEMP-> DATA = DATA;

Làm thế nào để bạn tìm thấy đứa con trái và phải của một cây nhị phân?

Đứa con trái của nút I là 2i, nếu đứa trẻ bên trái tồn tại, tức là, 2i> tổng số nút. Ví dụ: đứa trẻ bên trái của nút 4 là 2*4, tức là nút 8. Đứa con phải của nút I là 2i+1, nếu đứa trẻ bên phải tồn tại, tức là, 2i+1> tổng số nút.. For example, the left child of the node 4 is 2*4 i.e., the node 8. The right child of the node i is 2i+1, if the right child exists i.e., 2i+1 > the total number of nodes.

Làm thế nào để bạn kiểm tra xem một nút là con trái hay phải?

Sử dụng thuộc tính cha mẹ và kiểm tra nếu tham chiếu bộ nhớ nếu bên phải của cha mẹ giống như tham chiếu của trẻ trong bộ nhớ.Dù sao thì bạn cũng sẽ cần một thuộc tính cha mẹ để đi qua cây.. You're going to need a parent attribute to traverse the tree anyway.

Cây nào trong đó mỗi nút chỉ có hai con một đứa con trái và một đứa con phải?

Một cây nhị phân có một điều kiện đặc biệt mà mỗi nút có thể có hai con tối đa.Trong khoa học máy tính, một cây nhị phân là một cấu trúc dữ liệu cây trong đó mỗi nút có nhiều nhất là hai đứa trẻ, được gọi là đứa trẻ trái và đứa trẻ phải. has a special condition that each node can have two children at maximum. “In computer science, a binary tree is a tree data structure in which each node has at the most two children, which are referred to as the left child and the right child.”

Cây nhị phân trái và phải là gì?

Biểu diễn bên trái của một cây nhị phân là biểu diễn tiêu chuẩn trong đó mọi nút có một con trỏ để con trái và một con trỏ khác đến con phải.Biểu diễn xuống bên phải là một đại diện thay thế trong đó mọi nút có con trỏ sang trái (hoặc đầu tiên) và một con trỏ khác đến anh chị em tiếp theo.standard representation where every node has a pointer to left child and another pointer to right child. Down-Right representation is an alternate representation where every node has a pointer to left (or first) child and another pointer to next sibling.