doc/images/bipartite_partitions.eps
author Peter Kovacs <kpeter@inf.elte.hu>
Sat, 25 Apr 2009 02:12:41 +0200
changeset 615 7c1324b35d89
parent 578 7c12061bd271
permissions -rw-r--r--
Modify the interface of Suurballe (#266, #181)

- Move the parameters s and t from the constructor to the run()
function. It makes the interface capable for multiple run(s,t,k)
calls (possible improvement in the future) and it is more similar
to Dijkstra.
- Simliarly init() and findFlow(k) were replaced by init(s) and
findFlow(t,k). The separation of parameters s and t is for the
future plans of supporting multiple targets with one source node.
For more information see #181.
- LEMON_ASSERT for the Length type (check if it is integer).
- Doc improvements.
- Rearrange query functions.
- Extend test file.
kpeter@578
     1
%!PS-Adobe-2.0 EPSF-2.0
kpeter@578
     2
%%Creator: LEMON, graphToEps()
kpeter@578
     3
%%CreationDate: Tue Nov 15 16:51:43 2005
alpar@579
     4
%%BoundingBox: 0 0 842 596
kpeter@578
     5
%%EndComments
kpeter@578
     6
/lb { setlinewidth setrgbcolor newpath moveto
kpeter@578
     7
      4 2 roll 1 index 1 index curveto stroke } bind def
kpeter@578
     8
/l { setlinewidth setrgbcolor newpath moveto lineto stroke } bind def
kpeter@578
     9
/c { newpath dup 3 index add 2 index moveto 0 360 arc closepath } bind def
kpeter@578
    10
/sq { newpath 2 index 1 index add 2 index 2 index add moveto
kpeter@578
    11
      2 index 1 index sub 2 index 2 index add lineto
kpeter@578
    12
      2 index 1 index sub 2 index 2 index sub lineto
kpeter@578
    13
      2 index 1 index add 2 index 2 index sub lineto
kpeter@578
    14
      closepath pop pop pop} bind def
kpeter@578
    15
/di { newpath 2 index 1 index add 2 index moveto
kpeter@578
    16
      2 index             2 index 2 index add lineto
kpeter@578
    17
      2 index 1 index sub 2 index             lineto
kpeter@578
    18
      2 index             2 index 2 index sub lineto
kpeter@578
    19
      closepath pop pop pop} bind def
kpeter@578
    20
/nc { 0 0 0 setrgbcolor 5 index 5 index 5 index c fill
kpeter@578
    21
     setrgbcolor 1.1 div c fill
kpeter@578
    22
   } bind def
kpeter@578
    23
/nsq { 0 0 0 setrgbcolor 5 index 5 index 5 index sq fill
kpeter@578
    24
     setrgbcolor 1.1 div sq fill
kpeter@578
    25
   } bind def
kpeter@578
    26
/ndi { 0 0 0 setrgbcolor 5 index 5 index 5 index di fill
kpeter@578
    27
     setrgbcolor 1.1 div di fill
kpeter@578
    28
   } bind def
kpeter@578
    29
/arrl 1 def
kpeter@578
    30
/arrw 0.3 def
kpeter@578
    31
/lrl { 2 index mul exch 2 index mul exch rlineto pop} bind def
kpeter@578
    32
/arr { setrgbcolor /y1 exch def /x1 exch def /dy exch def /dx exch def
kpeter@578
    33
       /w exch def /len exch def
kpeter@578
    34
       newpath x1 dy w 2 div mul add y1 dx w 2 div mul sub moveto
kpeter@578
    35
       len w sub arrl sub dx dy lrl
kpeter@578
    36
       arrw dy dx neg lrl
kpeter@578
    37
       dx arrl w add mul dy w 2 div arrw add mul sub
kpeter@578
    38
       dy arrl w add mul dx w 2 div arrw add mul add rlineto
kpeter@578
    39
       dx arrl w add mul neg dy w 2 div arrw add mul sub
kpeter@578
    40
       dy arrl w add mul neg dx w 2 div arrw add mul add rlineto
kpeter@578
    41
       arrw dy dx neg lrl
kpeter@578
    42
       len w sub arrl sub neg dx dy lrl
kpeter@578
    43
       closepath fill } bind def
kpeter@578
    44
/cshow { 2 index 2 index moveto dup stringwidth pop
kpeter@578
    45
         neg 2 div fosi .35 mul neg rmoveto show pop pop} def
kpeter@578
    46
kpeter@578
    47
gsave
alpar@579
    48
90 rotate
alpar@579
    49
0 -842 translate
kpeter@578
    50
71.6378 15 translate
kpeter@578
    51
0.389093 dup scale
kpeter@578
    52
90 rotate
kpeter@578
    53
1197.47 -613.138 translate
kpeter@578
    54
%Edges:
kpeter@578
    55
gsave
kpeter@578
    56
513.857 -446.322 296.569 -487.43 79.2808 -528.539 0 0 0 2 lb
kpeter@578
    57
513.857 -446.322 575.52 -315.655 637.183 -184.989 0 0 0 2 lb
kpeter@578
    58
393.468 566.711 494.771 434.577 596.074 302.442 0 0 0 2 lb
kpeter@578
    59
393.468 566.711 155.625 579.925 -82.2171 593.138 0 0 0 2 lb
kpeter@578
    60
393.468 566.711 251.056 450.726 108.644 334.741 0 0 0 2 lb
kpeter@578
    61
869.153 52.8539 732.613 177.648 596.074 302.442 0 0 0 2 lb
kpeter@578
    62
869.153 52.8539 753.168 -66.0676 637.183 -184.989 0 0 0 2 lb
kpeter@578
    63
-82.2171 593.138 -91.0261 346.487 -99.8351 99.8351 0 0 0 2 lb
kpeter@578
    64
-663.61 546.157 -753.168 394.936 -842.726 243.715 0 0 0 2 lb
kpeter@578
    65
-663.61 546.157 -574.052 437.513 -484.494 328.869 0 0 0 2 lb
kpeter@578
    66
-1077.63 161.498 -960.178 202.606 -842.726 243.715 0 0 0 2 lb
kpeter@578
    67
-1077.63 161.498 -968.987 66.0674 -860.344 -29.3633 0 0 0 2 lb
kpeter@578
    68
-1177.47 -234.906 -1029.18 -381.722 -880.898 -528.539 0 0 0 2 lb
kpeter@578
    69
-1177.47 -234.906 -1018.91 -132.135 -860.344 -29.3633 0 0 0 2 lb
kpeter@578
    70
-880.898 -528.539 -744.359 -387.595 -607.82 -246.651 0 0 0 2 lb
kpeter@578
    71
-499.175 -499.175 -355.295 -475.685 -211.415 -452.194 0 0 0 2 lb
kpeter@578
    72
-499.175 -499.175 -553.498 -372.913 -607.82 -246.651 0 0 0 2 lb
kpeter@578
    73
-499.175 -499.175 -386.587 -315.087 -274 -131 0 0 0 2 lb
kpeter@578
    74
79.2808 -528.539 -66.0671 -490.366 -211.415 -452.194 0 0 0 2 lb
kpeter@578
    75
637.183 -184.989 421.363 -253.993 205.543 -322.996 0 0 0 2 lb
kpeter@578
    76
205.543 -322.996 162.966 -226.097 120.389 -129.198 0 0 0 2 lb
kpeter@578
    77
399.34 88.0898 259.865 -20.5541 120.389 -129.198 0 0 0 2 lb
kpeter@578
    78
399.34 88.0898 253.992 211.415 108.644 334.741 0 0 0 2 lb
kpeter@578
    79
-842.726 243.715 -471.281 171.775 -99.8351 99.8351 0 0 0 2 lb
kpeter@578
    80
-842.726 243.715 -558.363 56.3575 -274 -131 0 0 0 2 lb
kpeter@578
    81
-860.344 -29.3633 -734.082 -138.007 -607.82 -246.651 0 0 0 2 lb
kpeter@578
    82
-211.415 -452.194 -45.513 -290.696 120.389 -129.198 0 0 0 2 lb
kpeter@578
    83
-99.8351 99.8351 4.40445 217.288 108.644 334.741 0 0 0 2 lb
kpeter@578
    84
-99.8351 99.8351 -292.165 214.352 -484.494 328.869 0 0 0 2 lb
kpeter@578
    85
120.389 -129.198 -76.8055 -130.099 -274 -131 0 0 0 2 lb
kpeter@578
    86
grestore
kpeter@578
    87
%Nodes:
kpeter@578
    88
gsave
kpeter@578
    89
-274 -131 20 1 0 0 nc
kpeter@578
    90
-607.82 -246.651 20 1 0 0 nc
kpeter@578
    91
-484.494 328.869 20 0 0 1 nc
kpeter@578
    92
108.644 334.741 20 0 0 1 nc
kpeter@578
    93
120.389 -129.198 20 0 0 1 nc
kpeter@578
    94
-99.8351 99.8351 20 1 0 0 nc
kpeter@578
    95
-211.415 -452.194 20 1 0 0 nc
kpeter@578
    96
-860.344 -29.3633 20 0 0 1 nc
kpeter@578
    97
-842.726 243.715 20 0 0 1 nc
kpeter@578
    98
399.34 88.0898 20 1 0 0 nc
kpeter@578
    99
205.543 -322.996 20 1 0 0 nc
kpeter@578
   100
637.183 -184.989 20 0 0 1 nc
kpeter@578
   101
79.2808 -528.539 20 0 0 1 nc
kpeter@578
   102
-499.175 -499.175 20 0 0 1 nc
kpeter@578
   103
-880.898 -528.539 20 0 0 1 nc
kpeter@578
   104
-1177.47 -234.906 20 1 0 0 nc
kpeter@578
   105
-1077.63 161.498 20 1 0 0 nc
kpeter@578
   106
-663.61 546.157 20 1 0 0 nc
kpeter@578
   107
-82.2171 593.138 20 0 0 1 nc
kpeter@578
   108
596.074 302.442 20 0 0 1 nc
kpeter@578
   109
869.153 52.8539 20 1 0 0 nc
kpeter@578
   110
393.468 566.711 20 1 0 0 nc
kpeter@578
   111
513.857 -446.322 20 1 0 0 nc
kpeter@578
   112
grestore
kpeter@578
   113
grestore
kpeter@578
   114
showpage