VNIT

Too lazy to think of a slogan

Trang chủ » Diễn Đàn » Lập trình và Phát triển Web » CLB Thuật toán » Thuật toán tìm đường đi dài nhất

Chủ đề đã bị khóa, bạn không thể xóa, sửa hay trả lời trong chủ đề này!

First Page Previous Page  1  Next Page Last Page
Locked Thuật toán tìm đường đi dài nhất
0
article Gởi bởi blacktigerhut (7:25 05-12-2011)
Bài: 1 / Điểm VCS: 1 /

Mình post thử thuật toán tìm đường đi dài nhất mọi người xem thử có đúng không nhé.
tìm đường đi dài nhất từ s đến t. d(x) là đường đi dài nhất từ s đến x. a(u,x) là trọng số của cạnh có đỉnh là đỉnh đã duyệt cuối cùng (giả sử là u) và x.

Tư tưởng là dùng Dijkstra nhưng có chút thay đổi. thay vì khởi tạo ban đầu d(x) = vô cùng thì khởi tạo ban đầu là d(x)=0.

Thuật toán:

với mỗi đỉnh x thì đặt d(x) = 0
finish = false;
while (!finish)
    {
    finish = true;
    với mỗi đỉnh v của đồ thị
        {
            if( d(u) + a(u,v) > d(v))
              { d(v) = d(u) + a(u,v); finish = false;}
        loại đỉnh v ra khỏi tập đỉnh đang xét
          }

    }
First Page Previous Page  1  Next Page Last Page

Thống kê

Hiện tại web site có 85,806 thành viên. Xin chào đón thành viên mới nhất nightt.

Các thành viên đã tạo 62,822 chủ đề và 241,950 bài viết trong 30 box.

Hiện có 0 thành viên và 1 khách đang trực tuyến.

Template by styleshout / Icons by Tango Icon Library and FamFamFam.