2. Các phần tử của ma trận T có thể rất lớn, hơn nữa chúng ta chỉ quan tâm đến tính
chất khác 0 của các phần tử, nên có thể xem ma trận kề A như ma trận logic và
trong phép nhân ma trận ta thay các phép toán số học + , * bằng các phép toán
logic OR và AND. Khi đó, ta dùng thuật toán Warshall sau đây để tính ma trận bao
đóng bắc cầu logic AS. Các phần tử logic của ma trận AS cho biết có hay không
đường đi giữa tất cả các cặp đỉnh của đồ thị đã cho.
Thuật toán 1.4 (Warshall):
Dữ liệu: Ma trận kề logic A của đồ thị G.
Kết quả: Ma trận bao đóng bắc cầu logic AS.
1 Begin
2 for i := 1 to n do
3 for j := 1 to n do AS[i,j] := A[i,j] ;
4 for k := 1 to n-1 do
5 for i := 1 to n do
6 for j := 1 to n do
7 if ! AS[i,j] then AS[i,j] := AS[i,k] and AS[k,j]
8 End .
Hiển nhiên, thuật toán có độ phức tạp là O(n ).
3
Bạn đang xem 2. - BAI_02