| ofs | hex dump | ascii |
|---|
| 0000 | 61 0d 0d 0a 00 00 00 00 21 8a 96 62 97 13 00 00 e3 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | a.......!..b.................... |
| 0020 | 00 04 00 00 00 40 00 00 00 73 30 00 00 00 64 00 5a 00 64 01 64 02 6c 01 5a 01 65 01 a0 02 64 03 | .....@...s0...d.Z.d.d.l.Z.e...d. |
| 0040 | a1 01 64 01 19 00 6a 03 5a 04 47 00 64 04 64 05 84 00 64 05 65 05 83 03 5a 06 64 02 53 00 29 06 | ..d...j.Z.G.d.d...d.e...Z.d.S.). |
| 0060 | 61 16 13 00 00 0a 61 6c 74 67 72 61 70 68 20 2d 20 61 20 70 79 74 68 6f 6e 20 67 72 61 70 68 20 | a.....altgraph.-.a.python.graph. |
| 0080 | 6c 69 62 72 61 72 79 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d | library.======================== |
| 00a0 | 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 61 6c 74 67 72 61 70 68 20 69 73 20 61 20 66 6f 72 6b 20 6f 66 | =========..altgraph.is.a.fork.of |
| 00c0 | 20 60 67 72 61 70 68 6c 69 62 20 3c 68 74 74 70 3a 2f 2f 70 79 67 72 61 70 68 6c 69 62 2e 73 6f | .`graphlib.<http://pygraphlib.so |
| 00e0 | 75 72 63 65 66 6f 72 67 65 2e 6e 65 74 3e 60 5f 20 74 61 69 6c 6f 72 65 64 0a 74 6f 20 75 73 65 | urceforge.net>`_.tailored.to.use |
| 0100 | 20 6e 65 77 65 72 20 50 79 74 68 6f 6e 20 32 2e 33 2b 20 66 65 61 74 75 72 65 73 2c 20 69 6e 63 | .newer.Python.2.3+.features,.inc |
| 0120 | 6c 75 64 69 6e 67 20 61 64 64 69 74 69 6f 6e 61 6c 20 73 75 70 70 6f 72 74 20 75 73 65 64 20 62 | luding.additional.support.used.b |
| 0140 | 79 20 74 68 65 0a 70 79 32 61 70 70 20 73 75 69 74 65 20 28 6d 6f 64 75 6c 65 67 72 61 70 68 20 | y.the.py2app.suite.(modulegraph. |
| 0160 | 61 6e 64 20 6d 61 63 68 6f 6c 69 62 2c 20 73 70 65 63 69 66 69 63 61 6c 6c 79 29 2e 0a 0a 61 6c | and.macholib,.specifically)...al |
| 0180 | 74 67 72 61 70 68 20 69 73 20 61 20 70 79 74 68 6f 6e 20 62 61 73 65 64 20 67 72 61 70 68 20 28 | tgraph.is.a.python.based.graph.( |
| 01a0 | 6e 65 74 77 6f 72 6b 29 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 61 6e 64 20 6d 61 6e 69 | network).representation.and.mani |
| 01c0 | 70 75 6c 61 74 69 6f 6e 0a 70 61 63 6b 61 67 65 2e 20 20 49 74 20 68 61 73 20 73 74 61 72 74 65 | pulation.package...It.has.starte |
| 01e0 | 64 20 6f 75 74 20 61 73 20 61 6e 20 65 78 74 65 6e 73 69 6f 6e 20 74 6f 20 74 68 65 0a 60 67 72 | d.out.as.an.extension.to.the.`gr |
| 0200 | 61 70 68 5f 6c 69 62 20 6d 6f 64 75 6c 65 0a 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 65 63 65 2e 61 | aph_lib.module.<http://www.ece.a |
| 0220 | 72 69 7a 6f 6e 61 2e 65 64 75 2f 7e 64 65 6e 6e 79 2f 70 79 74 68 6f 6e 5f 6e 65 73 74 2f 67 72 | rizona.edu/~denny/python_nest/gr |
| 0240 | 61 70 68 5f 6c 69 62 5f 31 2e 30 2e 31 2e 68 74 6d 6c 3e 60 5f 0a 77 72 69 74 74 65 6e 20 62 79 | aph_lib_1.0.1.html>`_.written.by |
| 0260 | 20 4e 61 74 68 61 6e 20 44 65 6e 6e 79 20 69 74 20 68 61 73 20 62 65 65 6e 20 73 69 67 6e 69 66 | .Nathan.Denny.it.has.been.signif |
| 0280 | 69 63 61 6e 74 6c 79 20 6f 70 74 69 6d 69 7a 65 64 20 61 6e 64 20 65 78 70 61 6e 64 65 64 2e 0a | icantly.optimized.and.expanded.. |
| 02a0 | 0a 54 68 65 20 3a 63 6c 61 73 73 3a 60 61 6c 74 67 72 61 70 68 2e 47 72 61 70 68 2e 47 72 61 70 | .The.:class:`altgraph.Graph.Grap |
| 02c0 | 68 60 20 63 6c 61 73 73 20 69 73 20 6c 6f 6f 73 65 6c 79 20 6d 6f 64 65 6c 65 64 20 61 66 74 65 | h`.class.is.loosely.modeled.afte |
| 02e0 | 72 20 74 68 65 0a 60 4c 45 44 41 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 61 6c 67 6f 72 69 74 68 | r.the.`LEDA.<http://www.algorith |
| 0300 | 6d 69 63 2d 73 6f 6c 75 74 69 6f 6e 73 2e 63 6f 6d 2f 65 6e 6c 65 64 61 2e 68 74 6d 3e 60 5f 0a | mic-solutions.com/enleda.htm>`_. |
| 0320 | 28 4c 69 62 72 61 72 79 20 6f 66 20 45 66 66 69 63 69 65 6e 74 20 44 61 74 61 74 79 70 65 73 29 | (Library.of.Efficient.Datatypes) |
| 0340 | 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 2e 20 54 68 65 20 6c 69 62 72 61 72 79 0a 69 6e 63 | .representation..The.library.inc |
| 0360 | 6c 75 64 65 73 20 6d 65 74 68 6f 64 73 20 66 6f 72 20 63 6f 6e 73 74 72 75 63 74 69 6e 67 20 67 | ludes.methods.for.constructing.g |
| 0380 | 72 61 70 68 73 2c 20 42 46 53 20 61 6e 64 20 44 46 53 20 74 72 61 76 65 72 73 61 6c 73 2c 0a 74 | raphs,.BFS.and.DFS.traversals,.t |
| 03a0 | 6f 70 6f 6c 6f 67 69 63 61 6c 20 73 6f 72 74 2c 20 66 69 6e 64 69 6e 67 20 63 6f 6e 6e 65 63 74 | opological.sort,.finding.connect |
| 03c0 | 65 64 20 63 6f 6d 70 6f 6e 65 6e 74 73 2c 20 73 68 6f 72 74 65 73 74 20 70 61 74 68 73 20 61 73 | ed.components,.shortest.paths.as |
| 03e0 | 20 77 65 6c 6c 20 61 73 20 61 0a 6e 75 6d 62 65 72 20 67 72 61 70 68 20 73 74 61 74 69 73 74 69 | .well.as.a.number.graph.statisti |
| 0400 | 63 73 20 66 75 6e 63 74 69 6f 6e 73 2e 20 54 68 65 20 6c 69 62 72 61 72 79 20 63 61 6e 20 61 6c | cs.functions..The.library.can.al |
| 0420 | 73 6f 20 76 69 73 75 61 6c 69 7a 65 20 67 72 61 70 68 73 0a 76 69 61 20 60 67 72 61 70 68 76 69 | so.visualize.graphs.via.`graphvi |
| 0440 | 7a 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 72 65 73 65 61 72 63 68 2e 61 74 74 2e 63 6f 6d 2f 73 | z.<http://www.research.att.com/s |
| 0460 | 77 2f 74 6f 6f 6c 73 2f 67 72 61 70 68 76 69 7a 2f 3e 60 5f 2e 0a 0a 54 68 65 20 70 61 63 6b 61 | w/tools/graphviz/>`_...The.packa |
| 0480 | 67 65 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6d 6f 64 75 6c 65 | ge.contains.the.following.module |
| 04a0 | 73 3a 0a 0a 20 20 20 20 2d 20 20 74 68 65 20 3a 70 79 3a 6d 6f 64 3a 60 61 6c 74 67 72 61 70 68 | s:......-..the.:py:mod:`altgraph |
| 04c0 | 2e 47 72 61 70 68 60 20 6d 6f 64 75 6c 65 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 0a 20 20 20 20 | .Graph`.module.contains.the..... |
| 04e0 | 20 20 20 3a 63 6c 61 73 73 3a 60 7e 61 6c 74 67 72 61 70 68 2e 47 72 61 70 68 2e 47 72 61 70 68 | ...:class:`~altgraph.Graph.Graph |
| 0500 | 60 20 63 6c 61 73 73 20 74 68 61 74 20 73 74 6f 72 65 73 20 74 68 65 20 67 72 61 70 68 20 64 61 | `.class.that.stores.the.graph.da |
| 0520 | 74 61 0a 0a 20 20 20 20 2d 20 20 74 68 65 20 3a 70 79 3a 6d 6f 64 3a 60 61 6c 74 67 72 61 70 68 | ta......-..the.:py:mod:`altgraph |
| 0540 | 2e 47 72 61 70 68 41 6c 67 6f 60 20 6d 6f 64 75 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 67 72 | .GraphAlgo`.module.implements.gr |
| 0560 | 61 70 68 20 61 6c 67 6f 72 69 74 68 6d 73 0a 20 20 20 20 20 20 20 6f 70 65 72 61 74 69 6e 67 20 | aph.algorithms........operating. |
| 0580 | 6f 6e 20 67 72 61 70 68 73 20 28 3a 70 79 3a 63 6c 61 73 73 3a 60 7e 61 6c 74 67 72 61 70 68 2e | on.graphs.(:py:class:`~altgraph. |
| 05a0 | 47 72 61 70 68 2e 47 72 61 70 68 60 7d 20 69 6e 73 74 61 6e 63 65 73 29 0a 0a 20 20 20 20 2d 20 | Graph.Graph`}.instances)......-. |
| 05c0 | 20 74 68 65 20 3a 70 79 3a 6d 6f 64 3a 60 61 6c 74 67 72 61 70 68 2e 47 72 61 70 68 53 74 61 74 | .the.:py:mod:`altgraph.GraphStat |
| 05e0 | 60 20 6d 6f 64 75 6c 65 20 63 6f 6e 74 61 69 6e 73 20 66 75 6e 63 74 69 6f 6e 73 20 66 6f 72 0a | `.module.contains.functions.for. |
| 0600 | 20 20 20 20 20 20 20 63 6f 6d 70 75 74 69 6e 67 20 73 74 61 74 69 73 74 69 63 61 6c 20 6d 65 61 | .......computing.statistical.mea |
| 0620 | 73 75 72 65 73 20 6f 6e 20 67 72 61 70 68 73 0a 0a 20 20 20 20 2d 20 20 74 68 65 20 3a 70 79 3a | sures.on.graphs......-..the.:py: |
| 0640 | 6d 6f 64 3a 60 61 6c 74 67 72 61 70 68 2e 47 72 61 70 68 55 74 69 6c 60 20 6d 6f 64 75 6c 65 20 | mod:`altgraph.GraphUtil`.module. |
| 0660 | 63 6f 6e 74 61 69 6e 73 20 66 75 6e 63 74 69 6f 6e 73 20 66 6f 72 0a 20 20 20 20 20 20 20 67 65 | contains.functions.for........ge |
| 0680 | 6e 65 72 61 74 69 6e 67 2c 20 72 65 61 64 69 6e 67 20 61 6e 64 20 73 61 76 69 6e 67 20 67 72 61 | nerating,.reading.and.saving.gra |
| 06a0 | 70 68 73 0a 0a 20 20 20 20 2d 20 20 74 68 65 20 3a 70 79 3a 6d 6f 64 3a 60 61 6c 74 67 72 61 70 | phs......-..the.:py:mod:`altgrap |
| 06c0 | 68 2e 44 6f 74 60 20 6d 6f 64 75 6c 65 20 20 63 6f 6e 74 61 69 6e 73 20 66 75 6e 63 74 69 6f 6e | h.Dot`.module..contains.function |
| 06e0 | 73 20 66 6f 72 20 64 69 73 70 6c 61 79 69 6e 67 0a 20 20 20 20 20 20 20 67 72 61 70 68 73 20 76 | s.for.displaying........graphs.v |
| 0700 | 69 61 20 60 67 72 61 70 68 76 69 7a 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 72 65 73 65 61 72 63 | ia.`graphviz.<http://www.researc |
| 0720 | 68 2e 61 74 74 2e 63 6f 6d 2f 73 77 2f 74 6f 6f 6c 73 2f 67 72 61 70 68 76 69 7a 2f 3e 60 5f 0a | h.att.com/sw/tools/graphviz/>`_. |
| 0740 | 0a 20 20 20 20 2d 20 20 74 68 65 20 3a 70 79 3a 6d 6f 64 3a 60 61 6c 74 67 72 61 70 68 2e 4f 62 | .....-..the.:py:mod:`altgraph.Ob |
| 0760 | 6a 65 63 74 47 72 61 70 68 60 20 6d 6f 64 75 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20 61 20 67 | jectGraph`.module.implements.a.g |
| 0780 | 72 61 70 68 20 6f 66 0a 20 20 20 20 20 20 20 6f 62 6a 65 63 74 73 20 77 69 74 68 20 61 20 75 6e | raph.of........objects.with.a.un |
| 07a0 | 69 71 75 65 20 69 64 65 6e 74 69 66 69 65 72 0a 0a 49 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 2d 2d | ique.identifier..Installation.-- |
| 07c0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 44 6f 77 6e 6c 6f 61 64 20 61 6e 64 20 75 6e 70 61 63 6b 20 | ----------..Download.and.unpack. |
| 07e0 | 74 68 65 20 61 72 63 68 69 76 65 20 74 68 65 6e 20 74 79 70 65 3a 3a 0a 0a 20 20 20 20 70 79 74 | the.archive.then.type::......pyt |
| 0800 | 68 6f 6e 20 73 65 74 75 70 2e 70 79 20 69 6e 73 74 61 6c 6c 0a 0a 54 68 69 73 20 77 69 6c 6c 20 | hon.setup.py.install..This.will. |
| 0820 | 69 6e 73 74 61 6c 6c 20 74 68 65 20 6c 69 62 72 61 72 79 20 69 6e 20 74 68 65 20 64 65 66 61 75 | install.the.library.in.the.defau |
| 0840 | 6c 74 20 6c 6f 63 61 74 69 6f 6e 2e 20 46 6f 72 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 20 6f 6e | lt.location..For.instructions.on |
| 0860 | 0a 68 6f 77 20 74 6f 20 63 75 73 74 6f 6d 69 7a 65 20 74 68 65 20 69 6e 73 74 61 6c 6c 20 70 72 | .how.to.customize.the.install.pr |
| 0880 | 6f 63 65 64 75 72 65 20 72 65 61 64 20 74 68 65 20 6f 75 74 70 75 74 20 6f 66 3a 3a 0a 0a 20 20 | ocedure.read.the.output.of::.... |
| 08a0 | 20 20 70 79 74 68 6f 6e 20 73 65 74 75 70 2e 70 79 20 2d 2d 68 65 6c 70 20 69 6e 73 74 61 6c 6c | ..python.setup.py.--help.install |
| 08c0 | 0a 0a 54 6f 20 76 65 72 69 66 79 20 74 68 61 74 20 74 68 65 20 63 6f 64 65 20 77 6f 72 6b 73 20 | ..To.verify.that.the.code.works. |
| 08e0 | 72 75 6e 20 74 68 65 20 74 65 73 74 20 73 75 69 74 65 3a 3a 0a 0a 20 20 20 20 70 79 74 68 6f 6e | run.the.test.suite::......python |
| 0900 | 20 73 65 74 75 70 2e 70 79 20 74 65 73 74 0a 0a 45 78 61 6d 70 6c 65 20 75 73 61 67 65 0a 2d 2d | .setup.py.test..Example.usage.-- |
| 0920 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 4c 65 74 73 20 61 73 73 75 6d 65 20 74 68 61 74 20 77 65 | -----------..Lets.assume.that.we |
| 0940 | 20 77 61 6e 74 20 74 6f 20 61 6e 61 6c 79 7a 65 20 74 68 65 20 67 72 61 70 68 20 62 65 6c 6f 77 | .want.to.analyze.the.graph.below |
| 0960 | 20 28 6c 69 6e 6b 73 20 74 6f 20 74 68 65 20 66 75 6c 6c 20 70 69 63 74 75 72 65 29 0a 47 52 41 | .(links.to.the.full.picture).GRA |
| 0980 | 50 48 5f 49 4d 47 2e 20 20 4f 75 72 20 73 63 72 69 70 74 20 74 68 65 6e 20 6d 69 67 68 74 20 6c | PH_IMG...Our.script.then.might.l |
| 09a0 | 6f 6f 6b 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 77 61 79 3a 3a 0a 0a 20 20 20 20 66 72 6f | ook.the.following.way::......fro |
| 09c0 | 6d 20 61 6c 74 67 72 61 70 68 20 69 6d 70 6f 72 74 20 47 72 61 70 68 2c 20 47 72 61 70 68 41 6c | m.altgraph.import.Graph,.GraphAl |
| 09e0 | 67 6f 2c 20 44 6f 74 0a 0a 20 20 20 20 23 20 74 68 65 73 65 20 61 72 65 20 74 68 65 20 65 64 67 | go,.Dot......#.these.are.the.edg |
| 0a00 | 65 73 0a 20 20 20 20 65 64 67 65 73 20 3d 20 5b 20 28 31 2c 32 29 2c 20 28 32 2c 34 29 2c 20 28 | es.....edges.=.[.(1,2),.(2,4),.( |
| 0a20 | 31 2c 33 29 2c 20 28 32 2c 34 29 2c 20 28 33 2c 34 29 2c 20 28 34 2c 35 29 2c 20 28 36 2c 35 29 | 1,3),.(2,4),.(3,4),.(4,5),.(6,5) |
| 0a40 | 2c 0a 20 20 20 20 20 20 20 20 28 36 2c 31 34 29 2c 20 28 31 34 2c 31 35 29 2c 20 28 36 2c 20 31 | ,.........(6,14),.(14,15),.(6,.1 |
| 0a60 | 35 29 2c 20 20 28 35 2c 37 29 2c 20 28 37 2c 20 38 29 2c 20 28 37 2c 31 33 29 2c 20 28 31 32 2c | 5),..(5,7),.(7,.8),.(7,13),.(12, |
| 0a80 | 38 29 2c 0a 20 20 20 20 20 20 20 20 28 38 2c 31 33 29 2c 20 28 31 31 2c 31 32 29 2c 20 28 31 31 | 8),.........(8,13),.(11,12),.(11 |
| 0aa0 | 2c 39 29 2c 20 28 31 33 2c 31 31 29 2c 20 28 39 2c 31 33 29 2c 20 28 31 33 2c 31 30 29 20 5d 0a | ,9),.(13,11),.(9,13),.(13,10).]. |
| 0ac0 | 0a 20 20 20 20 23 20 63 72 65 61 74 65 73 20 74 68 65 20 67 72 61 70 68 0a 20 20 20 20 67 72 61 | .....#.creates.the.graph.....gra |
| 0ae0 | 70 68 20 3d 20 47 72 61 70 68 2e 47 72 61 70 68 28 29 0a 20 20 20 20 66 6f 72 20 68 65 61 64 2c | ph.=.Graph.Graph().....for.head, |
| 0b00 | 20 74 61 69 6c 20 69 6e 20 65 64 67 65 73 3a 0a 20 20 20 20 20 20 20 20 67 72 61 70 68 2e 61 64 | .tail.in.edges:.........graph.ad |
| 0b20 | 64 5f 65 64 67 65 28 68 65 61 64 2c 20 74 61 69 6c 29 0a 0a 20 20 20 20 23 20 64 6f 20 61 20 66 | d_edge(head,.tail)......#.do.a.f |
| 0b40 | 6f 72 77 61 72 64 20 62 66 73 20 66 72 6f 6d 20 31 20 61 74 20 6d 6f 73 74 20 74 6f 20 32 30 0a | orward.bfs.from.1.at.most.to.20. |
| 0b60 | 20 20 20 20 70 72 69 6e 74 28 67 72 61 70 68 2e 66 6f 72 77 5f 62 66 73 28 31 29 29 0a 0a 54 68 | ....print(graph.forw_bfs(1))..Th |
| 0b80 | 69 73 20 77 69 6c 6c 20 70 72 69 6e 74 20 74 68 65 20 6e 6f 64 65 73 20 69 6e 20 73 6f 6d 65 20 | is.will.print.the.nodes.in.some. |
| 0ba0 | 62 72 65 61 64 74 68 20 66 69 72 73 74 20 6f 72 64 65 72 3a 3a 0a 0a 20 20 20 20 5b 31 2c 20 32 | breadth.first.order::......[1,.2 |
| 0bc0 | 2c 20 33 2c 20 34 2c 20 35 2c 20 37 2c 20 38 2c 20 31 33 2c 20 31 31 2c 20 31 30 2c 20 31 32 2c | ,.3,.4,.5,.7,.8,.13,.11,.10,.12, |
| 0be0 | 20 39 5d 0a 0a 49 66 20 77 65 20 77 61 6e 74 65 64 20 74 6f 20 67 65 74 20 74 68 65 20 68 6f 70 | .9]..If.we.wanted.to.get.the.hop |
| 0c00 | 2d 64 69 73 74 61 6e 63 65 20 66 72 6f 6d 20 6e 6f 64 65 20 31 20 74 6f 20 6e 6f 64 65 20 38 0a | -distance.from.node.1.to.node.8. |
| 0c20 | 77 65 20 63 6f 75 64 20 77 72 69 74 65 3a 3a 0a 0a 20 20 20 20 70 72 69 6e 74 28 67 72 61 70 68 | we.coud.write::......print(graph |
| 0c40 | 2e 67 65 74 5f 68 6f 70 73 28 31 2c 20 38 29 29 0a 0a 54 68 69 73 20 77 69 6c 6c 20 70 72 69 6e | .get_hops(1,.8))..This.will.prin |
| 0c60 | 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 3a 0a 0a 20 20 20 20 5b 28 31 2c 20 30 29 2c 20 | t.the.following::......[(1,.0),. |
| 0c80 | 28 32 2c 20 31 29 2c 20 28 33 2c 20 31 29 2c 20 28 34 2c 20 32 29 2c 20 28 35 2c 20 33 29 2c 20 | (2,.1),.(3,.1),.(4,.2),.(5,.3),. |
| 0ca0 | 28 37 2c 20 34 29 2c 20 28 38 2c 20 35 29 5d 0a 0a 4e 6f 64 65 20 31 20 69 73 20 61 74 20 30 20 | (7,.4),.(8,.5)]..Node.1.is.at.0. |
| 0cc0 | 68 6f 70 73 20 73 69 6e 63 65 20 69 74 20 69 73 20 74 68 65 20 73 74 61 72 74 69 6e 67 20 6e 6f | hops.since.it.is.the.starting.no |
| 0ce0 | 64 65 2c 20 6e 6f 64 65 73 20 32 2c 33 20 61 72 65 20 31 20 68 6f 70 20 61 77 61 79 20 2e 2e 2e | de,.nodes.2,3.are.1.hop.away.... |
| 0d00 | 0a 6e 6f 64 65 20 38 20 69 73 20 35 20 68 6f 70 73 20 61 77 61 79 2e 20 54 6f 20 66 69 6e 64 20 | .node.8.is.5.hops.away..To.find. |
| 0d20 | 74 68 65 20 73 68 6f 72 74 65 73 74 20 64 69 73 74 61 6e 63 65 20 62 65 74 77 65 65 6e 20 74 77 | the.shortest.distance.between.tw |
| 0d40 | 6f 20 6e 6f 64 65 73 20 79 6f 75 0a 63 61 6e 20 75 73 65 3a 3a 0a 0a 20 20 20 20 70 72 69 6e 74 | o.nodes.you.can.use::......print |
| 0d60 | 28 47 72 61 70 68 41 6c 67 6f 2e 73 68 6f 72 74 65 73 74 5f 70 61 74 68 28 67 72 61 70 68 2c 20 | (GraphAlgo.shortest_path(graph,. |
| 0d80 | 31 2c 20 31 32 29 29 0a 0a 49 74 20 77 69 6c 6c 20 70 72 69 6e 74 20 74 68 65 20 6e 6f 64 65 73 | 1,.12))..It.will.print.the.nodes |
| 0da0 | 20 6f 6e 20 6f 6e 65 20 28 69 66 20 74 68 65 72 65 20 61 72 65 20 6d 6f 72 65 29 20 74 68 65 20 | .on.one.(if.there.are.more).the. |
| 0dc0 | 73 68 6f 72 74 65 73 74 20 70 61 74 68 73 3a 3a 0a 0a 20 20 20 20 5b 31 2c 20 32 2c 20 34 2c 20 | shortest.paths::......[1,.2,.4,. |
| 0de0 | 35 2c 20 37 2c 20 31 33 2c 20 31 31 2c 20 31 32 5d 0a 0a 54 6f 20 64 69 73 70 6c 61 79 20 74 68 | 5,.7,.13,.11,.12]..To.display.th |
| 0e00 | 65 20 67 72 61 70 68 20 77 65 20 63 61 6e 20 75 73 65 20 74 68 65 20 47 72 61 70 68 56 69 7a 20 | e.graph.we.can.use.the.GraphViz. |
| 0e20 | 62 61 63 6b 65 6e 64 3a 3a 0a 0a 20 20 20 20 64 6f 74 20 3d 20 44 6f 74 2e 44 6f 74 28 67 72 61 | backend::......dot.=.Dot.Dot(gra |
| 0e40 | 70 68 29 0a 0a 20 20 20 20 23 20 64 69 73 70 6c 61 79 20 74 68 65 20 67 72 61 70 68 20 6f 6e 20 | ph)......#.display.the.graph.on. |
| 0e60 | 74 68 65 20 6d 6f 6e 69 74 6f 72 0a 20 20 20 20 64 6f 74 2e 64 69 73 70 6c 61 79 28 29 0a 0a 20 | the.monitor.....dot.display()... |
| 0e80 | 20 20 20 23 20 73 61 76 65 20 69 74 20 69 6e 20 61 6e 20 69 6d 61 67 65 20 66 69 6c 65 0a 20 20 | ...#.save.it.in.an.image.file... |
| 0ea0 | 20 20 64 6f 74 2e 73 61 76 65 5f 69 6d 67 28 66 69 6c 65 5f 6e 61 6d 65 3d 27 67 72 61 70 68 27 | ..dot.save_img(file_name='graph' |
| 0ec0 | 2c 20 66 69 6c 65 5f 74 79 70 65 3d 27 67 69 66 27 29 0a 0a 0a 0a 2e 2e 0a 20 20 40 61 75 74 68 | ,.file_type='gif').........@auth |
| 0ee0 | 6f 72 3a 20 55 7b 49 73 74 76 61 6e 20 41 6c 62 65 72 74 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 70 | or:.U{Istvan.Albert<http://www.p |
| 0f00 | 65 72 73 6f 6e 61 6c 2e 70 73 75 2e 65 64 75 2f 73 74 61 66 66 2f 69 2f 75 2f 69 75 61 31 2f 3e | ersonal.psu.edu/staff/i/u/iua1/> |
| 0f20 | 7d 0a 0a 20 20 40 6c 69 63 65 6e 73 65 3a 20 20 4d 49 54 20 4c 69 63 65 6e 73 65 0a 0a 20 20 43 | }....@license:..MIT.License....C |
| 0f40 | 6f 70 79 72 69 67 68 74 20 28 63 29 20 32 30 30 34 20 49 73 74 76 61 6e 20 41 6c 62 65 72 74 20 | opyright.(c).2004.Istvan.Albert. |
| 0f60 | 75 6e 6c 65 73 73 20 6f 74 68 65 72 77 69 73 65 20 6e 6f 74 65 64 2e 0a 0a 20 20 50 65 72 6d 69 | unless.otherwise.noted.....Permi |
| 0f80 | 73 73 69 6f 6e 20 69 73 20 68 65 72 65 62 79 20 67 72 61 6e 74 65 64 2c 20 66 72 65 65 20 6f 66 | ssion.is.hereby.granted,.free.of |
| 0fa0 | 20 63 68 61 72 67 65 2c 20 74 6f 20 61 6e 79 20 70 65 72 73 6f 6e 20 6f 62 74 61 69 6e 69 6e 67 | .charge,.to.any.person.obtaining |
| 0fc0 | 20 61 20 63 6f 70 79 0a 20 20 6f 66 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 61 6e 64 20 61 | .a.copy...of.this.software.and.a |
| 0fe0 | 73 73 6f 63 69 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 69 6c 65 73 20 28 74 | ssociated.documentation.files.(t |
| 1000 | 68 65 20 22 53 6f 66 74 77 61 72 65 22 29 2c 20 74 6f 0a 20 20 64 65 61 6c 20 69 6e 20 74 68 65 | he."Software"),.to...deal.in.the |
| 1020 | 20 53 6f 66 74 77 61 72 65 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 2c 20 69 | .Software.without.restriction,.i |
| 1040 | 6e 63 6c 75 64 69 6e 67 20 77 69 74 68 6f 75 74 20 6c 69 6d 69 74 61 74 69 6f 6e 20 74 68 65 0a | ncluding.without.limitation.the. |
| 1060 | 20 20 72 69 67 68 74 73 20 74 6f 20 75 73 65 2c 20 63 6f 70 79 2c 20 6d 6f 64 69 66 79 2c 20 6d | ..rights.to.use,.copy,.modify,.m |
| 1080 | 65 72 67 65 2c 20 70 75 62 6c 69 73 68 2c 20 64 69 73 74 72 69 62 75 74 65 2c 20 73 75 62 6c 69 | erge,.publish,.distribute,.subli |
| 10a0 | 63 65 6e 73 65 2c 0a 20 20 61 6e 64 2f 6f 72 20 73 65 6c 6c 20 63 6f 70 69 65 73 20 6f 66 20 74 | cense,...and/or.sell.copies.of.t |
| 10c0 | 68 65 20 53 6f 66 74 77 61 72 65 2c 20 61 6e 64 20 74 6f 20 70 65 72 6d 69 74 20 70 65 72 73 6f | he.Software,.and.to.permit.perso |
| 10e0 | 6e 73 20 74 6f 20 77 68 6f 6d 20 74 68 65 0a 20 20 53 6f 66 74 77 61 72 65 20 69 73 20 66 75 72 | ns.to.whom.the...Software.is.fur |
| 1100 | 6e 69 73 68 65 64 20 74 6f 20 64 6f 20 73 6f 2e 0a 0a 20 20 54 48 45 20 53 4f 46 54 57 41 52 45 | nished.to.do.so.....THE.SOFTWARE |
| 1120 | 20 49 53 20 50 52 4f 56 49 44 45 44 20 22 41 53 20 49 53 22 2c 20 57 49 54 48 4f 55 54 20 57 41 | .IS.PROVIDED."AS.IS",.WITHOUT.WA |
| 1140 | 52 52 41 4e 54 59 20 4f 46 20 41 4e 59 20 4b 49 4e 44 2c 20 45 58 50 52 45 53 53 20 4f 52 0a 20 | RRANTY.OF.ANY.KIND,.EXPRESS.OR.. |
| 1160 | 20 49 4d 50 4c 49 45 44 2c 20 49 4e 43 4c 55 44 49 4e 47 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 | .IMPLIED,.INCLUDING.BUT.NOT.LIMI |
| 1180 | 54 45 44 20 54 4f 20 54 48 45 20 57 41 52 52 41 4e 54 49 45 53 20 4f 46 20 4d 45 52 43 48 41 4e | TED.TO.THE.WARRANTIES.OF.MERCHAN |
| 11a0 | 54 41 42 49 4c 49 54 59 2c 0a 20 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 | TABILITY,...FITNESS.FOR.A.PARTIC |
| 11c0 | 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 4e 44 20 4e 4f 4e 49 4e 46 52 49 4e 47 45 4d 45 4e 54 | ULAR.PURPOSE.AND.NONINFRINGEMENT |
| 11e0 | 2e 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 0a 20 20 41 55 54 48 4f 52 | ..IN.NO.EVENT.SHALL.THE...AUTHOR |
| 1200 | 53 20 4f 52 20 43 4f 50 59 52 49 47 48 54 20 48 4f 4c 44 45 52 53 20 42 45 20 4c 49 41 42 4c 45 | S.OR.COPYRIGHT.HOLDERS.BE.LIABLE |
| 1220 | 20 46 4f 52 20 41 4e 59 20 43 4c 41 49 4d 2c 20 44 41 4d 41 47 45 53 20 4f 52 20 4f 54 48 45 52 | .FOR.ANY.CLAIM,.DAMAGES.OR.OTHER |
| 1240 | 0a 20 20 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 49 4e 20 41 4e 20 41 43 54 49 | ...LIABILITY,.WHETHER.IN.AN.ACTI |
| 1260 | 4f 4e 20 4f 46 20 43 4f 4e 54 52 41 43 54 2c 20 54 4f 52 54 20 4f 52 20 4f 54 48 45 52 57 49 53 | ON.OF.CONTRACT,.TORT.OR.OTHERWIS |
| 1280 | 45 2c 20 41 52 49 53 49 4e 47 0a 20 20 46 52 4f 4d 2c 20 4f 55 54 20 4f 46 20 4f 52 20 49 4e 20 | E,.ARISING...FROM,.OUT.OF.OR.IN. |
| 12a0 | 43 4f 4e 4e 45 43 54 49 4f 4e 20 57 49 54 48 20 54 48 45 20 53 4f 46 54 57 41 52 45 20 4f 52 20 | CONNECTION.WITH.THE.SOFTWARE.OR. |
| 12c0 | 54 48 45 20 55 53 45 20 4f 52 20 4f 54 48 45 52 20 44 45 41 4c 49 4e 47 53 0a 20 20 49 4e 20 54 | THE.USE.OR.OTHER.DEALINGS...IN.T |
| 12e0 | 48 45 20 53 4f 46 54 57 41 52 45 2e 0a 20 20 40 72 65 71 75 69 72 65 73 3a 20 50 79 74 68 6f 6e | HE.SOFTWARE....@requires:.Python |
| 1300 | 20 32 2e 33 20 6f 72 20 68 69 67 68 65 72 0a 0a 20 20 40 6e 65 77 66 69 65 6c 64 20 63 6f 6e 74 | .2.3.or.higher....@newfield.cont |
| 1320 | 72 69 62 75 74 6f 72 3a 20 43 6f 6e 74 72 69 62 75 74 6f 72 73 3a 0a 20 20 40 63 6f 6e 74 72 69 | ributor:.Contributors:...@contri |
| 1340 | 62 75 74 6f 72 3a 20 55 7b 52 65 6b 61 20 41 6c 62 65 72 74 20 3c 68 74 74 70 3a 2f 2f 77 77 77 | butor:.U{Reka.Albert.<http://www |
| 1360 | 2e 70 68 79 73 2e 70 73 75 2e 65 64 75 2f 7e 72 61 6c 62 65 72 74 2f 3e 7d 0a 0a e9 00 00 00 00 | .phys.psu.edu/~ralbert/>}....... |
| 1380 | 4e 5a 08 61 6c 74 67 72 61 70 68 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 | NZ.altgraphc.................... |
| 13a0 | 40 00 00 00 73 0c 00 00 00 65 00 5a 01 64 00 5a 02 64 01 53 00 29 02 da 0a 47 72 61 70 68 45 72 | @...s....e.Z.d.Z.d.S.)...GraphEr |
| 13c0 | 72 6f 72 4e 29 03 da 08 5f 5f 6e 61 6d 65 5f 5f da 0a 5f 5f 6d 6f 64 75 6c 65 5f 5f da 0c 5f 5f | rorN)...__name__..__module__..__ |
| 13e0 | 71 75 61 6c 6e 61 6d 65 5f 5f a9 00 72 06 00 00 00 72 06 00 00 00 fa 56 63 3a 5c 75 73 65 72 73 | qualname__..r....r.....Vc:\users |
| 1400 | 5c 61 64 6d 6f 6e 5c 70 79 63 68 61 72 6d 70 72 6f 6a 65 63 74 73 5c 63 6f 64 69 6e 67 5f 63 6c | \admon\pycharmprojects\coding_cl |
| 1420 | 75 62 5c 76 65 6e 76 5c 4c 69 62 5c 73 69 74 65 2d 70 61 63 6b 61 67 65 73 5c 61 6c 74 67 72 61 | ub\venv\Lib\site-packages\altgra |
| 1440 | 70 68 2f 5f 5f 69 6e 69 74 5f 5f 2e 70 79 72 02 00 00 00 93 00 00 00 73 02 00 00 00 08 01 72 02 | ph/__init__.pyr........s......r. |
| 1460 | 00 00 00 29 07 da 07 5f 5f 64 6f 63 5f 5f da 0d 70 6b 67 5f 72 65 73 6f 75 72 63 65 73 da 07 72 | ...)...__doc__..pkg_resources..r |
| 1480 | 65 71 75 69 72 65 da 07 76 65 72 73 69 6f 6e da 0b 5f 5f 76 65 72 73 69 6f 6e 5f 5f da 0a 56 61 | equire..version..__version__..Va |
| 14a0 | 6c 75 65 45 72 72 6f 72 72 02 00 00 00 72 06 00 00 00 72 06 00 00 00 72 06 00 00 00 72 07 00 00 | lueErrorr....r....r....r....r... |
| 14c0 | 00 da 08 3c 6d 6f 64 75 6c 65 3e 01 00 00 00 73 08 00 00 00 04 7f 00 0e 08 02 10 03 | ...<module>....s............ |