Recent Posts
None | 2 sec ago
C | 3 sec ago
Ruby | 30 sec ago
None | 35 sec ago
None | 41 sec ago
None | 44 sec ago
Bash | 1 min ago
None | 1 min ago
None | 1 min ago
None | 1 min ago
Sitereport
Find cool info about any domain on the internet?
visit sitereport
Free Subdomains
Want a pastebin.com sub-domain for your community?
learn more...
What is pastebin?
Pastebin is a website that hosts all your text & code on dedicated servers for easy sharing.
learn more...
By stijn leenknegt on the 6th of Jan 2010 07:07:21 PM
Download |
Raw |
Embed |
Report
function [W,P] = leenknegt_floyd(M)
//valideer M eerst
[r,c] = size(M)
if r ~= c then
error("Het aantal rijen is niet gelijk aan het aantal kolommen!")
end
W = M
P = zeros(r,c)
aantal = 0
//het floyd algoritme uitvoeren
for via = 1:r do
for i = 1:r do
//als i gelijk is aan via overslaan
if via == i then
continue
end
//als D(i,via) gelijk is aan inf ook overslaan omdat niets korter kan dan via i -> via
if W(i , via) == inf then
continue
end
//kijken of het punt D(i,j) niet via het punt via kan.
for j = 1:c do
//als i == j ook skippen want dan zeg je kan er nog een kortere weg van 1 naar 1 via 1
//of als j == via dan ook skippen want dan vraag je je af of je kortere weg kan vinden van 2 naar 1 via 1
//of als er geen verbinding is tussen via en j W(via,j) is oneindig
if (i == j) | (j == via) | (W(via,j) == inf) then
continue
end
//kijken of het korter is via het punt via
som = W(i,via) + W(via,j)
if som < W(i,j) then
W(i,j) = som
P(i,j) = via
end
end
end
end
endfunction
Submit a correction or amendment below.
Make A New Post