Menu
CoddyTech

Mã giả

Bài học 4 trên 9 trong khóa học Thuật toán Prim, thuật toán đồ thị của Coddy.

prim(n, edges):
   inTree[0] = true; everything else false
   total = 0
   repeat (n - 1) times:
      best = the crossing edge (one endpoint in, one out) with smallest weight
      if none exists: stop      # disconnected
      total += best.weight
      inTree[best.outsideEndpoint] = true
   return total
  • Một cạnh (u, v, w) cắt qua đường cắt khi inTree[u] và inTree[v] khác nhau.
  • Duyệt tất cả các cạnh ở mỗi vòng để tìm cạnh cắt qua đường cắt có trọng số nhỏ nhất giúp code đơn giản hơn, không cần hàng đợi ưu tiên khi đồ thị nhỏ.

Tự làm thử

Bài học này không có thử thách code.

quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Thuật toán Prim, thuật toán đồ thị

Tự luyện tập: Trình biên dịch C online