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
lớp TreeNode: def __init__(self, data): self.data = data self.left = Không self.right = Không có def Insert(node, data): nếu nút là None: trả về TreeNode(data) else: if data < node .data: node.left = Insert(node.left, data) Elif data > node.data: node.right = Insert(node.right, data) return node def inOrderTraversal(node): nếu nút không có: return inOrderTraversal( node.left) print(node.data, end=", ") inOrderTraversal(node.right) root = TreeNode(13) node7 = TreeNode(7) node15 = TreeNode(15) node3 = TreeNode(3) node8 = TreeNode( 8) node14 = TreeNode(14) node19 = TreeNode(19) node18 = TreeNode(18) root.left = node7 root.right = node15 node7.left = node3 node7.right = node8 node15.left = node14 node15.right = node19 node19.left = node18 # Chèn giá trị mới vào BST Insert(root, 10) # Traverse inOrderTraversal(root) #Python
#include <stdio.h> #include <stdlib.h> typedef struct TreeNode { int data; struct TreeNode* trái; struct TreeNode* đúng; } Nút cây; TreeNode* createNode(int data) { TreeNode* newNode = (TreeNode*)malloc(sizeof(TreeNode)); newNode->data = dữ liệu; newNode->left = NULL; newNode->right = NULL; trả về newNode; } TreeNode* Insert(TreeNode* node, int data) { if (node == NULL) { return createNode(data); } else { if (data < node->data) { node->left = Insert(node->left, data); } else if (data > node->data) { node->right = Insert(node->right, data); } } nút trả về; } void inOrderTraversal(nút TreeNode*) { if (node == NULL) { return; } inOrderTraversal(nút->trái); printf("%d,", nút->dữ liệu); inOrderTraversal(nút->phải); } int main() { TreeNode* root = createNode(13); TreeNode* node7 = createNode(7); TreeNode* node15 = createNode(15); TreeNode* node3 = createNode(3); TreeNode* node8 = createNode(8); TreeNode* node14 = createNode(14); TreeNode* node19 = createNode(19); TreeNode* node18 = createNode(18); gốc->trái = nút7; gốc->phải = nút15; nút7->trái = nút3; nút7->phải = nút8; nút15->trái = nút14; nút15->phải = nút19; nút19->trái = nút18; // Chèn giá trị mới vào BST Insert(root, 10); // Traverse inOrderTraversal(root); trả về 0; } //C
lớp công khai Chính { lớp tĩnh công khai TreeNode { dữ liệu int; TreeNode trái; TreeNode đúng; TreeNode(int data) { this.data = data; trái = null; đúng = null; } } chèn TreeNode tĩnh công khai(nút TreeNode, int data) { if (node == null) { return new TreeNode(data); } else { if (dữ liệu < node.data) { node.left = Insert(node.left, data); } else if (data > node.data) { node.right = Insert(node.right, data); } } nút trả về; } public static void inOrderTraversal(TreeNode node) { if (node == null) { return; } inOrderTraversal(node.left); System.out.print(node.data + ", "); inOrderTraversal(node.right); } public static void main(String[] args) { TreeNode root = TreeNode mới(13); Nút TreeNode7 = TreeNode mới(7); Nút TreeNode15 = TreeNode mới(15); Nút TreeNode3 = TreeNode mới(3); Nút TreeNode8 = TreeNode mới(8); Nút TreeNode14 = TreeNode mới(14); Nút TreeNode19 = TreeNode mới(19); Nút TreeNode18 = TreeNode mới(18); root.left = node7; root.right = nút15; node7.left = node3; node7.right = node8; nút15.left = nút14; nút15.right = nút19; nút19.left = nút18; // Chèn giá trị mới vào BST Insert(root, 10); // Traverse inOrderTraversal(root); } } // Java
Kết quả Python:
Kết quả C:
Kết quả Java:
3, 7, 8, 10, 13, 14, 15, 18, 19,
3, 7, 8, 10, 13, 14, 15, 18, 19,
3, 7, 8, 10, 13, 14, 15, 18, 19,