Ở phần trước Thuật toán Prim: Cài đặt thuật toán chúng ta đã tìm hiểu qua cách cài đặt thuật toán Prim dựa vào Priority Queue. Tuy nhiên, có một nhược điểm là phải duyệt các cạnh không hợp lệ trong queue. Do vậy, trong bài này chúng ta sẽ tối ưu cách cài đặt thuật toán Prim ở bài trước bằng cách sử dụng Index Priority Queue.

Đọc tiếp...

Bàn về độ phức tạp thời gian, mình vẫn thường hay nghe các bạn nói “Một vòng for là $O(N)$, hai vòng for lồng nhau là $O(N^2)$". Thực ra không hẳn là như thế, nó còn phụ thuộc vào số bước thực hiện mỗi lần lặp. Mình cũng sẽ không bàn về phương pháp khoa học để đánh giá thuật toán mà thay vào đó nói về cách để mường tượng xác định độ phức tạp của thuật toán.

Đọc tiếp...

Ảnh đại diện

Nguyễn Tuấn

A guy with passionate at the code

Software Engineer

Saigon, Vietnam