Duyệt cây nhị phân bằng phương pháp inOder trong Java
Cách duyệt cây nhị phân sử dung in-oder bằng ngôn ngữ Java. Đây là bài tập căn bản giúp các bạn nắm vững kiến thức về binary tree.

Binary tree là cấu trúc dữ liệu phổ biến và có nhiều ứng dụng trong các lĩnh vực khác nhau. Binary Tree cũng rất quan trọng khi phỏng vấn các công ty công nghệ hàng đầu. Việc thành thạo binary tree có thể giúp chúng ta giải quyết rất nhiều vấn đề. Trong bài viết này, chúng ta sẽ xem xét một vấn đề như vậy. Dưới đây freetuts sẽ giúp bạn tìm hiểu về cách duyệt cây nhị phân sử dung in-oder.
Cách duyệt cây nhị phân sử dung in-oder bằng ngôn ngữ Java
Trong phần này, freetuts sẽ hướng dẫn các bạn về thuật toán cũng như cách triển khai bài toán này trong Java.
Đầu tiên chúng ta tìm hiểu về lý thuyết liên quan đến bài toán này: Binary tree, pre-oder.
Bài viết này được đăng tại [free tuts .net]
Binary tree: là một cấu trúc dữ liệu phân cấp trong đó mỗi nút có max hai nút con: nút con bên trái và nút con bên phải. Nút trên cùng của cây được gọi là root . Mỗi nút chứa ba thành phần:
- Con trỏ tới cây con bên trái
- Con trỏ tới cây con bên phải
- Data
In-oder: là một cách duyệt binary tree trong Java. Hiểu đơn giản thì với cách duyệt này ta sẽ duyệt từ con trái đến root và cuối cùng là con phải.
Ví dụ:

Sau khi dùng in-oder ta được: 1, 3, 6, 9, 10, 12
Chương trình duyệt cây nhị phân sử dung in-oder bằng ngôn ngữ Java
Dưới đây là chương trình mà freetuts đã viết, mời các bạn tham khảo:
/**
* Học lập trình Java miễn phí tại freetuts.net
*
* @author freetuts
*/
import java.util.ArrayList;
class Node {
int data;
Node left, right;
Node(int item) {
data = item;
left = right = null;
}
}
class Solution {
private Node root;
void inorderUtil(Node root, ArrayList<Integer> res) {
if (root == null) {
return;
}
inorderUtil(root.left, res);
res.add(root.data);
inorderUtil(root.right, res);
}
ArrayList<Integer> inOrder(Node root) {
ArrayList<Integer> res = new ArrayList<Integer>(0);
inorderUtil(root, res);
return res;
}
public static void main(String args[])
{
Solution tree = new Solution();
tree.root = new Node(6);
tree.root.left = new Node(3);
tree.root.right = new Node(10);
tree.root.left.left = new Node(1);
tree.root.right.right = new Node(12);
tree.root.right.left = new Node(10);
ArrayList<Integer> res = null;
System.out.println("Chương trình này được dăng tại freetuts.net");
System.out.println("Binary tree sau khi duyệt bằng in-oder: ");
System.out.println(res);
}
}Kết quả:

Như vậy chúng ta đã thực hiện xong chương trình duyệt cây nhị phân sử dung in-oder bằng ngôn ngữ Java. Chúc các bạn thực hiện thành công!!!


Các kiểu dữ liệu trong C ( int - float - double - char ...)
Thuật toán tìm ước chung lớn nhất trong C/C++
Cấu trúc lệnh switch case trong C++ (có bài tập thực hành)
ComboBox - ListBox trong lập trình C# winforms
Random trong Python: Tạo số random ngẫu nhiên
Lệnh cin và cout trong C++
Cách khai báo biến trong PHP, các loại biến thường gặp
Download và cài đặt Vertrigo Server
Thẻ li trong HTML
Thẻ article trong HTML5
Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên
Cách dùng thẻ img trong HTML và các thuộc tính của img
Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng