Hướng dẫn cho người mới bắt đầu về cây nhị phân

Hướng dẫn cho người mới bắt đầu về cây nhị phân

Nếu bạn đã tham gia một khóa học về cấu trúc dữ liệu trong bằng khoa học máy tính của mình hoặc là một lập trình viên tự học, rất có thể bạn đã bắt gặp thuật ngữ Cây nhị phân. Mặc dù chúng nghe có vẻ hơi choáng ngợp và phức tạp, nhưng khái niệm về cây nhị phân khá đơn giản.





sửa lỗi sim không được cấp phép mm 2

Đọc tiếp khi chúng ta phân tích cây nhị phân và tại sao chúng lại là một khái niệm cốt lõi cần thiết cho các lập trình viên.





Cây nhị phân là gì?

Cây nhị phân là một trong những cấu trúc dữ liệu đầu tiên mà sinh viên được dạy trong khóa học về cấu trúc dữ liệu. Một cây nhị phân được tạo bởi nhiều nút và mỗi nút của cây nhị phân chứa hai con trỏ chỉ ra các nút dữ liệu con bên trái và bên phải.





Nút đầu tiên trong cây nhị phân được gọi là nút gốc. Các nút của cấp độ cuối cùng trong cây được gọi là lá.

Đường kính cây nhị phân



Mỗi nút chứa một mục dữ liệu và hai con trỏ nút. Cây nhị phân rỗng được biểu diễn bằng một con trỏ null. Như bạn có thể đã hình dung, cây nhị phân chỉ có thể có hai con (do đó có tên).

Các loại cấu trúc cây nhị phân

Có một số cấu trúc cây nhị phân khác nhau tùy thuộc vào cách các nút được định vị. Cây nhị phân được gọi là cây nhị phân đầy đủ khi mỗi nút trong cây có không hoặc hai nút con. Trong một cây nhị phân hoàn hảo, tất cả các nút đều có hai nút con và các lá ở cùng độ sâu.





Có liên quan: Cách tốt nhất để học cách viết mã miễn phí

Một cây nhị phân hoàn chỉnh có các nút được điền ở mọi cấp, ngoại trừ cấp cuối cùng. Trong cây nhị phân hoàn chỉnh, các nút tập trung ở phía bên trái của gốc. Một cấu trúc phổ biến khác là cây nhị phân cân bằng; trong cấu trúc này, chiều cao của cây con bên phải và bên trái phải khác nhau nhiều nhất là một. Nó cũng được yêu cầu rằng cây con bên trái và bên phải cũng phải được cân bằng.





Điều quan trọng cần lưu ý là chiều cao của cây nhị phân cân bằng là O (logn), trong đó n là số nút trong cây.

Trong một số trường hợp, nếu mỗi nút chỉ có một nút con trái hoặc phải thì cây nhị phân có thể trở thành cây nhị phân lệch. Sau đó, nó sẽ hoạt động giống như một danh sách liên kết, những cây như vậy còn được gọi là cây thoái hóa.

Cây tìm kiếm nhị phân là gì?

Cây tìm kiếm nhị phân (BST) về cơ bản là một cây nhị phân có thứ tự với một thuộc tính đặc biệt được gọi là thuộc tính 'cây tìm kiếm nhị phân'. Thuộc tính BST có nghĩa là các nút có giá trị khóa nhỏ hơn gốc được đặt trong cây con bên trái và các nút có giá trị khóa lớn hơn gốc là một phần của cây con bên phải.

Thuộc tính BST phải đúng với mỗi nút cha tiếp theo trong cây.

Cây nhị phân được sắp xếp

phần mềm tạo mô hình 3d miễn phí tốt nhất cho trò chơi

Cây tìm kiếm nhị phân cung cấp khả năng chèn và tra cứu nhanh chóng. Các hoạt động chèn, xóa và tìm kiếm có độ phức tạp thời gian trong trường hợp xấu nhất là O (n), tương tự như một danh sách được liên kết.

Lợi ích của cây nhị phân

Cây nhị phân cung cấp nhiều lợi ích, đó là lý do tại sao chúng vẫn là một cấu trúc dữ liệu rất hữu ích. Chúng có thể được sử dụng để hiển thị các mối quan hệ cấu trúc và phân cấp trong một tập dữ liệu. Quan trọng hơn, cây nhị phân cho phép tìm kiếm, xóa và chèn hiệu quả.

cách thêm bộ lọc khi thu phóng

Nó cũng rất dễ thực hiện và duy trì một cây nhị phân. Cây nhị phân cung cấp cho người lập trình những lợi ích của một mảng có thứ tự và một danh sách liên kết; tìm kiếm trong cây nhị phân nhanh như trong một mảng đã sắp xếp và các thao tác chèn hoặc xóa cũng hiệu quả như trong danh sách được liên kết.

Cây nhị phân là cấu trúc dữ liệu quan trọng

Cây nhị phân là một cấu trúc dữ liệu rất quan trọng và điều quan trọng là các lập trình viên phải cảm thấy thoải mái khi áp dụng chúng trong chương trình của họ. Thông thường, những người phỏng vấn hỏi các vấn đề cây nhị phân đơn giản như đường truyền, độ sâu tối đa, phản chiếu, v.v.

Chúng tôi thực sự khuyên bạn nên hiểu khái niệm cây nhị phân và làm quen với các vấn đề phỏng vấn điển hình.

Đăng lại Đăng lại tiếng riu ríu E-mail TreeViz: Một cách đơn giản để hình dung cấu trúc dữ liệu Đọc tiếp Chủ đề liên quan
  • Lập trình
  • Phân tích dữ liệu
  • Lập trình
Giới thiệu về tác giả M. Fahad Khawaja(45 bài báo đã xuất bản)

Fahad là nhà văn của MakeUseOf và hiện đang theo học chuyên ngành Khoa học máy tính. Là một nhà văn đam mê công nghệ, anh ấy đảm bảo rằng anh ấy luôn cập nhật công nghệ mới nhất. Anh ấy thấy mình đặc biệt quan tâm đến bóng đá và công nghệ.

Xem thêm từ M. Fahad Khawaja

Theo dõi bản tin của chúng tôi

Tham gia bản tin của chúng tôi để biết các mẹo công nghệ, đánh giá, sách điện tử miễn phí và các ưu đãi độc quyền!

Bấm vào đây để đăng ký