Chạy ❯
Nhận trang web của
riêng
bạn
×
Thay đổi định hướng
Thay đổi chủ đề, Tối/Sáng
Đi tới Không gian
Python
C
Java
nhị phân_tree_array = ['R', 'A', 'B', 'C', 'D', 'E', 'F', Không, Không, Không, Không, Không, Không, 'G'] def left_child_index( chỉ mục): trả về 2 * chỉ mục + 1 def right_child_index(index): trả về 2 * chỉ mục + 2 def pre_order(index): nếu chỉ mục >= len(binary_tree_array) hoặc nhị phân_tree_array[chỉ mục] là Không có: return [] return [binary_tree_array[ chỉ mục]] + pre_order(left_child_index(index)) + pre_order(right_child_index(index)) def in_order(index): nếu chỉ mục >= len(binary_tree_array) hoặc nhị phân_tree_array[chỉ mục] là Không có: return [] return in_order(left_child_index(index) )) + [binary_tree_array[index]] + in_order(right_child_index(index)) def post_order(index): nếu chỉ mục >= len(binary_tree_array) hoặc nhị phân_tree_array[index] là Không có: return [] return post_order(left_child_index(index)) + post_order(right_child_index(index)) + [binary_tree_array[index]] print("Truyền tải đặt hàng trước:", pre_order(0)) print("Truyền tải theo thứ tự:", in_order(0)) print("Post- truyền tải đơn hàng:", post_order(0)) #Python
#include <stdio.h> #include <stdlib.h> typedef struct TreeNode { dữ liệu char; struct TreeNode* trái; struct TreeNode* đúng; } Nút cây; TreeNode* createNewNode(char data) { TreeNode* newNode = (TreeNode*)malloc(sizeof(TreeNode)); newNode->data = dữ liệu; newNode->left = NULL; newNode->right = NULL; trả về newNode; } void postOrderTraversal(TreeNode* root) { if (root == NULL) { return; } postOrderTraversal(root->left); postOrderTraversal(root->right); printf("%c,", root->data); } int main() { TreeNode* root = createNewNode('R'); TreeNode* nodeA = createNewNode('A'); TreeNode* nodeB = createNewNode('B'); TreeNode* nodeC = createNewNode('C'); TreeNode* nodeD = createNewNode('D'); TreeNode* nodeE = createNewNode('E'); TreeNode* nodeF = createNewNode('F'); TreeNode* nodeG = createNewNode('G'); gốc->trái = nútA; gốc->phải = nútB; nútA->trái = nútC; nútA->phải = nútD; nútB->trái = nútE; nútB->phải = nútF; nútF->trái = nútG; // Duyệt postOrderTraversal(root); miễn phí (nodeG); miễn phí (nútF); miễn phí (nútE); miễn phí (nútB); miễn phí (nútC); miễn phí (nútD); miễn phí (nútA); miễn phí (gốc); trả về 0; } //C
lớp công khai Chính { lớp tĩnh công khai TreeNode { Dữ liệu chuỗi; TreeNode trái; TreeNode đúng; public TreeNode(String data) { this.data = data; this.left = null; this.right = null; } } public static void postOrderTraversal(Nút TreeNode) { if (node == null) { return; } postOrderTraversal(node.left); postOrderTraversal(node.right); System.out.print(node.data + ", "); } public static void main(String[] args) { TreeNode root = TreeNode mới("R"); Nút TreeNodeA = TreeNode mới("A"); Nút TreeNodeB = TreeNode mới("B"); Nút TreeNodeC = TreeNode mới("C"); Nút TreeNodeD = TreeNode mới("D"); Nút TreeNodeE = TreeNode mới("E"); Nút TreeNodeF = TreeNode mới("F"); Nút TreeNodeG = TreeNode mới("G"); root.left = nodeA; root.right = nodeB; nútA.left = nútC; nodeA.right = nodeD; nútB.left = nútE; nodeB.right = nodeF; nodeF.left = nodeG; // Duyệt postOrderTraversal(root); } } // Java
Kết quả Python:
Kết quả C:
Kết quả Java:
C, D, A, E, G, F, B, R,
C, D, A, E, G, F, B, R,
C, D, A, E, G, F, B, R,