Graphensuchewith(plots): Der Graph als Adjazenzliste:n:=8:V:={seq(i,i=1..n)}:e[1]:=[2,3,4,6];e[2]:=[1,3,4,5];e[3]:=[1,2,6,8];e[4]:=[1,2,5,6];e[5]:=[2,4,6,7];e[6]:=[1,3,4,5];e[7]:=[5,8];e[8]:=[3,7];T:={}:
for i from 1 to n do: for j from 1 to nops(e[i]) do:
T:=T union {[i,e[i][j]]}:
od:od: Chaotische SucheLUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic=v:=1:R:='R':Q:='Q':T:='T':
R:={v}:T:={}:Q:={v}:while not Q={} do:
vv:=op(1,Q):
sackg:=true:
for w in e[vv] do:
if not w in R then ww:=w: sackg:=false: end if:
od:
if not sackg then R:= R union {ww}: Q:=Q union {ww}: T:=T union {[vv,ww]}:
else Q:=Q minus {vv}: end if:
od: T; Tiefensuche (DFS)LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic=v:=1:R:='R':Q:='Q':T:='T':
R:={v}:T:={}:Q[1]:=v:zq:=1:while zq>0 do:
vv:=Q[zq]:
sackg:=true:
for w in e[vv] do:
if not w in R then ww:=w: sackg:=false: end if:
od:
if not sackg then R:= R union {ww}: zq:=zq+1: Q[zq]:=ww: T:=T union {[vv,ww]}:
else Q[zq]:=0: zq:=zq-1: end if:
od: T; Breitensuche (BFS)LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYjLUkjbWlHRiQ2I1EhRic=v:=1:R:='R':Q:='Q':T:='T':
R:={v}:T:={}:Q[1]:=v:zq:=1:while zq>0 do:
vv:=Q[1]:
sackg:=true:
for w in e[vv] do:
if not w in R then ww:=w: sackg:=false: end if:
od:
if not sackg then R:= R union {ww}: zq:=zq+1: Q[zq]:=ww: T:=T union {[vv,ww]}:
else for i from 1 to zq-1 do: Q[i]:=Q[i+1]: od: Q[zq]:=0: zq:=zq-1: end if:
od: T; Graph zeichnen, der als Kantenliste T gegeben ist:for i from 1 to n do:
p[i]:=[evalf(cos(i*2*Pi/n)),evalf(sin(i*2*Pi/n))]:
od:pp:=pointplot([seq(p[i],i=1..n)],symbol=solidcircle,symbolsize=25,axes=none):ct:=0:
for i in T do:
ct:=ct+1:
pq[ct]:=listplot([p[i[1]],p[i[2]]],color=red,axes=none):
od:display([pp,seq(pq[i],i=1..ct)]);display([pp,seq(pq[i],i=1..ct)]);JSFH