Bạn download ebook "Một số vấn đê trong tin học" rồi xem phần Cấu trúc Heap. Xem nó nói gì về UpHeap và Downheap để tạo một cây Heap Max (với Heap Min thì chỉ cần đổi dấu bất phương trình thôi).
Sau đó download DSAP Textbook của thầy LÊ MINH HOÀNG rồi ngâm code Dijkstra Heap trong đó (Đồ thị -> Đường đi ngắn nhất -> Dijkstra + Heap). FUNCTION Pop là downheap, PROCEDURE Update là Upheap (đơn giản vậy thôi)