memory-graph 0.3.39__tar.gz → 0.3.41__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {memory_graph-0.3.39/memory_graph.egg-info → memory_graph-0.3.41}/PKG-INFO +40 -15
- {memory_graph-0.3.39 → memory_graph-0.3.41}/README.md +39 -14
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/add_one.gv +18 -18
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/avltree_dir.gv +34 -36
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/avltree_key_value.gv +12 -12
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/avltree_leaf.gv +5 -5
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/avltree_linear.gv +12 -12
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/avltree_table.gv +12 -12
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/bin_search.gv +34 -34
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/bin_search_linear.gv +29 -29
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/bin_tree.gv +35 -35
- memory_graph-0.3.41/images/binary.gif +0 -0
- memory_graph-0.3.41/images/binary.py +13 -0
- memory_graph-0.3.41/images/binary.py~ +12 -0
- memory_graph-0.3.41/images/binary0.gv +22 -0
- memory_graph-0.3.41/images/binary0.png +0 -0
- memory_graph-0.3.41/images/binary1.gv +30 -0
- memory_graph-0.3.41/images/binary1.png +0 -0
- memory_graph-0.3.41/images/binary10.gv +62 -0
- memory_graph-0.3.41/images/binary10.png +0 -0
- memory_graph-0.3.41/images/binary11.gv +54 -0
- memory_graph-0.3.41/images/binary11.png +0 -0
- memory_graph-0.3.41/images/binary12.gv +46 -0
- memory_graph-0.3.41/images/binary12.png +0 -0
- memory_graph-0.3.41/images/binary13.gv +38 -0
- memory_graph-0.3.41/images/binary13.png +0 -0
- memory_graph-0.3.41/images/binary14.gv +30 -0
- memory_graph-0.3.41/images/binary14.png +0 -0
- memory_graph-0.3.41/images/binary2.gv +38 -0
- memory_graph-0.3.41/images/binary2.png +0 -0
- memory_graph-0.3.41/images/binary3.gv +46 -0
- memory_graph-0.3.41/images/binary3.png +0 -0
- memory_graph-0.3.41/images/binary4.gv +54 -0
- memory_graph-0.3.41/images/binary4.png +0 -0
- memory_graph-0.3.41/images/binary5.gv +62 -0
- memory_graph-0.3.41/images/binary5.png +0 -0
- memory_graph-0.3.41/images/binary6.gv +70 -0
- memory_graph-0.3.41/images/binary6.png +0 -0
- memory_graph-0.3.41/images/binary7.gv +78 -0
- memory_graph-0.3.41/images/binary7.png +0 -0
- memory_graph-0.3.41/images/binary8.gv +78 -0
- memory_graph-0.3.41/images/binary8.png +0 -0
- memory_graph-0.3.41/images/binary9.gv +70 -0
- memory_graph-0.3.41/images/binary9.png +0 -0
- memory_graph-0.3.41/images/cmp.sh +3 -0
- memory_graph-0.3.41/images/cmp.sh~ +1 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/copies.gv +20 -20
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/copy_method.gv +16 -16
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/create_images.sh +2 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/debugging0.gv +8 -8
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/debugging0.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/debugging01.gv +8 -8
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/debugging02.gv +11 -11
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/debugging03.gv +13 -13
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/debugging04.gv +15 -15
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/debugging05.gv +17 -17
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/debugging06.gv +17 -17
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/debugging1.gv +11 -11
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/debugging1.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/debugging2.gv +13 -13
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/debugging2.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/debugging3.gv +15 -15
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/debugging3.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/debugging4.gv +17 -17
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/debugging4.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/debugging5.gv +17 -17
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/debugging5.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/extension_numpy.gv +8 -8
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/extension_pandas.gv +8 -8
- memory_graph-0.3.41/images/factorial.gif +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/factorial.py +2 -2
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/factorial0.gv +3 -3
- memory_graph-0.3.41/images/factorial0.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/factorial1.gv +7 -7
- memory_graph-0.3.41/images/factorial1.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/factorial2.gv +10 -10
- memory_graph-0.3.41/images/factorial2.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/factorial3.gv +13 -13
- memory_graph-0.3.41/images/factorial3.png +0 -0
- memory_graph-0.3.39/images/factorial04.gv → memory_graph-0.3.41/images/factorial4.gv +19 -13
- memory_graph-0.3.41/images/factorial4.png +0 -0
- memory_graph-0.3.41/images/factorial5.gv +46 -0
- memory_graph-0.3.41/images/factorial5.png +0 -0
- memory_graph-0.3.39/images/factorial05.gv → memory_graph-0.3.41/images/factorial6.gv +19 -13
- memory_graph-0.3.41/images/factorial6.png +0 -0
- memory_graph-0.3.39/images/factorial4.gv → memory_graph-0.3.41/images/factorial7.gv +14 -14
- memory_graph-0.3.41/images/factorial7.png +0 -0
- memory_graph-0.3.39/images/factorial5.gv → memory_graph-0.3.41/images/factorial8.gv +11 -11
- memory_graph-0.3.41/images/factorial8.png +0 -0
- memory_graph-0.3.39/images/factorial6.gv → memory_graph-0.3.41/images/factorial9.gv +8 -8
- memory_graph-0.3.41/images/factorial9.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/hash_set.gv +29 -29
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/highlight.gv +16 -16
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/highlight.py +1 -1
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/immutable1.gv +4 -4
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/immutable2.gv +6 -6
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/introspect_depth.gv +56 -56
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/linked_list.gv +20 -20
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/many_types.gv +12 -12
- memory_graph-0.3.41/images/memory_graph.gv +30 -0
- memory_graph-0.3.41/images/memory_graph.pdf +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/mutable1.gv +4 -4
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/mutable2.gv +4 -4
- memory_graph-0.3.41/images/name_rebinding.py~ +7 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/not_node_types1.gv +6 -6
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/not_node_types2.gv +16 -16
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set0.gv +11 -11
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set0.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set1.gv +17 -17
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set1.png +0 -0
- memory_graph-0.3.39/images/power_set13.gv → memory_graph-0.3.41/images/power_set10.gv +37 -37
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set10.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set11.gv +31 -31
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set11.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set12.gv +31 -31
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set12.png +0 -0
- memory_graph-0.3.39/images/power_set10.gv → memory_graph-0.3.41/images/power_set13.gv +37 -37
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set13.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set14.gv +41 -41
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set14.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set15.gv +43 -43
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set15.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set16.gv +40 -40
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set16.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set17.gv +40 -40
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set17.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set18.gv +45 -45
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set18.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set19.gv +47 -47
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set19.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set2.gv +22 -22
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set2.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set20.gv +44 -44
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set20.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set21.gv +39 -39
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set21.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set22.gv +34 -34
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set22.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set23.gv +28 -28
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set23.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set3.gv +27 -27
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set3.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set4.gv +32 -32
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set4.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set5.gv +34 -34
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set5.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set6.gv +32 -32
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set6.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set7.gv +32 -32
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set7.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set8.gv +37 -37
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set8.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set9.gv +39 -39
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set9.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/rebinding1.gv +4 -4
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/rebinding2.gv +6 -6
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/__init__.py +27 -27
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/config.py +1 -1
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/config_helpers.py +8 -8
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/node_key_value.py +1 -1
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/node_linear.py +1 -1
- memory_graph-0.3.41/memory_graph/t.py +6 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41/memory_graph.egg-info}/PKG-INFO +40 -15
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph.egg-info/SOURCES.txt +43 -43
- {memory_graph-0.3.39 → memory_graph-0.3.41}/pyproject.toml +1 -1
- memory_graph-0.3.39/images/-0 +0 -0
- memory_graph-0.3.39/images/.gif +0 -0
- memory_graph-0.3.39/images/.idea/.gitignore +0 -8
- memory_graph-0.3.39/images/.idea/images.iml +0 -12
- memory_graph-0.3.39/images/.idea/inspectionProfiles/profiles_settings.xml +0 -6
- memory_graph-0.3.39/images/.idea/misc.xml +0 -7
- memory_graph-0.3.39/images/.idea/modules.xml +0 -8
- memory_graph-0.3.39/images/.idea/vcs.xml +0 -6
- memory_graph-0.3.39/images/.idea/workspace.xml +0 -83
- memory_graph-0.3.39/images/avltree.py~ +0 -41
- memory_graph-0.3.39/images/avltree_fail.gv +0 -22
- memory_graph-0.3.39/images/bin_search.py~ +0 -42
- memory_graph-0.3.39/images/bin_search_linear.py~ +0 -42
- memory_graph-0.3.39/images/bin_tree2.py +0 -31
- memory_graph-0.3.39/images/bin_tree2.py~ +0 -31
- memory_graph-0.3.39/images/call_stack.txt +0 -24
- memory_graph-0.3.39/images/debug.gv +0 -15
- memory_graph-0.3.39/images/debug.pdf +0 -0
- memory_graph-0.3.39/images/depth.gv +0 -178
- memory_graph-0.3.39/images/depth.png +0 -0
- memory_graph-0.3.39/images/factorial.gif +0 -0
- memory_graph-0.3.39/images/factorial0.png +0 -0
- memory_graph-0.3.39/images/factorial01.gv +0 -15
- memory_graph-0.3.39/images/factorial02.gv +0 -22
- memory_graph-0.3.39/images/factorial03.gv +0 -28
- memory_graph-0.3.39/images/factorial06.gv +0 -29
- memory_graph-0.3.39/images/factorial07.gv +0 -23
- memory_graph-0.3.39/images/factorial1.png +0 -0
- memory_graph-0.3.39/images/factorial2.png +0 -0
- memory_graph-0.3.39/images/factorial3.png +0 -0
- memory_graph-0.3.39/images/factorial4.png +0 -0
- memory_graph-0.3.39/images/factorial5.png +0 -0
- memory_graph-0.3.39/images/factorial6.png +0 -0
- memory_graph-0.3.39/images/hidden_edges.gv +0 -37
- memory_graph-0.3.39/images/hidden_edges.py +0 -8
- memory_graph-0.3.39/images/hidden_edges.py~ +0 -9
- memory_graph-0.3.39/images/introspect_depth.py~ +0 -26
- memory_graph-0.3.39/images/log.txt +0 -186
- memory_graph-0.3.39/images/memory_graph.gv +0 -43
- memory_graph-0.3.39/images/memory_graph.gv.pdf +0 -0
- memory_graph-0.3.39/images/memory_graph.pdf +0 -0
- memory_graph-0.3.39/images/my_graph.gv +0 -31
- memory_graph-0.3.39/images/my_graph.pdf +0 -0
- memory_graph-0.3.39/images/not_node_types.py~ +0 -9
- memory_graph-0.3.39/images/power_set19.png~ +0 -0
- memory_graph-0.3.39/images/power_set8.png~ +0 -0
- memory_graph-0.3.39/images/stack.txt +0 -24
- memory_graph-0.3.39/images/test.py +0 -20
- memory_graph-0.3.39/images/test.py~ +0 -18
- memory_graph-0.3.39/images/vsc.py +0 -42
- memory_graph-0.3.39/setup.py +0 -7
- {memory_graph-0.3.39 → memory_graph-0.3.41}/LICENSE.txt +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/MANIFEST.in +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/add_one.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/add_one.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/avltree.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/avltree_dir.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/avltree_fail.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/avltree_key_value.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/avltree_leaf.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/avltree_linear.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/avltree_table.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/bin_search.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/bin_search.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/bin_search_linear.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/bin_tree.gif +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/bin_tree.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/bin_tree.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/colab_example.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/copies.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/copies.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/copy_method.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/copy_method.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/create_gif.sh +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/debug_vscode.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/debugging.gif +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/debugging.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/extension_numpy.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/extension_numpy.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/extension_pandas.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/extension_pandas.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/hash_set.gif +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/hash_set.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/hash_set.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/hidden_edges.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/highlight.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/immutable.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/immutable1.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/immutable2.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/introspect_depth.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/introspect_depth.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/ipython.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/jupyter_example.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/linked_list.gif +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/linked_list.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/linked_list.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/many_types.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/many_types.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/mutable.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/mutable1.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/mutable2.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/name_rebinding.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/not_node_types.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/not_node_types1.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/not_node_types2.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set.gif +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/power_set.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/pyodide.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/rebinding1.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/rebinding2.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/uva.png +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/images/vscode_copying.gif +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/call_stack.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/config_default.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/extension_numpy.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/extension_pandas.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/html_table.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/list_view.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/memory_to_nodes.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/node_base.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/node_leaf.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/node_table.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/sequence.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/slicer.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/slices.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/slices_iterator.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/slices_table_iterator.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/test.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/test_max_graph_depth.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/test_memory_graph.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/test_memory_to_nodes.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/test_sequence.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/test_slicer.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/test_slices.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/test_slices_iterator.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph/utils.py +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph.egg-info/dependency_links.txt +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph.egg-info/requires.txt +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/memory_graph.egg-info/top_level.txt +0 -0
- {memory_graph-0.3.39 → memory_graph-0.3.41}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: memory_graph
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.41
|
|
4
4
|
Summary: Teaching tool and debugging aid in context of references, mutable data types, and shallow and deep copy.
|
|
5
5
|
Author-email: Bas Terwijn <bterwijn@gmail.com>
|
|
6
6
|
License-Expression: BSD-2-Clause
|
|
@@ -25,8 +25,11 @@ pip install --upgrade memory_graph
|
|
|
25
25
|
```
|
|
26
26
|
Additionally [Graphviz](https://graphviz.org/download/) needs to be installed.
|
|
27
27
|
|
|
28
|
-
#
|
|
28
|
+
# Highlights #
|
|
29
29
|

|
|
30
|
+
- learn the right **mental model** to think about Python data (references, mutability, shallow vs deep copy)
|
|
31
|
+
- **visualize the structure of your data** to easily understand and debug any data structure
|
|
32
|
+
- understand function calls, variable scope, and the **complete program state** through call stack visualization
|
|
30
33
|
|
|
31
34
|
# Videos #
|
|
32
35
|
| [](https://www.youtube.com/watch?v=23_bHcr7hqo) | [](https://www.youtube.com/watch?v=pvIJgHCaXhU) |
|
|
@@ -146,7 +149,7 @@ ___
|
|
|
146
149
|
___
|
|
147
150
|
|
|
148
151
|
# Python Data Model #
|
|
149
|
-
The [Python Data Model](https://docs.python.org/3/reference/datamodel.html) makes a distiction between immutable and mutable types:
|
|
152
|
+
Learn the right **mental model** to think about Python data. The [Python Data Model](https://docs.python.org/3/reference/datamodel.html) makes a distiction between immutable and mutable types:
|
|
150
153
|
|
|
151
154
|
* **immutable**: bool, int, float, complex, str, tuple, bytes, frozenset
|
|
152
155
|
* **mutable**: list, set, dict, classes, ... (most other types)
|
|
@@ -258,7 +261,7 @@ mg.render(locals(), 'rebinding2.png')
|
|
|
258
261
|
| rebinding1.png | rebinding2.png |
|
|
259
262
|
|
|
260
263
|
# Call Stack #
|
|
261
|
-
The `mg.stack()` function retrieves the entire call stack, including the local variables for each function on the stack. This enables us to
|
|
264
|
+
The `mg.stack()` function retrieves the entire call stack, including the local variables for each function on the stack. This enables us to understand function calls, variable scope, and the **complete program state** through call stack visualization. By examining the graph, we can determine whether any local variables from different functions share data. For instance, consider the function `add_one()` which adds the value `1` to each of its parameters `a`, `b`, and `c`.
|
|
262
265
|
|
|
263
266
|
```python
|
|
264
267
|
import memory_graph as mg
|
|
@@ -299,28 +302,50 @@ This function:
|
|
|
299
302
|
* finally returns the value of the `fun()` call
|
|
300
303
|
|
|
301
304
|
## Recursion ##
|
|
302
|
-
The call stack is also helpful to visualize how recursion works. Here we use `mg.block()` to show each step of how recursively
|
|
305
|
+
The call stack is also helpful to visualize how recursion works. Here we use `mg.block()` to show each step of how recursively `factorial(4)` is computed:
|
|
303
306
|
|
|
304
307
|
```python
|
|
305
308
|
import memory_graph as mg
|
|
306
309
|
|
|
307
310
|
def factorial(n):
|
|
311
|
+
mg.block(mg.show, mg.stack())
|
|
308
312
|
if n==0:
|
|
309
313
|
return 1
|
|
310
|
-
mg.block(mg.show, mg.stack())
|
|
311
314
|
result = n * factorial(n-1)
|
|
312
315
|
mg.block(mg.show, mg.stack())
|
|
313
316
|
return result
|
|
314
317
|
|
|
315
|
-
print(factorial(
|
|
318
|
+
print( factorial(4) )
|
|
316
319
|
```
|
|
317
320
|
|
|
318
321
|

|
|
319
322
|
|
|
320
|
-
and the result is: 1 x 2 x 3 =
|
|
323
|
+
and the result is: 1 x 2 x 3 x 4 = 24
|
|
324
|
+
|
|
325
|
+
## Binary ##
|
|
326
|
+
A more interesting recursive example is function `binary()` that converts an integer to binary representation.
|
|
327
|
+
```python
|
|
328
|
+
import memory_graph as mg
|
|
329
|
+
mg.config.type_to_vertical[list] = False # horizontal lists
|
|
330
|
+
|
|
331
|
+
def binary(value: int) -> list[int]:
|
|
332
|
+
mg.block(mg.show(), mg.stack())
|
|
333
|
+
if value == 0:
|
|
334
|
+
return []
|
|
335
|
+
quotient, remainder = divmod(value, 2)
|
|
336
|
+
result = binary(quotient) + [remainder]
|
|
337
|
+
mg.block(mg.show(), mg.stack())
|
|
338
|
+
return result
|
|
339
|
+
|
|
340
|
+
print( binary(100) )
|
|
341
|
+
```
|
|
342
|
+

|
|
343
|
+
```
|
|
344
|
+
1100100
|
|
345
|
+
```
|
|
321
346
|
|
|
322
347
|
## Power Set ##
|
|
323
|
-
A more
|
|
348
|
+
A more complex recursive example is function `power_set()` where lists are shared by different function calls. A power set is the set of all subsets of a collection of values.
|
|
324
349
|
|
|
325
350
|
```python
|
|
326
351
|
import memory_graph as mg
|
|
@@ -421,7 +446,7 @@ and pressing <Enter> a number of times, results in:
|
|
|
421
446
|

|
|
422
447
|
|
|
423
448
|
# Data Structure Examples #
|
|
424
|
-
Package memory_graph can
|
|
449
|
+
Package memory_graph can **visualize the structure of your data** to easily understand and debug data structures, some examples:
|
|
425
450
|
|
|
426
451
|
## Circular Doubly Linked List ##
|
|
427
452
|
```python
|
|
@@ -547,7 +572,7 @@ Here we show values being inserted in a HashSet in PyCharm. When inserting the l
|
|
|
547
572
|
# Configuration #
|
|
548
573
|
Different aspects of memory_graph can be configured. The default configuration can be reset by calling 'mg.config_default.reset()'.
|
|
549
574
|
|
|
550
|
-
- ***mg.reopen_viewer*** : bool
|
|
575
|
+
- ***mg.config.reopen_viewer*** : bool
|
|
551
576
|
- If True the viewer is reopened each time show() is called, this might change window focus, default True.
|
|
552
577
|
|
|
553
578
|
- ***mg.config.render_filename*** : str
|
|
@@ -574,7 +599,7 @@ Different aspects of memory_graph can be configured. The default configuration c
|
|
|
574
599
|
- ***mg.config.type_to_color*** : dict[type, color]
|
|
575
600
|
- Maps a type to the [graphviz color](https://graphviz.org/doc/info/colors.html) it gets in the graph.
|
|
576
601
|
|
|
577
|
-
- ***mg.config.
|
|
602
|
+
- ***mg.config.type_to_vertical*** : dict[type, bool]
|
|
578
603
|
- Maps a type to its orientation. Use 'True' for vertical and 'False' for horizontal. If not specified Node_Linear and Node_Key_Value are vertical unless they have references to children.
|
|
579
604
|
|
|
580
605
|
- ***mg.config.type_to_slicer*** : dict[type, int]
|
|
@@ -625,9 +650,9 @@ data = [ list(range(20)) for i in range(1,5)]
|
|
|
625
650
|
highlight = data[2]
|
|
626
651
|
|
|
627
652
|
mg.show( locals(),
|
|
628
|
-
colors
|
|
629
|
-
|
|
630
|
-
slicers
|
|
653
|
+
colors = {id(highlight): "red" }, # set color to red
|
|
654
|
+
verticals = {id(highlight): False }, # set horizontal orientation
|
|
655
|
+
slicers = {id(highlight): Slicer()} # set no slicing
|
|
631
656
|
)
|
|
632
657
|
```
|
|
633
658
|

|
|
@@ -5,8 +5,11 @@ pip install --upgrade memory_graph
|
|
|
5
5
|
```
|
|
6
6
|
Additionally [Graphviz](https://graphviz.org/download/) needs to be installed.
|
|
7
7
|
|
|
8
|
-
#
|
|
8
|
+
# Highlights #
|
|
9
9
|

|
|
10
|
+
- learn the right **mental model** to think about Python data (references, mutability, shallow vs deep copy)
|
|
11
|
+
- **visualize the structure of your data** to easily understand and debug any data structure
|
|
12
|
+
- understand function calls, variable scope, and the **complete program state** through call stack visualization
|
|
10
13
|
|
|
11
14
|
# Videos #
|
|
12
15
|
| [](https://www.youtube.com/watch?v=23_bHcr7hqo) | [](https://www.youtube.com/watch?v=pvIJgHCaXhU) |
|
|
@@ -126,7 +129,7 @@ ___
|
|
|
126
129
|
___
|
|
127
130
|
|
|
128
131
|
# Python Data Model #
|
|
129
|
-
The [Python Data Model](https://docs.python.org/3/reference/datamodel.html) makes a distiction between immutable and mutable types:
|
|
132
|
+
Learn the right **mental model** to think about Python data. The [Python Data Model](https://docs.python.org/3/reference/datamodel.html) makes a distiction between immutable and mutable types:
|
|
130
133
|
|
|
131
134
|
* **immutable**: bool, int, float, complex, str, tuple, bytes, frozenset
|
|
132
135
|
* **mutable**: list, set, dict, classes, ... (most other types)
|
|
@@ -238,7 +241,7 @@ mg.render(locals(), 'rebinding2.png')
|
|
|
238
241
|
| rebinding1.png | rebinding2.png |
|
|
239
242
|
|
|
240
243
|
# Call Stack #
|
|
241
|
-
The `mg.stack()` function retrieves the entire call stack, including the local variables for each function on the stack. This enables us to
|
|
244
|
+
The `mg.stack()` function retrieves the entire call stack, including the local variables for each function on the stack. This enables us to understand function calls, variable scope, and the **complete program state** through call stack visualization. By examining the graph, we can determine whether any local variables from different functions share data. For instance, consider the function `add_one()` which adds the value `1` to each of its parameters `a`, `b`, and `c`.
|
|
242
245
|
|
|
243
246
|
```python
|
|
244
247
|
import memory_graph as mg
|
|
@@ -279,28 +282,50 @@ This function:
|
|
|
279
282
|
* finally returns the value of the `fun()` call
|
|
280
283
|
|
|
281
284
|
## Recursion ##
|
|
282
|
-
The call stack is also helpful to visualize how recursion works. Here we use `mg.block()` to show each step of how recursively
|
|
285
|
+
The call stack is also helpful to visualize how recursion works. Here we use `mg.block()` to show each step of how recursively `factorial(4)` is computed:
|
|
283
286
|
|
|
284
287
|
```python
|
|
285
288
|
import memory_graph as mg
|
|
286
289
|
|
|
287
290
|
def factorial(n):
|
|
291
|
+
mg.block(mg.show, mg.stack())
|
|
288
292
|
if n==0:
|
|
289
293
|
return 1
|
|
290
|
-
mg.block(mg.show, mg.stack())
|
|
291
294
|
result = n * factorial(n-1)
|
|
292
295
|
mg.block(mg.show, mg.stack())
|
|
293
296
|
return result
|
|
294
297
|
|
|
295
|
-
print(factorial(
|
|
298
|
+
print( factorial(4) )
|
|
296
299
|
```
|
|
297
300
|
|
|
298
301
|

|
|
299
302
|
|
|
300
|
-
and the result is: 1 x 2 x 3 =
|
|
303
|
+
and the result is: 1 x 2 x 3 x 4 = 24
|
|
304
|
+
|
|
305
|
+
## Binary ##
|
|
306
|
+
A more interesting recursive example is function `binary()` that converts an integer to binary representation.
|
|
307
|
+
```python
|
|
308
|
+
import memory_graph as mg
|
|
309
|
+
mg.config.type_to_vertical[list] = False # horizontal lists
|
|
310
|
+
|
|
311
|
+
def binary(value: int) -> list[int]:
|
|
312
|
+
mg.block(mg.show(), mg.stack())
|
|
313
|
+
if value == 0:
|
|
314
|
+
return []
|
|
315
|
+
quotient, remainder = divmod(value, 2)
|
|
316
|
+
result = binary(quotient) + [remainder]
|
|
317
|
+
mg.block(mg.show(), mg.stack())
|
|
318
|
+
return result
|
|
319
|
+
|
|
320
|
+
print( binary(100) )
|
|
321
|
+
```
|
|
322
|
+

|
|
323
|
+
```
|
|
324
|
+
1100100
|
|
325
|
+
```
|
|
301
326
|
|
|
302
327
|
## Power Set ##
|
|
303
|
-
A more
|
|
328
|
+
A more complex recursive example is function `power_set()` where lists are shared by different function calls. A power set is the set of all subsets of a collection of values.
|
|
304
329
|
|
|
305
330
|
```python
|
|
306
331
|
import memory_graph as mg
|
|
@@ -401,7 +426,7 @@ and pressing <Enter> a number of times, results in:
|
|
|
401
426
|

|
|
402
427
|
|
|
403
428
|
# Data Structure Examples #
|
|
404
|
-
Package memory_graph can
|
|
429
|
+
Package memory_graph can **visualize the structure of your data** to easily understand and debug data structures, some examples:
|
|
405
430
|
|
|
406
431
|
## Circular Doubly Linked List ##
|
|
407
432
|
```python
|
|
@@ -527,7 +552,7 @@ Here we show values being inserted in a HashSet in PyCharm. When inserting the l
|
|
|
527
552
|
# Configuration #
|
|
528
553
|
Different aspects of memory_graph can be configured. The default configuration can be reset by calling 'mg.config_default.reset()'.
|
|
529
554
|
|
|
530
|
-
- ***mg.reopen_viewer*** : bool
|
|
555
|
+
- ***mg.config.reopen_viewer*** : bool
|
|
531
556
|
- If True the viewer is reopened each time show() is called, this might change window focus, default True.
|
|
532
557
|
|
|
533
558
|
- ***mg.config.render_filename*** : str
|
|
@@ -554,7 +579,7 @@ Different aspects of memory_graph can be configured. The default configuration c
|
|
|
554
579
|
- ***mg.config.type_to_color*** : dict[type, color]
|
|
555
580
|
- Maps a type to the [graphviz color](https://graphviz.org/doc/info/colors.html) it gets in the graph.
|
|
556
581
|
|
|
557
|
-
- ***mg.config.
|
|
582
|
+
- ***mg.config.type_to_vertical*** : dict[type, bool]
|
|
558
583
|
- Maps a type to its orientation. Use 'True' for vertical and 'False' for horizontal. If not specified Node_Linear and Node_Key_Value are vertical unless they have references to children.
|
|
559
584
|
|
|
560
585
|
- ***mg.config.type_to_slicer*** : dict[type, int]
|
|
@@ -605,9 +630,9 @@ data = [ list(range(20)) for i in range(1,5)]
|
|
|
605
630
|
highlight = data[2]
|
|
606
631
|
|
|
607
632
|
mg.show( locals(),
|
|
608
|
-
colors
|
|
609
|
-
|
|
610
|
-
slicers
|
|
633
|
+
colors = {id(highlight): "red" }, # set color to red
|
|
634
|
+
verticals = {id(highlight): False }, # set horizontal orientation
|
|
635
|
+
slicers = {id(highlight): Slicer()} # set no slicing
|
|
611
636
|
)
|
|
612
637
|
```
|
|
613
638
|

|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
digraph memory_graph {
|
|
2
2
|
node [shape=plaintext]
|
|
3
|
-
|
|
3
|
+
node126342197744192 [label=<
|
|
4
4
|
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="lightcoral" PORT="table">
|
|
5
5
|
<TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> 4 </TD></TR>
|
|
6
6
|
<TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> 3 </TD></TR>
|
|
@@ -8,30 +8,30 @@ digraph memory_graph {
|
|
|
8
8
|
<TR><TD BORDER="0"><font color="#505050">3</font></TD><TD BORDER="1"> 1 </TD></TR>
|
|
9
9
|
</TABLE>
|
|
10
10
|
> xlabel=list]
|
|
11
|
-
|
|
11
|
+
node126342187335232 [label=<
|
|
12
12
|
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="orange" PORT="table">
|
|
13
13
|
<TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> 4 </TD></TR>
|
|
14
14
|
<TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> 3 </TD></TR>
|
|
15
15
|
<TR><TD BORDER="0"><font color="#505050">2</font></TD><TD BORDER="1"> 2 </TD></TR>
|
|
16
16
|
</TABLE>
|
|
17
17
|
> xlabel=tuple]
|
|
18
|
-
|
|
18
|
+
node126342197742400 [label=<
|
|
19
19
|
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="lightcoral" PORT="table">
|
|
20
20
|
<TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> 4 </TD></TR>
|
|
21
21
|
<TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> 3 </TD></TR>
|
|
22
22
|
<TR><TD BORDER="0"><font color="#505050">2</font></TD><TD BORDER="1"> 2 </TD></TR>
|
|
23
23
|
</TABLE>
|
|
24
24
|
> xlabel=list]
|
|
25
|
-
|
|
25
|
+
node126342187215040 [label=<
|
|
26
26
|
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="#60a5ff" PORT="table">
|
|
27
27
|
<TR><TD BORDER="1" STYLE="ROUNDED"> a </TD><TD BORDER="1" STYLE="ROUNDED"> b </TD><TD BORDER="1" STYLE="ROUNDED"> c </TD></TR>
|
|
28
28
|
<TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1" PORT="ref1"> </TD><TD BORDER="1" PORT="ref2"> </TD></TR>
|
|
29
29
|
</TABLE>
|
|
30
30
|
> xlabel=dict]
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
31
|
+
node126342187215040:ref0 -> node126342197744192:table [style=solid]
|
|
32
|
+
node126342187215040:ref1 -> node126342187335232:table [style=solid]
|
|
33
|
+
node126342187215040:ref2 -> node126342197742400:table [style=solid]
|
|
34
|
+
node126342197725200 [label=<
|
|
35
35
|
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="orange" PORT="table">
|
|
36
36
|
<TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> 4 </TD></TR>
|
|
37
37
|
<TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> 3 </TD></TR>
|
|
@@ -39,7 +39,7 @@ digraph memory_graph {
|
|
|
39
39
|
<TR><TD BORDER="0"><font color="#505050">3</font></TD><TD BORDER="1"> 1 </TD></TR>
|
|
40
40
|
</TABLE>
|
|
41
41
|
> xlabel=tuple]
|
|
42
|
-
|
|
42
|
+
node126342187331776 [label=<
|
|
43
43
|
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="lightcoral" PORT="table">
|
|
44
44
|
<TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> 4 </TD></TR>
|
|
45
45
|
<TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> 3 </TD></TR>
|
|
@@ -47,23 +47,23 @@ digraph memory_graph {
|
|
|
47
47
|
<TR><TD BORDER="0"><font color="#505050">3</font></TD><TD BORDER="1"> 1 </TD></TR>
|
|
48
48
|
</TABLE>
|
|
49
49
|
> xlabel=list]
|
|
50
|
-
|
|
50
|
+
node126342184895424 [label=<
|
|
51
51
|
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="#60a5ff" PORT="table">
|
|
52
52
|
<TR><TD BORDER="1" STYLE="ROUNDED"> a </TD><TD BORDER="1" STYLE="ROUNDED"> b </TD><TD BORDER="1" STYLE="ROUNDED"> c </TD></TR>
|
|
53
53
|
<TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1" PORT="ref1"> </TD><TD BORDER="1" PORT="ref2"> </TD></TR>
|
|
54
54
|
</TABLE>
|
|
55
55
|
> xlabel=dict]
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
node126342184895424:ref0 -> node126342197744192:table [style=solid]
|
|
57
|
+
node126342184895424:ref1 -> node126342197725200:table [style=solid]
|
|
58
|
+
node126342184895424:ref2 -> node126342187331776:table [style=solid]
|
|
59
|
+
node126342184890960 [label=<
|
|
60
60
|
<TABLE BORDER="3" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="khaki" PORT="table">
|
|
61
61
|
<TR><TD BORDER="1" STYLE="ROUNDED"> 0: <module> </TD><TD BORDER="1" STYLE="ROUNDED"> 1: add_one </TD></TR>
|
|
62
62
|
<TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1" PORT="ref1"> </TD></TR>
|
|
63
63
|
</TABLE>
|
|
64
64
|
> xlabel=call_stack]
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
subgraph { rank=same;
|
|
68
|
-
subgraph { rank=same;
|
|
65
|
+
node126342184890960:ref0 -> node126342187215040:table [style=solid]
|
|
66
|
+
node126342184890960:ref1 -> node126342184895424:table [style=solid]
|
|
67
|
+
subgraph { rank=same; node126342187215040 -> node126342184895424[weight=10, style=invis]; }
|
|
68
|
+
subgraph { rank=same; node126342197744192 -> node126342187335232 -> node126342197742400 -> node126342197725200 -> node126342187331776[weight=10, style=invis]; }
|
|
69
69
|
}
|
|
@@ -1,57 +1,55 @@
|
|
|
1
1
|
digraph memory_graph {
|
|
2
2
|
node [shape=plaintext]
|
|
3
|
-
|
|
3
|
+
node130351336425488 [label=<
|
|
4
4
|
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
|
|
5
5
|
<TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> __class__ </TD></TR>
|
|
6
6
|
<TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> __delattr__ </TD></TR>
|
|
7
7
|
<TR><TD BORDER="0"><font color="#505050">2</font></TD><TD BORDER="1"> __dir__ </TD></TR>
|
|
8
8
|
<TR><TD BORDER="0"><font color="#505050">3</font></TD><TD BORDER="1"> __doc__ </TD></TR>
|
|
9
9
|
<TR><TD BORDER="0"><font color="#505050">4</font></TD><TD BORDER="1"> __eq__ </TD></TR>
|
|
10
|
-
<TR><TD BORDER="0"><font color="#505050">5</font></TD><TD BORDER="1">
|
|
11
|
-
<TR><TD BORDER="0"><font color="#505050">6</font></TD><TD BORDER="1">
|
|
12
|
-
<TR><TD BORDER="0"><font color="#505050">7</font></TD><TD BORDER="1">
|
|
13
|
-
<TR><TD BORDER="0"><font color="#505050">8</font></TD><TD BORDER="1">
|
|
14
|
-
<TR><TD BORDER="0"><font color="#505050">9</font></TD><TD BORDER="1">
|
|
15
|
-
<TR><TD BORDER="0"><font color="#505050">10</font></TD><TD BORDER="1">
|
|
16
|
-
<TR><TD BORDER="0"><font color="#505050">11</font></TD><TD BORDER="1">
|
|
17
|
-
<TR><TD BORDER="0"><font color="#505050">12</font></TD><TD BORDER="1">
|
|
18
|
-
<TR><TD BORDER="0"><font color="#505050">13</font></TD><TD BORDER="1">
|
|
19
|
-
<TR><TD BORDER="0"><font color="#505050">14</font></TD><TD BORDER="1">
|
|
20
|
-
<TR><TD BORDER="0"><font color="#505050">15</font></TD><TD BORDER="1">
|
|
21
|
-
<TR><TD BORDER="0"><font color="#505050">16</font></TD><TD BORDER="1">
|
|
22
|
-
<TR><TD BORDER="0"><font color="#505050">17</font></TD><TD BORDER="1">
|
|
23
|
-
<TR><TD BORDER="0"><font color="#505050">18</font></TD><TD BORDER="1">
|
|
24
|
-
<TR><TD BORDER="0"><font color="#505050">19</font></TD><TD BORDER="1">
|
|
25
|
-
<TR><TD BORDER="0"><font color="#505050">20</font></TD><TD BORDER="1">
|
|
26
|
-
<TR><TD BORDER="0"><font color="#505050">21</font></TD><TD BORDER="1">
|
|
27
|
-
<TR><TD BORDER="0"><font color="#505050">22</font></TD><TD BORDER="1">
|
|
28
|
-
<TR><TD BORDER="0"><font color="#505050">23</font></TD><TD BORDER="1">
|
|
29
|
-
<TR><TD BORDER="0"><font color="#505050">24</font></TD><TD BORDER="1">
|
|
30
|
-
<TR><TD BORDER="0"><font color="#505050">25</font></TD><TD BORDER="1">
|
|
31
|
-
<TR><TD BORDER="0"><font color="#505050">26</font></TD><TD BORDER="1">
|
|
32
|
-
<TR><TD BORDER="0"><font color="#505050">27</font></TD><TD BORDER="1">
|
|
33
|
-
<TR><TD BORDER="0"><font color="#505050">28</font></TD><TD BORDER="1">
|
|
34
|
-
<TR><TD BORDER="0"><font color="#505050">29</font></TD><TD BORDER="1">
|
|
35
|
-
<TR><TD BORDER="0"><font color="#505050">30</font></TD><TD BORDER="1">
|
|
36
|
-
<TR><TD BORDER="0"><font color="#505050">31</font></TD><TD BORDER="1">
|
|
37
|
-
<TR><TD BORDER="0"><font color="#505050">32</font></TD><TD BORDER="1">
|
|
38
|
-
<TR><TD BORDER="0"><font color="#505050">33</font></TD><TD BORDER="1">
|
|
39
|
-
<TR><TD BORDER="0"><font color="#505050">34</font></TD><TD BORDER="1"> right </TD></TR>
|
|
40
|
-
<TR><TD BORDER="0"><font color="#505050">35</font></TD><TD BORDER="1"> value </TD></TR>
|
|
10
|
+
<TR><TD BORDER="0"><font color="#505050">5</font></TD><TD BORDER="1"> __format__ </TD></TR>
|
|
11
|
+
<TR><TD BORDER="0"><font color="#505050">6</font></TD><TD BORDER="1"> __ge__ </TD></TR>
|
|
12
|
+
<TR><TD BORDER="0"><font color="#505050">7</font></TD><TD BORDER="1"> __getattribute__ </TD></TR>
|
|
13
|
+
<TR><TD BORDER="0"><font color="#505050">8</font></TD><TD BORDER="1"> __getitem__ </TD></TR>
|
|
14
|
+
<TR><TD BORDER="0"><font color="#505050">9</font></TD><TD BORDER="1"> __getstate__ </TD></TR>
|
|
15
|
+
<TR><TD BORDER="0"><font color="#505050">10</font></TD><TD BORDER="1"> __gt__ </TD></TR>
|
|
16
|
+
<TR><TD BORDER="0"><font color="#505050">11</font></TD><TD BORDER="1"> __hash__ </TD></TR>
|
|
17
|
+
<TR><TD BORDER="0"><font color="#505050">12</font></TD><TD BORDER="1"> __init__ </TD></TR>
|
|
18
|
+
<TR><TD BORDER="0"><font color="#505050">13</font></TD><TD BORDER="1"> __init_subclass__ </TD></TR>
|
|
19
|
+
<TR><TD BORDER="0"><font color="#505050">14</font></TD><TD BORDER="1"> __le__ </TD></TR>
|
|
20
|
+
<TR><TD BORDER="0"><font color="#505050">15</font></TD><TD BORDER="1"> __lt__ </TD></TR>
|
|
21
|
+
<TR><TD BORDER="0"><font color="#505050">16</font></TD><TD BORDER="1"> __module__ </TD></TR>
|
|
22
|
+
<TR><TD BORDER="0"><font color="#505050">17</font></TD><TD BORDER="1"> __ne__ </TD></TR>
|
|
23
|
+
<TR><TD BORDER="0"><font color="#505050">18</font></TD><TD BORDER="1"> __new__ </TD></TR>
|
|
24
|
+
<TR><TD BORDER="0"><font color="#505050">19</font></TD><TD BORDER="1"> __reduce__ </TD></TR>
|
|
25
|
+
<TR><TD BORDER="0"><font color="#505050">20</font></TD><TD BORDER="1"> __reduce_ex__ </TD></TR>
|
|
26
|
+
<TR><TD BORDER="0"><font color="#505050">21</font></TD><TD BORDER="1"> __repr__ </TD></TR>
|
|
27
|
+
<TR><TD BORDER="0"><font color="#505050">22</font></TD><TD BORDER="1"> __setattr__ </TD></TR>
|
|
28
|
+
<TR><TD BORDER="0"><font color="#505050">23</font></TD><TD BORDER="1"> __setitem__ </TD></TR>
|
|
29
|
+
<TR><TD BORDER="0"><font color="#505050">24</font></TD><TD BORDER="1"> __sizeof__ </TD></TR>
|
|
30
|
+
<TR><TD BORDER="0"><font color="#505050">25</font></TD><TD BORDER="1"> __slots__ </TD></TR>
|
|
31
|
+
<TR><TD BORDER="0"><font color="#505050">26</font></TD><TD BORDER="1"> __str__ </TD></TR>
|
|
32
|
+
<TR><TD BORDER="0"><font color="#505050">27</font></TD><TD BORDER="1"> __subclasshook__ </TD></TR>
|
|
33
|
+
<TR><TD BORDER="0"><font color="#505050">28</font></TD><TD BORDER="1"> balance </TD></TR>
|
|
34
|
+
<TR><TD BORDER="0"><font color="#505050">29</font></TD><TD BORDER="1"> free </TD></TR>
|
|
35
|
+
<TR><TD BORDER="0"><font color="#505050">30</font></TD><TD BORDER="1"> key </TD></TR>
|
|
36
|
+
<TR><TD BORDER="0"><font color="#505050">31</font></TD><TD BORDER="1"> left </TD></TR>
|
|
37
|
+
<TR><TD BORDER="0"><font color="#505050">32</font></TD><TD BORDER="1"> right </TD></TR>
|
|
38
|
+
<TR><TD BORDER="0"><font color="#505050">33</font></TD><TD BORDER="1"> value </TD></TR>
|
|
41
39
|
</TABLE>
|
|
42
40
|
> xlabel="Node"]
|
|
43
|
-
|
|
41
|
+
node130351334904784 [label=<
|
|
44
42
|
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="seagreen1" PORT="table">
|
|
45
43
|
<TR><TD BORDER="1" STYLE="ROUNDED"> _root </TD><TD BORDER="1" STYLE="ROUNDED"> _count </TD></TR>
|
|
46
44
|
<TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> 4 </TD></TR>
|
|
47
45
|
</TABLE>
|
|
48
46
|
> xlabel=AVLTree]
|
|
49
|
-
|
|
50
|
-
|
|
47
|
+
node130351334904784:ref0 -> node130351336425488:table [style=solid]
|
|
48
|
+
node130351336759104 [label=<
|
|
51
49
|
<TABLE BORDER="3" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="#60a5ff" PORT="table">
|
|
52
50
|
<TR><TD BORDER="1" STYLE="ROUNDED"> tree </TD></TR>
|
|
53
51
|
<TR><TD BORDER="1" PORT="ref0"> </TD></TR>
|
|
54
52
|
</TABLE>
|
|
55
53
|
> xlabel=dict]
|
|
56
|
-
|
|
54
|
+
node130351336759104:ref0 -> node130351334904784:table [style=solid]
|
|
57
55
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
digraph memory_graph {
|
|
2
2
|
node [shape=plaintext]
|
|
3
|
-
|
|
3
|
+
node129759632490640 [label=<
|
|
4
4
|
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
|
|
5
5
|
<TR><TD BORDER="1" STYLE="ROUNDED"> left </TD><TD BORDER="1"> None </TD></TR>
|
|
6
6
|
<TR><TD BORDER="1" STYLE="ROUNDED"> key </TD><TD BORDER="1"> 5 </TD></TR>
|
|
@@ -8,7 +8,7 @@ digraph memory_graph {
|
|
|
8
8
|
<TR><TD BORDER="1" STYLE="ROUNDED"> right </TD><TD BORDER="1"> None </TD></TR>
|
|
9
9
|
</TABLE>
|
|
10
10
|
> xlabel="Node"]
|
|
11
|
-
|
|
11
|
+
node129759632492720 [label=<
|
|
12
12
|
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
|
|
13
13
|
<TR><TD BORDER="1" STYLE="ROUNDED"> left </TD><TD BORDER="1"> None </TD></TR>
|
|
14
14
|
<TR><TD BORDER="1" STYLE="ROUNDED"> key </TD><TD BORDER="1"> 15 </TD></TR>
|
|
@@ -16,34 +16,34 @@ digraph memory_graph {
|
|
|
16
16
|
<TR><TD BORDER="1" STYLE="ROUNDED"> right </TD><TD BORDER="1"> None </TD></TR>
|
|
17
17
|
</TABLE>
|
|
18
18
|
> xlabel="Node"]
|
|
19
|
-
|
|
19
|
+
node129759632492640 [label=<
|
|
20
20
|
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
|
|
21
21
|
<TR><TD BORDER="1" STYLE="ROUNDED"> left </TD><TD BORDER="1" STYLE="ROUNDED"> key </TD><TD BORDER="1" STYLE="ROUNDED"> value </TD><TD BORDER="1" STYLE="ROUNDED"> right </TD></TR>
|
|
22
22
|
<TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> 20 </TD><TD BORDER="1"> twenty </TD><TD BORDER="1"> None </TD></TR>
|
|
23
23
|
</TABLE>
|
|
24
24
|
> xlabel="Node"]
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
node129759632492640:ref0 -> node129759632492720:table [style=solid]
|
|
26
|
+
node129759645648912 [label=<
|
|
27
27
|
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
|
|
28
28
|
<TR><TD BORDER="1" STYLE="ROUNDED"> left </TD><TD BORDER="1" STYLE="ROUNDED"> key </TD><TD BORDER="1" STYLE="ROUNDED"> value </TD><TD BORDER="1" STYLE="ROUNDED"> right </TD></TR>
|
|
29
29
|
<TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> 10 </TD><TD BORDER="1"> ten </TD><TD BORDER="1" PORT="ref1"> </TD></TR>
|
|
30
30
|
</TABLE>
|
|
31
31
|
> xlabel="Node"]
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
node129759645648912:ref0 -> node129759632490640:table [style=solid]
|
|
33
|
+
node129759645648912:ref1 -> node129759632492640:table [style=solid]
|
|
34
|
+
node129759635018608 [label=<
|
|
35
35
|
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="seagreen1" PORT="table">
|
|
36
36
|
<TR><TD BORDER="1" STYLE="ROUNDED"> _root </TD><TD BORDER="1" STYLE="ROUNDED"> _count </TD></TR>
|
|
37
37
|
<TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> 4 </TD></TR>
|
|
38
38
|
</TABLE>
|
|
39
39
|
> xlabel=AVLTree]
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
node129759635018608:ref0 -> node129759645648912:table [style=solid]
|
|
41
|
+
node129759645982592 [label=<
|
|
42
42
|
<TABLE BORDER="3" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="#60a5ff" PORT="table">
|
|
43
43
|
<TR><TD BORDER="1" STYLE="ROUNDED"> tree </TD></TR>
|
|
44
44
|
<TR><TD BORDER="1" PORT="ref0"> </TD></TR>
|
|
45
45
|
</TABLE>
|
|
46
46
|
> xlabel=dict]
|
|
47
|
-
|
|
48
|
-
subgraph { rank=same;
|
|
47
|
+
node129759645982592:ref0 -> node129759635018608:table [style=solid]
|
|
48
|
+
subgraph { rank=same; node129759632490640 -> node129759632492640[weight=10, style=invis]; }
|
|
49
49
|
}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
digraph memory_graph {
|
|
2
2
|
node [shape=plaintext]
|
|
3
|
-
|
|
3
|
+
node129759645648912 [label=<
|
|
4
4
|
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
|
|
5
5
|
<TR><TD BORDER="1"> key:10 value:ten </TD></TR>
|
|
6
6
|
</TABLE>
|
|
7
7
|
> xlabel="Node"]
|
|
8
|
-
|
|
8
|
+
node129759635018608 [label=<
|
|
9
9
|
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="seagreen1" PORT="table">
|
|
10
10
|
<TR><TD BORDER="1" STYLE="ROUNDED"> _root </TD><TD BORDER="1" STYLE="ROUNDED"> _count </TD></TR>
|
|
11
11
|
<TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> 4 </TD></TR>
|
|
12
12
|
</TABLE>
|
|
13
13
|
> xlabel=AVLTree]
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
node129759635018608:ref0 -> node129759645648912:table [style=solid]
|
|
15
|
+
node129759645982592 [label=<
|
|
16
16
|
<TABLE BORDER="3" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="#60a5ff" PORT="table">
|
|
17
17
|
<TR><TD BORDER="1" STYLE="ROUNDED"> tree </TD></TR>
|
|
18
18
|
<TR><TD BORDER="1" PORT="ref0"> </TD></TR>
|
|
19
19
|
</TABLE>
|
|
20
20
|
> xlabel=dict]
|
|
21
|
-
|
|
21
|
+
node129759645982592:ref0 -> node129759635018608:table [style=solid]
|
|
22
22
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
digraph memory_graph {
|
|
2
2
|
node [shape=plaintext]
|
|
3
|
-
|
|
3
|
+
node129759632490640 [label=<
|
|
4
4
|
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
|
|
5
5
|
<TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> left: </TD></TR>
|
|
6
6
|
<TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> None </TD></TR>
|
|
@@ -12,7 +12,7 @@ digraph memory_graph {
|
|
|
12
12
|
<TR><TD BORDER="0"><font color="#505050">7</font></TD><TD BORDER="1"> None </TD></TR>
|
|
13
13
|
</TABLE>
|
|
14
14
|
> xlabel="Node"]
|
|
15
|
-
|
|
15
|
+
node129759632492720 [label=<
|
|
16
16
|
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
|
|
17
17
|
<TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> left: </TD></TR>
|
|
18
18
|
<TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> None </TD></TR>
|
|
@@ -24,34 +24,34 @@ digraph memory_graph {
|
|
|
24
24
|
<TR><TD BORDER="0"><font color="#505050">7</font></TD><TD BORDER="1"> None </TD></TR>
|
|
25
25
|
</TABLE>
|
|
26
26
|
> xlabel="Node"]
|
|
27
|
-
|
|
27
|
+
node129759632492640 [label=<
|
|
28
28
|
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
|
|
29
29
|
<TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="0"><font color="#505050">2</font></TD><TD BORDER="0"><font color="#505050">3</font></TD><TD BORDER="0"><font color="#505050">4</font></TD><TD BORDER="0"><font color="#505050">5</font></TD><TD BORDER="0"><font color="#505050">6</font></TD><TD BORDER="0"><font color="#505050">7</font></TD></TR>
|
|
30
30
|
<TR><TD BORDER="1"> left: </TD><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> key: </TD><TD BORDER="1"> 20 </TD><TD BORDER="1"> value: </TD><TD BORDER="1"> twenty </TD><TD BORDER="1"> right: </TD><TD BORDER="1"> None </TD></TR>
|
|
31
31
|
</TABLE>
|
|
32
32
|
> xlabel="Node"]
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
node129759632492640:ref0 -> node129759632492720:table [style=solid]
|
|
34
|
+
node129759645648912 [label=<
|
|
35
35
|
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
|
|
36
36
|
<TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="0"><font color="#505050">2</font></TD><TD BORDER="0"><font color="#505050">3</font></TD><TD BORDER="0"><font color="#505050">4</font></TD><TD BORDER="0"><font color="#505050">5</font></TD><TD BORDER="0"><font color="#505050">6</font></TD><TD BORDER="0"><font color="#505050">7</font></TD></TR>
|
|
37
37
|
<TR><TD BORDER="1"> left: </TD><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> key: </TD><TD BORDER="1"> 10 </TD><TD BORDER="1"> value: </TD><TD BORDER="1"> ten </TD><TD BORDER="1"> right: </TD><TD BORDER="1" PORT="ref1"> </TD></TR>
|
|
38
38
|
</TABLE>
|
|
39
39
|
> xlabel="Node"]
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
node129759645648912:ref0 -> node129759632490640:table [style=solid]
|
|
41
|
+
node129759645648912:ref1 -> node129759632492640:table [style=solid]
|
|
42
|
+
node129759635018608 [label=<
|
|
43
43
|
<TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="seagreen1" PORT="table">
|
|
44
44
|
<TR><TD BORDER="1" STYLE="ROUNDED"> _root </TD><TD BORDER="1" STYLE="ROUNDED"> _count </TD></TR>
|
|
45
45
|
<TR><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> 4 </TD></TR>
|
|
46
46
|
</TABLE>
|
|
47
47
|
> xlabel=AVLTree]
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
node129759635018608:ref0 -> node129759645648912:table [style=solid]
|
|
49
|
+
node129759645982592 [label=<
|
|
50
50
|
<TABLE BORDER="3" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="#60a5ff" PORT="table">
|
|
51
51
|
<TR><TD BORDER="1" STYLE="ROUNDED"> tree </TD></TR>
|
|
52
52
|
<TR><TD BORDER="1" PORT="ref0"> </TD></TR>
|
|
53
53
|
</TABLE>
|
|
54
54
|
> xlabel=dict]
|
|
55
|
-
|
|
56
|
-
subgraph { rank=same;
|
|
55
|
+
node129759645982592:ref0 -> node129759635018608:table [style=solid]
|
|
56
|
+
subgraph { rank=same; node129759632490640 -> node129759632492640[weight=10, style=invis]; }
|
|
57
57
|
}
|