Hướng dẫn implementing a binary search tree python - triển khai python cây tìm kiếm nhị phân
Cây tìm kiếm nhị phân là gì?
Các thuộc tính trên của cây tìm kiếm nhị phân cung cấp một đơn đặt hàng giữa các khóa để các hoạt động như tìm kiếm, tối thiểu và tối đa có thể được thực hiện nhanh chóng. Nếu không có thứ tự, thì chúng ta có thể phải so sánh mọi khóa để tìm kiếm một khóa nhất định. Làm thế nào để tìm kiếm một khóa trong cây nhị phân đã cho?Để tìm kiếm một giá trị, nếu chúng tôi có một mảng được sắp xếp, chúng tôi có thể đã thực hiện tìm kiếm nhị phân. Hãy nói rằng chúng tôi muốn tìm kiếm một số trong mảng, trong tìm kiếm nhị phân, trước tiên chúng tôi xác định danh sách đầy đủ là không gian tìm kiếm của chúng tôi, số chỉ có thể tồn tại trong không gian tìm kiếm. Bây giờ chúng tôi so sánh số sẽ được tìm kiếm hoặc phần tử được tìm kiếm với phần tử giữa (trung bình) của không gian tìm kiếm và nếu bản ghi được tìm kiếm ít hơn phần tử giữa, chúng tôi sẽ tìm kiếm ở nửa bên trái, nếu không chúng tôi đi tìm kiếm Ở nửa bên phải, trong trường hợp bình đẳng, chúng tôi đã tìm thấy yếu tố. Trong tìm kiếm nhị phân, chúng tôi bắt đầu với các yếu tố 'n' trong không gian tìm kiếm và nếu phần tử giữa không phải là yếu tố mà chúng tôi đang tìm Hồ sơ mà chúng tôi đang tìm kiếm hoặc chúng tôi chỉ có một yếu tố trong không gian tìm kiếm và được thực hiện với toàn bộ mức giảm này. & NBSP;‘n’ elements in search space and if the mid element is not the element that we are looking for, we reduce the search space to ‘n/2’ we keep reducing the search space until we either find the record that we are looking for or we get to only one element in search space and be done with this whole reduction. Hoạt động tìm kiếm trong cây tìm kiếm nhị phân sẽ rất giống nhau. Giả sử chúng tôi muốn tìm kiếm số, chúng tôi bắt đầu từ gốc và sau đó chúng tôi so sánh giá trị sẽ được tìm kiếm với giá trị của gốc, nếu nó bằng nhau, chúng tôi được thực hiện với tìm kiếm nếu chúng tôi biết rằng chúng tôi cần phải Đi đến cây con bên trái vì trong một cây tìm kiếm nhị phân, tất cả các phần tử trong cây con bên trái đều nhỏ hơn và tất cả các phần tử trong cây con bên phải đều lớn hơn. Tìm kiếm một yếu tố trong cây tìm kiếm nhị phân về cơ bản là điều này, ở mỗi bước chúng tôi đi bên trái hoặc phải và ở mỗi bước, chúng tôi loại bỏ một trong những cây con. Nếu cây được cân bằng (chúng ta gọi một cây cân bằng nếu với tất cả các nút, sự khác biệt giữa độ cao của các cây con trái và phải không lớn hơn một) -Trees, chúng tôi loại bỏ các nút 'N/2' để không gian tìm kiếm của chúng tôi bị giảm xuống còn 'N/2'. Trong bước tiếp theo, chúng tôi giảm không gian tìm kiếm xuống ‘N/4 và chúng tôi lặp lại cho đến khi chúng tôi tìm thấy phần tử hoặc không gian tìm kiếm của chúng tôi được giảm xuống chỉ còn một nút. Việc tìm kiếm ở đây cũng là một tìm kiếm nhị phân do đó tên; Cây tìm kiếm nhị phân.‘n’ nodes and as we discard one of the sub-trees, we discard ‘n/2’ nodes so our search space gets reduced to ‘n/2’. In the next step, we reduce the search space to ‘n/4’ and we repeat until we find the element or our search space is reduced to only one node. The search here is also a binary search hence the name; Binary Search Tree. Implementation: C++
10 15 20 30 40 50 601 10 15 20 30 40 50 602 10 15 20 30 40 50 603 10 15 20 30 40 50 604
10 15 20 30 40 50 607 10 15 20 30 40 50 602 10 15 20 30 40 50 603 struct 0
10 15 20 30 40 50 603 struct 3
Java
10 15 20 30 40 50 603 10 15 20 30 40 50 604
10 15 20 30 40 50 602 10 15 20 30 40 50 603 struct 3
10 15 20 30 40 50 603 struct 6
Python
10 15 20 30 40 50 600 node* root, 22__53
10 15 20 30 40 50 603 int 2
10 15 20 30 40 50 603 int 8
10 15 20 30 40 50 603 key) 1C#
10 15 20 30 40 50 603 10 15 20 30 40 50 604
10 15 20 30 40 50 602 10 15 20 30 40 50 603 struct 3
10 15 20 30 40 50 603 struct 6
Python
10 15 20 30 40 50 603 10 15 20 30 40 50 604
10 15 20 30 40 50 602 10 15 20 30 40 50 603 struct 3
10 15 20 30 40 50 603 struct 6
10 15 20 30 40 50 6022 Python
10 15 20 30 40 50 603 int 8& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 100 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 100 & nbsp; & nbsp; & nbsp; & nbsp; / & nbsp; \ & nbsp; & nbsp; & nbsp; & nbsp; chèn 40 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;/ & nbsp; & nbsp; \ & nbsp; & nbsp; & nbsp; 20 & nbsp; & nbsp; 500 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 20 & nbsp; & nbsp; 500 & nbsp; & nbsp; & nbsp; & nbsp;/ & nbsp; \ & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;/ & nbsp; \ & nbsp; & nbsp; & nbsp; 10 & nbsp; 30 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 10 & nbsp; 30 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; \ & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 40 Implementation: C++10 15 20 30 40 50 6023 10 15 20 30 40 50 6024 10 15 20 30 40 50 6025 10 15 20 30 40 50 6026 10 15 20 30 40 50 6027 10 15 20 30 40 50 6028
10 15 20 30 40 50 6031
10 15 20 30 40 50 6033
10 15 20 30 40 50 6035
10 15 20 30 40 50 6037
10 15 20 30 40 50 6039 int 10 15 20 30 40 50 6041
10 15 20 30 40 50 6043 int 10 15 20 30 40 50 6041
10 15 20 30 40 50 6047 10 15 20 30 40 50 6048 10 15 20 30 40 50 6049 10 15 20 30 40 50 6050
10 15 20 30 40 50 6052
10 15 20 30 40 50 6054
10 15 20 30 40 50 6056
10 15 20 30 40 50 6059 int 10 15 20 30 40 50 6061
10 15 20 30 40 50 6064
10 15 20 30 40 50 6066
10 15 20 30 40 50 6068 int 10 15 20 30 40 50 6061
10 15 20 30 40 50 6074
10 15 20 30 40 50 603 10 15 20 30 40 50 6077 10 15 20 30 40 50 6078
10 15 20 30 40 50 6083
10 15 20 30 40 50 6085
10 15 20 30 40 50 6089 10 15 20 30 40 50 600 10 15 20 30 40 50 6091
10 15 20 30 40 50 6093
10 15 20 30 40 50 603 10 15 20 30 40 50 604
10 15 20 30 40 50 6047 struct 01
10 15 20 30 40 50 6074
10 15 20 30 40 50 603 struct 08
10 15 20 30 40 50 603 10 15 20 30 40 50 6077 10 15 20 30 40 50 6078
10 15 20 30 40 50 6083
10 15 20 30 40 50 60 89 10 15 20 30 40 50 60 0 10 15 20 30 40 50 60 91
10 15 20 30 40 50 603 10 15 20 30 40 50 604
10 15 20 30 40 50 6047 struct 01
10 15 20 30 40 50 603 struct 4110 15 20 30 40 50 6049 C
10 15 20 30 40 50 603 struct 7810 15 20 30 40 50 6047 struct 81struct struct 83
10 15 20 30 40 50 603 10 15 20 30 40 50 6077 10 15 20 30 40 50 6078
10 15 20 30 40 50 6083
10 15 20 30 40 50 6089 10 15 20 30 40 50 600 10 15 20 30 40 50 6091
10 15 20 30 40 50 6083
10 15 20 30 40 50 60 89 10 15 20 30 40 50 60 0 10 15 20 30 40 50 60 91
10 15 20 30 40 50 603 10 15 20 30 40 50 604 10 15 20 30 40 50 6047 struct 01
10 15 20 30 40 50 603 struct 41
C
10 15 20 30 40 50 603 struct 78
10 15 20 30 40 50 6047 struct 81struct struct 83
10 15 20 30 40 50 6047 struct 62
10 15 20 30 40 50 6077 struct 68
10 15 20 30 40 50 6041
10 15 20 30 40 50 6041
10 15 20 30 40 50 6041
10 15 20 30 40 50 6041
10 15 20 30 40 50 6041
10 15 20 30 40 50 6041
10 15 20 30 40 50 6041
Python10 15 20 30 40 50 6027 node* root, 03
10 15 20 30 40 50 6035
10 15 20 30 40 50 603 node* root, 34
10 15 20 30 40 50 6089 10 15 20 30 40 50 6035
10 15 20 30 40 50 600 node* root, 6node* root, 7node* root, 7 node* root, 9
10 15 20 30 40 50 603 int 2
10 15 20 30 40 50 6089 10 15 20 30 40 50 6035
10 15 20 30 40 50 603 int 2
C#10 15 20 30 40 50 6024 int 1310 15 20 30 40 50 6027 node* search( 55
10 15 20 30 40 50 6027 node* search( 58
10 15 20 30 40 50 6077 node* search( 92
10 15 20 30 40 50 6047 node* search( 95int node* search( 97
10 15 20 30 40 50 600 { 0node* search( 3struct 08
10 15 20 30 40 50 6077 struct 12
10 15 20 30 40 50 603 10 15 20 30 40 50 604
10 15 20 30 40 50 600 struct 21
10 15 20 30 40 50 6089 10 15 20 30 40 50 600 struct 27
10 15 20 30 40 50 603 10 15 20 30 40 50 604
10 15 20 30 40 50 6047 struct 37
10 15 20 30 40 50 6047 struct 40
10 15 20 30 40 50 600 struct 45node* search( 3struct 08
10 15 20 30 40 50 6047 key) 24
10 15 20 30 40 50 6077 struct 68
JavaScript
‘
10 15 20 30 40 50 600 { 0node* search( 3struct 08
10 15 20 30 40 50 6077 struct 12
10 15 20 30 40 50 603 10 15 20 30 40 50 604
10 15 20 30 40 50 600 struct 21
10 15 20 30 40 50 6089 10 15 20 30 40 50 600 struct 27
10 15 20 30 40 50 603 10 15 20 30 40 50 604
10 15 20 30 40 50 6047 struct 37
10 15 20 30 40 50 6047 struct 40
10 15 20 30 40 50 600 struct 45node* search( 3struct 08
10 15 20 30 40 50 6041
10 15 20 30 40 50 6047 key) 24
10 15 20 30 40 50 6022
20 30 40 50 60 70 80 JavaScript
Độ phức tạp về thời gian: Độ phức tạp trong trường hợp xấu nhất của các hoạt động tìm kiếm và chèn là O (h) trong đó h là chiều cao của cây tìm kiếm nhị phân. Trong trường hợp xấu nhất, chúng ta có thể phải di chuyển từ gốc đến nút lá sâu nhất. Chiều cao của một cây bị lệch có thể trở thành N và độ phức tạp về thời gian của hoạt động tìm kiếm và chèn có thể trở thành o (n). & Nbsp;The worst-case time complexity of search and insert operations is O(h) where h is the height of the Binary Search Tree. In the worst case, we may have to travel from root to the deepest leaf node. The height of a skewed tree may become n and the time complexity of search and insert operation may become O(n). Thực hiện: Chèn sử dụng Loop.Insertion using loop. C++
10 15 20 30 40 50 6024 10 15 20 30 40 50 6025 10 15 20 30 40 50 6026 10 15 20 30 40 50 6027 node* search( 58
10 15 20 30 40 50 6035
10 15 20 30 40 50 6054
10 15 20 30 40 50 6056
10 15 20 30 40 50 6049 10 15 20 30 40 50 6047 { 90int key)
10 15 20 30 40 50 6077 struct 12
10 15 20 30 40 50 6074
10 15 20 30 40 50 603 struct 08
10 15 20 30 40 50 600 17
10 15 20 30 40 50 6089 10 15 20 30 40 50 600 27
10 15 20 30 40 50 6089
10 15 20 30 40 50 6047 47
10 15 20 30 40 50 600 58
10 15 20 30 40 50 6089 {
10 15 20 30 40 50 603 struct 41
Java10 15 20 30 40 50 60008 10 15 20 30 40 50 60009 10 15 20 30 40 50 60008 10 15 20 30 40 50 60011 10 15 20 30 40 50 6027 10 15 20 30 40 50 60013
10 15 20 30 40 50 6047 10 15 20 30 40 50 60018 10 15 20 30 40 50 60019 10 15 20 30 40 50 60020 10 15 20 30 40 50 6077 10 15 20 30 40 50 6037
10 15 20 30 40 50 6041
10 15 20 30 40 50 6041
10 15 20 30 40 50 60033 10 15 20 30 40 50 6041
10 15 20 30 40 50 6041
10 15 20 30 40 50 60041 10 15 20 30 40 50 6041
10 15 20 30 40 50 6041
10 15 20 30 40 50 6041
10 15 20 30 40 50 6027 10 15 20 30 40 50 60057
10 15 20 30 40 50 60059
10 15 20 30 40 50 60064
10 15 20 30 40 50 60071
10 15 20 30 40 50 6054 10 15 20 30 40 50 60077 node* search( 8210 15 20 30 40 50 6047 { 90int key)
10 15 20 30 40 50 6077 struct 12
10 15 20 30 40 50 600 node* search( 2node* search( 3struct 08
10 15 20 30 40 50 603 struct 08
10 15 20 30 40 50 60102 node* search( 3struct 08
10 15 20 30 40 50 60106
10 15 20 30 40 50 6074
10 15 20 30 40 50 600 10 15 20 30 40 50 60114 10 15 20 30 40 50 60115 10 15 20 30 40 50 60116 10 15 20 30 40 50 60115 10 15 20 30 40 50 60118
10 15 20 30 40 50 60115 10 15 20 30 40 50 60116 10 15 20 30 40 50 60115 10 15 20 30 40 50 60128
10 15 20 30 40 50 600 10 15 20 30 40 50 60135
10 15 20 30 40 50 60137
10 15 20 30 40 50 600 17
10 15 20 30 40 50 6089 10 15 20 30 40 50 600 27
10 15 20 30 40 50 60106
10 15 20 30 40 50 6047 47
10 15 20 30 40 50 600 10 15 20 30 40 50 60109 node* search( 310 15 20 30 40 50 60111 10 15 20 30 40 50 60115 10 15 20 30 40 50 60164 10 15 20 30 40 50 60115 10 15 20 30 40 50 60118
10 15 20 30 40 50 60115 10 15 20 30 40 50 60173 10 15 20 30 40 50 60115 10 15 20 30 40 50 60175 7410 15 20 30 40 50 6041 10 15 20 30 40 50 60115 10 15 20 30 40 50 60128
Python3
10 15 20 30 40 50 600 58
10 15 20 30 40 50 60190
10 15 20 30 40 50 6089 {
10 15 20 30 40 50 60033 node* root, 80
10 15 20 30 40 50 60041 node* root, 80
10 15 20 30 40 50 60227
10 15 20 30 40 50 603 struct 41Java 10 15 20 30 40 50 60008 10 15 20 30 40 50 60009
10 15 20 30 40 50 60246
10 15 20 30 40 50 60251 10 15 20 30 40 50 6027 10 15 20 30 40 50 60253
10 15 20 30 40 50 60262
10 15 20 30 40 50 60264 node* root, 7 node* root, 34
10 15 20 30 40 50 600 struct 67node* root, 0710 15 20 30 40 50 60271 node* root, 7node* root, 7 node* root, 410 15 20 30 40 50 60275
10 15 20 30 40 50 60271 node* root, 7 10 15 20 30 40 50 60280
10 15 20 30 40 50 603
10 15 20 30 40 50 60284 node* root, 7 node* root, 4
10 15 20 30 40 50 60288 node* root, 7 node* root, 0710 15 20 30 40 50 60291
10 15 20 30 40 50 60294 node* root, 7 node* root, 410 15 20 30 40 50 60275
10 15 20 30 40 50 600 10 15 20 30 40 50 60300 10 15 20 30 40 50 60115 10 15 20 30 40 50 60284 node* root, 7 10 15 20 30 40 50 60304 10 15 20 30 40 50 60115 10 15 20 30 40 50 60288 node* root, 7 10 15 20 30 40 50 60308
10 15 20 30 40 50 60311 10 15 20 30 40 50 60115 10 15 20 30 40 50 60284 node* root, 7 10 15 20 30 40 50 60304 10 15 20 30 40 50 60115 10 15 20 30 40 50 60288 node* root, 7 10 15 20 30 40 50 60308 10 15 20 30 40 50 60115 10 15 20 30 40 50 60288 node* root, 7 10 15 20 30 40 50 60319
10 15 20 30 40 50 600 10 15 20 30 40 50 60322
10 15 20 30 40 50 60324 node* root, 7 10 15 20 30 40 50 60280
10 15 20 30 40 50 6089 10 15 20 30 40 50 6035
10 15 20 30 40 50 60331 node* root, 7 10 15 20 30 40 50 60280
10 15 20 30 40 50 60288 node* root, 7 node* root, 0710 15 20 30 40 50 60291
10 15 20 30 40 50 60294 node* root, 7 node* root, 410 15 20 30 40 50 60275
10 15 20 30 40 50 600 10 15 20 30 40 50 60300 10 15 20 30 40 50 60115 10 15 20 30 40 50 60284 node* root, 7 10 15 20 30 40 50 60304 10 15 20 30 40 50 60115 10 15 20 30 40 50 60369 10 15 20 30 40 50 60115 10 15 20 30 40 50 60288 node* root, 7 10 15 20 30 40 50 60308 10 15 20 30 40 50 60115 10 15 20 30 40 50 60288 node* root, 7 10 15 20 30 40 50 60319
10 15 20 30 40 50 600 10 15 20 30 40 50 60322
10 15 20 30 40 50 60324 node* root, 7 10 15 20 30 40 50 60280 10 15 20 30 40 50 60115 10 15 20 30 40 50 60288 node* root, 7 10 15 20 30 40 50 60308 10 15 20 30 40 50 60115 10 15 20 30 40 50 60288 node* root, 7 10 15 20 30 40 50 60319
10 15 20 30 40 50 600 10 15 20 30 40 50 60322 C#
10 15 20 30 40 50 60324 node* root, 7 10 15 20 30 40 50 60280
10 15 20 30 40 50 6089 10 15 20 30 40 50 6035
10 15 20 30 40 50 60331 node* root, 7 10 15 20 30 40 50 60280
10 15 20 30 40 50 60275 ________ 35 ________ 1345 ________ 57 & nbsp; 10 15 20 30 40 50 60347
10 15 20 30 40 50 60424
10 15 20 30 40 50 60428
10 15 20 30 40 50 60077 struct 4
10 15 20 30 40 50 60294 node* root, 7 node* root, 4 node* root, 5 10 15 20 30 40 50 60354 struct 67__
10 15 20 30 40 50 600 10 15 20 30 40 50 60294 node* root, 7 node* root, 410 15 20 30 40 50 60275
10 15 20 30 40 50 6089 10 15 20 30 40 50 6035 10 15 20 30 40 50 60115 10 15 20 30 40 50 60288 node* root, 7 10 15 20 30 40 50 60380 10 15 20 30 40 50 60115 node* root, 72___
10 15 20 30 40 50 60458 10 15 20 30 40 50 60077 struct 4
____10 10 15 20 30 40 50 60396 node* root, 7node* root, 710 15 20 30 40 50 60399 10 15 20 30 40 50 6035
10 15 20 30 40 50 60402 10 15 20 30 40 50 6024 int 1310 15 20 30 40 50 6024 10 15 20 30 40 50 60406
10 15 20 30 40 50 6027 10 15 20 30 40 50 60013 10 15 20 30 40 50 60483 0210 15 20 30 40 50 60483 10 15 20 30 40 50 603 struct 0810 15 20 30 40 50 600777____25 struct 60 10 15 20 30 40 50 6047 10 15 20 30 40 50 60414
10 15 20 30 40 50 60491 node* search( 3struct 08
10 15 20 30 40 50 60495
10 15 20 30 40 50 60416 10 15 20 30 40 50 6077 10 15 20 30 40 50 6037
10 15 20 30 40 50 6027 node* search( 58
10 15 20 30 40 50 60507 10 15 20 30 40 50 600777____25 10 15 20 30 40 50 60059
10 15 20 30 40 50 60516 10 15 20 30 40 50 60483 struct 4
10 15 20 30 40 50 600777____25 int { 6910 15 20 30 40 50 60483 10 15 20 30 40 50 60525
10 15 20 30 40 50 6089 10 15 20 30 40 50 60483 10 15 20 30 40 50 60529 10 15 20 30 40 50 60077 struct 410 15 20 30 40 50 600777____25 10 15 20 30 40 50 60064 10 15 20 30 40 50 600777____25 node* search( 66int 10 15 20 30 40 50 60455
10 15 20 30 40 50 6027 10 15 20 30 40 50 6028 10 15 20 30 40 50 600777____25 node* search( 8210 15 20 30 40 50 600777____25 10 15 20 30 40 50 6047 node* search( 95int 10 15 20 30 40 50 60473
10 15 20 30 40 50 60553
10 15 20 30 40 50 60507
10 15 20 30 40 50 60475 10 15 20 30 40 50 6077 struct 12
10 15 20 30 40 50 60561
10 15 20 30 40 50 60563 7410 15 20 30 40 50 6041
10 15 20 30 40 50 60516 10 15 20 30 40 50 60483 struct 4
10 15 20 30 40 50 60077 struct 4
10 15 20 30 40 50 60
Một cây tìm kiếm nhị phân được thực hiện như thế nào?Một khóa mới trong cây tìm kiếm nhị phân luôn được chèn vào một nút lá.Chúng tôi bắt đầu tìm kiếm chìa khóa được chèn từ gốc cho đến khi chúng tôi nhấn một nút lá.Sau khi tìm thấy nút lá thích hợp, nút mới được thêm vào dưới dạng con của nút lá đó.
Python có cây tìm kiếm nhị phân không?Ngoài ra, bạn sẽ tìm thấy các ví dụ làm việc của cây tìm kiếm nhị phân trong C, C ++, Java và Python.Cây tìm kiếm nhị phân là một cấu trúc dữ liệu nhanh chóng cho phép chúng tôi duy trì danh sách các số được sắp xếp.Nó được gọi là cây nhị phân vì mỗi nút cây có tối đa hai đứa trẻ.
Làm thế nào để bạn thực hiện một cây trong Python?Để tạo một cây trong Python, trước tiên chúng ta phải bắt đầu bằng cách tạo một lớp nút sẽ đại diện cho một nút duy nhất.Lớp nút này sẽ chứa 3 biến;Đầu tiên là bên trái trỏ đến đứa trẻ bên trái, dữ liệu biến thứ hai chứa giá trị cho nút đó và biến bên phải trỏ đến đúng đứa trẻ.creating a Node class that will represent a single node. This Node class will contain 3 variables; the first is the left pointing to the left child, the second variable data containing the value for that node, and the right variable pointing to the right child. |