30/09/2018, 18:02

Cài đặt cây n phân trong java

Các bác cho em hỏi làm sao để cài đặt 1 cây có k phân tùy ý trên java ạ?
Cây của em có các nút là A,B,C… kiểu ký tự ạ
Em phải có thuộc tính, phương thức thế nào? Sử dụng kiểu DL ra sao ạ?
Em xin cảm ơn!

Le Hoai viết 20:14 ngày 30/09/2018

Tưởng tượng 1 cách đơn giản nhé. 1 cây thì có nhiều node. tại 1 node thì có gì? 1 node thì có các con của nó và cha của nó. Đối với cây n phân thì mỗi node có 1 node cha ( thực ra cây nào thì mỗi node cũng chỉ có 1 node cha thôi ), và n node con. Và vì ko biết trước được số lượng node con ntn nên ta để nó như là 1 List (danh sách). Do đó cài đặt về mặt cấu trúc dữ liệu thì đại loại nó sẽ ntn:

class Node {

 Node parent;
 List<Node> children;

   // các phương thức duyệt node, remove node, add node...
}

Đói với các cây nhị phân thì vì chỉ có 2 node nên người ta chia ra luôn là node trái node phải, còn ở đây n phân thì cứ để nó là List thôi.
Nếu cài đặt bằng C++ thì không có khái niệm List (trừ C++ 11 thì phải …) , mà bạn phải cài đặt bằng danh sách liên kết

Bài liên quan
0