doc/images/bipartite_partitions.eps
author Peter Kovacs <kpeter@inf.elte.hu>
Sat, 25 Apr 2009 02:12:41 +0200
changeset 623 7c1324b35d89
parent 586 7c12061bd271
child 1045 4e8787627db3
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@586
     1
%!PS-Adobe-2.0 EPSF-2.0
kpeter@586
     2
%%Creator: LEMON, graphToEps()
kpeter@586
     3
%%CreationDate: Tue Nov 15 16:51:43 2005
alpar@587
     4
%%BoundingBox: 0 0 842 596
kpeter@586
     5
%%EndComments
kpeter@586
     6
/lb { setlinewidth setrgbcolor newpath moveto
kpeter@586
     7
      4 2 roll 1 index 1 index curveto stroke } bind def
kpeter@586
     8
/l { setlinewidth setrgbcolor newpath moveto lineto stroke } bind def
kpeter@586
     9
/c { newpath dup 3 index add 2 index moveto 0 360 arc closepath } bind def
kpeter@586
    10
/sq { newpath 2 index 1 index add 2 index 2 index add moveto
kpeter@586
    11
      2 index 1 index sub 2 index 2 index add lineto
kpeter@586
    12
      2 index 1 index sub 2 index 2 index sub lineto
kpeter@586
    13
      2 index 1 index add 2 index 2 index sub lineto
kpeter@586
    14
      closepath pop pop pop} bind def
kpeter@586
    15
/di { newpath 2 index 1 index add 2 index moveto
kpeter@586
    16
      2 index             2 index 2 index add lineto
kpeter@586
    17
      2 index 1 index sub 2 index             lineto
kpeter@586
    18
      2 index             2 index 2 index sub lineto
kpeter@586
    19
      closepath pop pop pop} bind def
kpeter@586
    20
/nc { 0 0 0 setrgbcolor 5 index 5 index 5 index c fill
kpeter@586
    21
     setrgbcolor 1.1 div c fill
kpeter@586
    22
   } bind def
kpeter@586
    23
/nsq { 0 0 0 setrgbcolor 5 index 5 index 5 index sq fill
kpeter@586
    24
     setrgbcolor 1.1 div sq fill
kpeter@586
    25
   } bind def
kpeter@586
    26
/ndi { 0 0 0 setrgbcolor 5 index 5 index 5 index di fill
kpeter@586
    27
     setrgbcolor 1.1 div di fill
kpeter@586
    28
   } bind def
kpeter@586
    29
/arrl 1 def
kpeter@586
    30
/arrw 0.3 def
kpeter@586
    31
/lrl { 2 index mul exch 2 index mul exch rlineto pop} bind def
kpeter@586
    32
/arr { setrgbcolor /y1 exch def /x1 exch def /dy exch def /dx exch def
kpeter@586
    33
       /w exch def /len exch def
kpeter@586
    34
       newpath x1 dy w 2 div mul add y1 dx w 2 div mul sub moveto
kpeter@586
    35
       len w sub arrl sub dx dy lrl
kpeter@586
    36
       arrw dy dx neg lrl
kpeter@586
    37
       dx arrl w add mul dy w 2 div arrw add mul sub
kpeter@586
    38
       dy arrl w add mul dx w 2 div arrw add mul add rlineto
kpeter@586
    39
       dx arrl w add mul neg dy w 2 div arrw add mul sub
kpeter@586
    40
       dy arrl w add mul neg dx w 2 div arrw add mul add rlineto
kpeter@586
    41
       arrw dy dx neg lrl
kpeter@586
    42
       len w sub arrl sub neg dx dy lrl
kpeter@586
    43
       closepath fill } bind def
kpeter@586
    44
/cshow { 2 index 2 index moveto dup stringwidth pop
kpeter@586
    45
         neg 2 div fosi .35 mul neg rmoveto show pop pop} def
kpeter@586
    46
kpeter@586
    47
gsave
alpar@587
    48
90 rotate
alpar@587
    49
0 -842 translate
kpeter@586
    50
71.6378 15 translate
kpeter@586
    51
0.389093 dup scale
kpeter@586
    52
90 rotate
kpeter@586
    53
1197.47 -613.138 translate
kpeter@586
    54
%Edges:
kpeter@586
    55
gsave
kpeter@586
    56
513.857 -446.322 296.569 -487.43 79.2808 -528.539 0 0 0 2 lb
kpeter@586
    57
513.857 -446.322 575.52 -315.655 637.183 -184.989 0 0 0 2 lb
kpeter@586
    58
393.468 566.711 494.771 434.577 596.074 302.442 0 0 0 2 lb
kpeter@586
    59
393.468 566.711 155.625 579.925 -82.2171 593.138 0 0 0 2 lb
kpeter@586
    60
393.468 566.711 251.056 450.726 108.644 334.741 0 0 0 2 lb
kpeter@586
    61
869.153 52.8539 732.613 177.648 596.074 302.442 0 0 0 2 lb
kpeter@586
    62
869.153 52.8539 753.168 -66.0676 637.183 -184.989 0 0 0 2 lb
kpeter@586
    63
-82.2171 593.138 -91.0261 346.487 -99.8351 99.8351 0 0 0 2 lb
kpeter@586
    64
-663.61 546.157 -753.168 394.936 -842.726 243.715 0 0 0 2 lb
kpeter@586
    65
-663.61 546.157 -574.052 437.513 -484.494 328.869 0 0 0 2 lb
kpeter@586
    66
-1077.63 161.498 -960.178 202.606 -842.726 243.715 0 0 0 2 lb
kpeter@586
    67
-1077.63 161.498 -968.987 66.0674 -860.344 -29.3633 0 0 0 2 lb
kpeter@586
    68
-1177.47 -234.906 -1029.18 -381.722 -880.898 -528.539 0 0 0 2 lb
kpeter@586
    69
-1177.47 -234.906 -1018.91 -132.135 -860.344 -29.3633 0 0 0 2 lb
kpeter@586
    70
-880.898 -528.539 -744.359 -387.595 -607.82 -246.651 0 0 0 2 lb
kpeter@586
    71
-499.175 -499.175 -355.295 -475.685 -211.415 -452.194 0 0 0 2 lb
kpeter@586
    72
-499.175 -499.175 -553.498 -372.913 -607.82 -246.651 0 0 0 2 lb
kpeter@586
    73
-499.175 -499.175 -386.587 -315.087 -274 -131 0 0 0 2 lb
kpeter@586
    74
79.2808 -528.539 -66.0671 -490.366 -211.415 -452.194 0 0 0 2 lb
kpeter@586
    75
637.183 -184.989 421.363 -253.993 205.543 -322.996 0 0 0 2 lb
kpeter@586
    76
205.543 -322.996 162.966 -226.097 120.389 -129.198 0 0 0 2 lb
kpeter@586
    77
399.34 88.0898 259.865 -20.5541 120.389 -129.198 0 0 0 2 lb
kpeter@586
    78
399.34 88.0898 253.992 211.415 108.644 334.741 0 0 0 2 lb
kpeter@586
    79
-842.726 243.715 -471.281 171.775 -99.8351 99.8351 0 0 0 2 lb
kpeter@586
    80
-842.726 243.715 -558.363 56.3575 -274 -131 0 0 0 2 lb
kpeter@586
    81
-860.344 -29.3633 -734.082 -138.007 -607.82 -246.651 0 0 0 2 lb
kpeter@586
    82
-211.415 -452.194 -45.513 -290.696 120.389 -129.198 0 0 0 2 lb
kpeter@586
    83
-99.8351 99.8351 4.40445 217.288 108.644 334.741 0 0 0 2 lb
kpeter@586
    84
-99.8351 99.8351 -292.165 214.352 -484.494 328.869 0 0 0 2 lb
kpeter@586
    85
120.389 -129.198 -76.8055 -130.099 -274 -131 0 0 0 2 lb
kpeter@586
    86
grestore
kpeter@586
    87
%Nodes:
kpeter@586
    88
gsave
kpeter@586
    89
-274 -131 20 1 0 0 nc
kpeter@586
    90
-607.82 -246.651 20 1 0 0 nc
kpeter@586
    91
-484.494 328.869 20 0 0 1 nc
kpeter@586
    92
108.644 334.741 20 0 0 1 nc
kpeter@586
    93
120.389 -129.198 20 0 0 1 nc
kpeter@586
    94
-99.8351 99.8351 20 1 0 0 nc
kpeter@586
    95
-211.415 -452.194 20 1 0 0 nc
kpeter@586
    96
-860.344 -29.3633 20 0 0 1 nc
kpeter@586
    97
-842.726 243.715 20 0 0 1 nc
kpeter@586
    98
399.34 88.0898 20 1 0 0 nc
kpeter@586
    99
205.543 -322.996 20 1 0 0 nc
kpeter@586
   100
637.183 -184.989 20 0 0 1 nc
kpeter@586
   101
79.2808 -528.539 20 0 0 1 nc
kpeter@586
   102
-499.175 -499.175 20 0 0 1 nc
kpeter@586
   103
-880.898 -528.539 20 0 0 1 nc
kpeter@586
   104
-1177.47 -234.906 20 1 0 0 nc
kpeter@586
   105
-1077.63 161.498 20 1 0 0 nc
kpeter@586
   106
-663.61 546.157 20 1 0 0 nc
kpeter@586
   107
-82.2171 593.138 20 0 0 1 nc
kpeter@586
   108
596.074 302.442 20 0 0 1 nc
kpeter@586
   109
869.153 52.8539 20 1 0 0 nc
kpeter@586
   110
393.468 566.711 20 1 0 0 nc
kpeter@586
   111
513.857 -446.322 20 1 0 0 nc
kpeter@586
   112
grestore
kpeter@586
   113
grestore
kpeter@586
   114
showpage