memory-graph 0.3.33__tar.gz → 0.3.35__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.
Files changed (235) hide show
  1. {memory_graph-0.3.33/memory_graph.egg-info → memory_graph-0.3.35}/PKG-INFO +20 -13
  2. {memory_graph-0.3.33 → memory_graph-0.3.35}/README.md +18 -11
  3. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/add_one.gv +18 -18
  4. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/avltree_key_value.gv +12 -12
  5. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/avltree_leaf.gv +5 -5
  6. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/avltree_linear.gv +12 -12
  7. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/avltree_table.gv +12 -12
  8. memory_graph-0.3.35/images/bin_search.py +31 -0
  9. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/bin_tree.gv +35 -35
  10. memory_graph-0.3.35/images/call_stack.txt +24 -0
  11. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/copies.gv +20 -20
  12. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/copy_method.gv +16 -16
  13. memory_graph-0.3.35/images/debug.gv +15 -0
  14. memory_graph-0.3.35/images/debug.pdf +0 -0
  15. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/debugging01.gv +8 -8
  16. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/debugging01.png +0 -0
  17. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/debugging02.gv +11 -11
  18. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/debugging02.png +0 -0
  19. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/debugging03.gv +13 -13
  20. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/debugging03.png +0 -0
  21. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/debugging04.gv +15 -15
  22. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/debugging04.png +0 -0
  23. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/debugging05.gv +17 -17
  24. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/debugging05.png +0 -0
  25. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/debugging06.gv +17 -17
  26. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/debugging06.png +0 -0
  27. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/extension_numpy.gv +8 -8
  28. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/extension_pandas.gv +8 -8
  29. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/factorial0.gv +3 -3
  30. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/factorial0.png +0 -0
  31. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/factorial1.gv +6 -6
  32. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/factorial1.png +0 -0
  33. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/factorial2.gv +8 -8
  34. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/factorial2.png +0 -0
  35. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/factorial3.gv +10 -10
  36. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/factorial3.png +0 -0
  37. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/factorial4.gv +10 -10
  38. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/factorial4.png +0 -0
  39. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/factorial5.gv +8 -8
  40. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/factorial5.png +0 -0
  41. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/factorial6.gv +6 -6
  42. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/factorial6.png +0 -0
  43. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/hash_set.gv +29 -29
  44. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/highlight.gv +16 -16
  45. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/immutable1.gv +4 -4
  46. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/immutable2.gv +6 -6
  47. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/introspect_depth.gv +56 -56
  48. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/linked_list.gv +20 -20
  49. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/many_types.gv +12 -12
  50. memory_graph-0.3.35/images/memory_graph.gv +43 -0
  51. memory_graph-0.3.35/images/memory_graph.pdf +0 -0
  52. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/mutable1.gv +4 -4
  53. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/mutable2.gv +4 -4
  54. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/not_node_types1.gv +6 -6
  55. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/not_node_types2.gv +14 -14
  56. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set0.gv +11 -11
  57. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set0.png +0 -0
  58. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set1.gv +17 -17
  59. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set1.png +0 -0
  60. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set10.gv +36 -36
  61. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set10.png +0 -0
  62. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set11.gv +31 -31
  63. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set11.png +0 -0
  64. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set12.gv +31 -31
  65. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set12.png +0 -0
  66. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set13.gv +36 -36
  67. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set13.png +0 -0
  68. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set14.gv +41 -41
  69. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set14.png +0 -0
  70. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set15.gv +43 -43
  71. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set15.png +0 -0
  72. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set16.gv +40 -40
  73. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set16.png +0 -0
  74. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set17.gv +40 -40
  75. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set17.png +0 -0
  76. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set18.gv +45 -45
  77. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set18.png +0 -0
  78. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set19.gv +47 -47
  79. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set19.png +0 -0
  80. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set2.gv +22 -22
  81. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set2.png +0 -0
  82. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set20.gv +44 -44
  83. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set20.png +0 -0
  84. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set21.gv +39 -39
  85. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set21.png +0 -0
  86. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set22.gv +34 -34
  87. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set22.png +0 -0
  88. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set23.gv +28 -28
  89. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set23.png +0 -0
  90. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set3.gv +27 -27
  91. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set3.png +0 -0
  92. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set4.gv +32 -32
  93. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set4.png +0 -0
  94. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set5.gv +34 -34
  95. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set5.png +0 -0
  96. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set6.gv +32 -32
  97. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set6.png +0 -0
  98. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set7.gv +32 -32
  99. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set7.png +0 -0
  100. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set8.gv +37 -37
  101. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set8.png +0 -0
  102. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set9.gv +39 -39
  103. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set9.png +0 -0
  104. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/rebinding1.gv +4 -4
  105. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/rebinding2.gv +6 -6
  106. memory_graph-0.3.35/images/stack.txt +21 -0
  107. memory_graph-0.3.35/images/test.py +20 -0
  108. memory_graph-0.3.35/images/test.py~ +18 -0
  109. memory_graph-0.3.35/images/vsc.py +23 -0
  110. memory_graph-0.3.35/images/vsc.py~ +22 -0
  111. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/__init__.py +80 -43
  112. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/utils.py +0 -17
  113. {memory_graph-0.3.33 → memory_graph-0.3.35/memory_graph.egg-info}/PKG-INFO +20 -13
  114. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph.egg-info/SOURCES.txt +9 -0
  115. {memory_graph-0.3.33 → memory_graph-0.3.35}/pyproject.toml +2 -2
  116. memory_graph-0.3.33/images/memory_graph.gv +0 -70
  117. memory_graph-0.3.33/images/memory_graph.pdf +0 -0
  118. {memory_graph-0.3.33 → memory_graph-0.3.35}/LICENSE.txt +0 -0
  119. {memory_graph-0.3.33 → memory_graph-0.3.35}/MANIFEST.in +0 -0
  120. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/-0 +0 -0
  121. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/.gif +0 -0
  122. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/add_one.png +0 -0
  123. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/add_one.py +0 -0
  124. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/avltree.py +0 -0
  125. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/avltree.py~ +0 -0
  126. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/avltree_dir.gv +0 -0
  127. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/avltree_dir.png +0 -0
  128. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/avltree_fail.gv +0 -0
  129. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/avltree_fail.png +0 -0
  130. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/avltree_key_value.png +0 -0
  131. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/avltree_leaf.png +0 -0
  132. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/avltree_linear.png +0 -0
  133. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/avltree_table.png +0 -0
  134. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/bin_tree.png +0 -0
  135. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/bin_tree.py +0 -0
  136. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/bin_tree2.py +0 -0
  137. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/bin_tree2.py~ +0 -0
  138. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/colab_example.png +0 -0
  139. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/copies.png +0 -0
  140. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/copies.py +0 -0
  141. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/copy_method.png +0 -0
  142. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/copy_method.py +0 -0
  143. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/create_gif.sh +0 -0
  144. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/create_images.sh +0 -0
  145. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/debug_vscode.png +0 -0
  146. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/debugging.gif +0 -0
  147. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/debugging.py +0 -0
  148. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/depth.gv +0 -0
  149. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/depth.png +0 -0
  150. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/extension_numpy.png +0 -0
  151. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/extension_numpy.py +0 -0
  152. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/extension_pandas.png +0 -0
  153. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/extension_pandas.py +0 -0
  154. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/factorial.gif +0 -0
  155. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/factorial.py +0 -0
  156. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/factorial01.gv +0 -0
  157. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/factorial02.gv +0 -0
  158. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/factorial03.gv +0 -0
  159. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/factorial04.gv +0 -0
  160. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/factorial05.gv +0 -0
  161. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/factorial06.gv +0 -0
  162. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/factorial07.gv +0 -0
  163. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/hash_set.png +0 -0
  164. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/hash_set.py +0 -0
  165. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/hidden_edges.gv +0 -0
  166. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/hidden_edges.png +0 -0
  167. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/hidden_edges.py +0 -0
  168. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/hidden_edges.py~ +0 -0
  169. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/highlight.png +0 -0
  170. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/highlight.py +0 -0
  171. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/immutable.py +0 -0
  172. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/immutable1.png +0 -0
  173. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/immutable2.png +0 -0
  174. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/introspect_depth.png +0 -0
  175. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/introspect_depth.py +0 -0
  176. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/introspect_depth.py~ +0 -0
  177. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/ipython.png +0 -0
  178. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/jupyter_example.png +0 -0
  179. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/linked_list.png +0 -0
  180. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/linked_list.py +0 -0
  181. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/log.txt +0 -0
  182. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/many_types.png +0 -0
  183. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/many_types.py +0 -0
  184. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/memory_graph.gv.pdf +0 -0
  185. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/mutable.py +0 -0
  186. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/mutable1.png +0 -0
  187. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/mutable2.png +0 -0
  188. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/my_graph.gv +0 -0
  189. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/my_graph.pdf +0 -0
  190. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/name_rebinding.py +0 -0
  191. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/not_node_types.py +0 -0
  192. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/not_node_types.py~ +0 -0
  193. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/not_node_types1.png +0 -0
  194. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/not_node_types2.png +0 -0
  195. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set.gif +0 -0
  196. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set.py +0 -0
  197. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set19.png~ +0 -0
  198. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/power_set8.png~ +0 -0
  199. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/pyodide.png +0 -0
  200. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/rebinding1.png +0 -0
  201. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/rebinding2.png +0 -0
  202. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/uva.png +0 -0
  203. {memory_graph-0.3.33 → memory_graph-0.3.35}/images/vscode_copying.gif +0 -0
  204. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/call_stack.py +0 -0
  205. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/config.py +0 -0
  206. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/config_default.py +0 -0
  207. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/config_helpers.py +0 -0
  208. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/extension_numpy.py +0 -0
  209. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/extension_pandas.py +0 -0
  210. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/html_table.py +0 -0
  211. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/list_view.py +0 -0
  212. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/memory_to_nodes.py +0 -0
  213. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/node_base.py +0 -0
  214. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/node_key_value.py +0 -0
  215. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/node_leaf.py +0 -0
  216. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/node_linear.py +0 -0
  217. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/node_table.py +0 -0
  218. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/sequence.py +0 -0
  219. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/slicer.py +0 -0
  220. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/slices.py +0 -0
  221. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/slices_iterator.py +0 -0
  222. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/slices_table_iterator.py +0 -0
  223. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/test.py +0 -0
  224. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/test_max_graph_depth.py +0 -0
  225. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/test_memory_graph.py +0 -0
  226. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/test_memory_to_nodes.py +0 -0
  227. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/test_sequence.py +0 -0
  228. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/test_slicer.py +0 -0
  229. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/test_slices.py +0 -0
  230. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph/test_slices_iterator.py +0 -0
  231. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph.egg-info/dependency_links.txt +0 -0
  232. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph.egg-info/requires.txt +0 -0
  233. {memory_graph-0.3.33 → memory_graph-0.3.35}/memory_graph.egg-info/top_level.txt +0 -0
  234. {memory_graph-0.3.33 → memory_graph-0.3.35}/setup.cfg +0 -0
  235. {memory_graph-0.3.33 → memory_graph-0.3.35}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
- Name: memory-graph
3
- Version: 0.3.33
2
+ Name: memory_graph
3
+ Version: 0.3.35
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,10 +25,13 @@ pip install --upgrade memory_graph
25
25
  ```
26
26
  Additionally [Graphviz](https://graphviz.org/download/) needs to be installed.
27
27
 
28
+ # Highlight #
29
+ ![vscode_copying.gif](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/vscode_copying.gif)
30
+
28
31
  # Videos #
29
32
  | [![Quick Intro](https://img.youtube.com/vi/23_bHcr7hqo/0.jpg)](https://www.youtube.com/watch?v=23_bHcr7hqo) | [![Mutability](https://img.youtube.com/vi/pvIJgHCaXhU/0.jpg)](https://www.youtube.com/watch?v=pvIJgHCaXhU) |
30
33
  |:--:|:--:|
31
- | [Quick Intro](https://www.youtube.com/watch?v=23_bHcr7hqo) | [Mutability](https://www.youtube.com/watch?v=pvIJgHCaXhU) |
34
+ | [Quick Intro (3:49)](https://www.youtube.com/watch?v=23_bHcr7hqo) | [Mutability (17:29)](https://www.youtube.com/watch?v=pvIJgHCaXhU) |
32
35
 
33
36
  # Memory Graph #
34
37
  For program understanding and debugging, the [memory_graph](https://pypi.org/project/memory-graph/) package can visualize your data, supporting many different data types, including but not limited to:
@@ -365,11 +368,11 @@ The ```mg.stack()``` doesn't work well in *watch* context in most debuggers beca
365
368
 
366
369
  | debugger | function to get the call stack |
367
370
  |:---|:---|
368
- | **pdb, pudb** | `mg.stack_pdb()` |
369
- | **Visual Studio Code** | `mg.stack_vscode()` |
370
- | **Cursor AI** | `mg.stack_cursor()` |
371
- | **PyCharm** | `mg.stack_pycharm()` |
372
- | **Wing** | `mg.stack_wing()` |
371
+ | [pdb](https://docs.python.org/3/library/pdb.html), [pudb](https://pypi.org/project/pudb/) | `mg.stack_pdb()` |
372
+ | [Visual Studio Code](https://code.visualstudio.com/docs/languages/python) | `mg.stack_vscode()` |
373
+ | [Cursor AI](https://www.cursor.com/) | `mg.stack_cursor()` |
374
+ | [PyCharm](https://www.jetbrains.com/pycharm/) | `mg.stack_pycharm()` |
375
+ | [Wing](https://wingware.com/) | `mg.stack_wing()` |
373
376
 
374
377
  ![vscode_copying.gif](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/vscode_copying.gif)
375
378
 
@@ -378,12 +381,16 @@ For other debuggers, invoke this function within the *watch* context. Then, in t
378
381
  ```
379
382
  mg.save_call_stack("call_stack.txt")
380
383
  ```
381
- Choose the list of `after_functions` after any of which the slice start. Then choose the `through_function` at which the slice ends. The optional `drop` argument can be used to drop a number of stack frames at the start:
384
+ Then to get the call stack use:
382
385
  ```
383
- mg.stack_after_through(after_functions : list[str],
384
- through_function : str = "<module>",
385
- drop : int = 0)
386
+ mg.stack_after_through(after_functions : list[(str,int)],
387
+ through_functions : list[str] = ["<module>"],
388
+ stack_index: int = 0)
386
389
  ```
390
+ with parameters:
391
+ * after_functions: list of (function-name, offset), begins at the index of the first 'function-name' that is found in the call stack with additional 'offset'
392
+ * through_functions: list of function-names, ends at the index of the first 'function-name' that is found in the call stack after begin index, inclusive
393
+ * stack_index: number of frames removed at the beginning
387
394
 
388
395
  ## Debugging without Debugger Tool ##
389
396
 
@@ -419,7 +426,7 @@ and pressing &lt;Enter&gt; a number of times, results in:
419
426
  ![debugging.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/debugging.gif)
420
427
 
421
428
  # Data Structure Examples #
422
- Module memory_graph can be very useful in a course about data structures, some examples:
429
+ Package memory_graph can be very useful in a data structures course, some examples:
423
430
 
424
431
  ## Circular Doubly Linked List ##
425
432
  ```python
@@ -5,10 +5,13 @@ pip install --upgrade memory_graph
5
5
  ```
6
6
  Additionally [Graphviz](https://graphviz.org/download/) needs to be installed.
7
7
 
8
+ # Highlight #
9
+ ![vscode_copying.gif](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/vscode_copying.gif)
10
+
8
11
  # Videos #
9
12
  | [![Quick Intro](https://img.youtube.com/vi/23_bHcr7hqo/0.jpg)](https://www.youtube.com/watch?v=23_bHcr7hqo) | [![Mutability](https://img.youtube.com/vi/pvIJgHCaXhU/0.jpg)](https://www.youtube.com/watch?v=pvIJgHCaXhU) |
10
13
  |:--:|:--:|
11
- | [Quick Intro](https://www.youtube.com/watch?v=23_bHcr7hqo) | [Mutability](https://www.youtube.com/watch?v=pvIJgHCaXhU) |
14
+ | [Quick Intro (3:49)](https://www.youtube.com/watch?v=23_bHcr7hqo) | [Mutability (17:29)](https://www.youtube.com/watch?v=pvIJgHCaXhU) |
12
15
 
13
16
  # Memory Graph #
14
17
  For program understanding and debugging, the [memory_graph](https://pypi.org/project/memory-graph/) package can visualize your data, supporting many different data types, including but not limited to:
@@ -345,11 +348,11 @@ The ```mg.stack()``` doesn't work well in *watch* context in most debuggers beca
345
348
 
346
349
  | debugger | function to get the call stack |
347
350
  |:---|:---|
348
- | **pdb, pudb** | `mg.stack_pdb()` |
349
- | **Visual Studio Code** | `mg.stack_vscode()` |
350
- | **Cursor AI** | `mg.stack_cursor()` |
351
- | **PyCharm** | `mg.stack_pycharm()` |
352
- | **Wing** | `mg.stack_wing()` |
351
+ | [pdb](https://docs.python.org/3/library/pdb.html), [pudb](https://pypi.org/project/pudb/) | `mg.stack_pdb()` |
352
+ | [Visual Studio Code](https://code.visualstudio.com/docs/languages/python) | `mg.stack_vscode()` |
353
+ | [Cursor AI](https://www.cursor.com/) | `mg.stack_cursor()` |
354
+ | [PyCharm](https://www.jetbrains.com/pycharm/) | `mg.stack_pycharm()` |
355
+ | [Wing](https://wingware.com/) | `mg.stack_wing()` |
353
356
 
354
357
  ![vscode_copying.gif](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/vscode_copying.gif)
355
358
 
@@ -358,12 +361,16 @@ For other debuggers, invoke this function within the *watch* context. Then, in t
358
361
  ```
359
362
  mg.save_call_stack("call_stack.txt")
360
363
  ```
361
- Choose the list of `after_functions` after any of which the slice start. Then choose the `through_function` at which the slice ends. The optional `drop` argument can be used to drop a number of stack frames at the start:
364
+ Then to get the call stack use:
362
365
  ```
363
- mg.stack_after_through(after_functions : list[str],
364
- through_function : str = "<module>",
365
- drop : int = 0)
366
+ mg.stack_after_through(after_functions : list[(str,int)],
367
+ through_functions : list[str] = ["<module>"],
368
+ stack_index: int = 0)
366
369
  ```
370
+ with parameters:
371
+ * after_functions: list of (function-name, offset), begins at the index of the first 'function-name' that is found in the call stack with additional 'offset'
372
+ * through_functions: list of function-names, ends at the index of the first 'function-name' that is found in the call stack after begin index, inclusive
373
+ * stack_index: number of frames removed at the beginning
367
374
 
368
375
  ## Debugging without Debugger Tool ##
369
376
 
@@ -399,7 +406,7 @@ and pressing &lt;Enter&gt; a number of times, results in:
399
406
  ![debugging.png](https://raw.githubusercontent.com/bterwijn/memory_graph/main/images/debugging.gif)
400
407
 
401
408
  # Data Structure Examples #
402
- Module memory_graph can be very useful in a course about data structures, some examples:
409
+ Package memory_graph can be very useful in a data structures course, some examples:
403
410
 
404
411
  ## Circular Doubly Linked List ##
405
412
  ```python
@@ -1,6 +1,6 @@
1
1
  digraph memory_graph {
2
2
  node [shape=plaintext]
3
- node137466735742528 [label=<
3
+ node126282060615232 [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
- node137466725676288 [label=<
11
+ node126282059347520 [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
- node137466725033024 [label=<
18
+ node126282058704000 [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
- node137466725795136 [label=<
25
+ node126282059262656 [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
- node137466725795136:ref0 -> node137466735742528:table [style=solid]
32
- node137466725795136:ref1 -> node137466725676288:table [style=solid]
33
- node137466725795136:ref2 -> node137466725033024:table [style=solid]
34
- node137466735685488 [label=<
31
+ node126282059262656:ref0 -> node126282060615232:table [style=solid]
32
+ node126282059262656:ref1 -> node126282059347520:table [style=solid]
33
+ node126282059262656:ref2 -> node126282058704000:table [style=solid]
34
+ node126282054174976 [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
- node137466721103040 [label=<
42
+ node126282059346752 [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
- node137466725590528 [label=<
50
+ node126282059717312 [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
- node137466725590528:ref0 -> node137466735742528:table [style=solid]
57
- node137466725590528:ref1 -> node137466735685488:table [style=solid]
58
- node137466725590528:ref2 -> node137466721103040:table [style=solid]
59
- node137466721135792 [label=<
56
+ node126282059717312:ref0 -> node126282060615232:table [style=solid]
57
+ node126282059717312:ref1 -> node126282054174976:table [style=solid]
58
+ node126282059717312:ref2 -> node126282059346752:table [style=solid]
59
+ node126282054399184 [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: &lt;module&gt; </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
- node137466721135792:ref0 -> node137466725795136:table [style=solid]
66
- node137466721135792:ref1 -> node137466725590528:table [style=solid]
67
- subgraph { rank=same; node137466725795136 -> node137466725590528[weight=10, style=invis]; }
68
- subgraph { rank=same; node137466735742528 -> node137466725676288 -> node137466725033024 -> node137466735685488 -> node137466721103040[weight=10, style=invis]; }
65
+ node126282054399184:ref0 -> node126282059262656:table [style=solid]
66
+ node126282054399184:ref1 -> node126282059717312:table [style=solid]
67
+ subgraph { rank=same; node126282059262656 -> node126282059717312[weight=10, style=invis]; }
68
+ subgraph { rank=same; node126282060615232 -> node126282059347520 -> node126282058704000 -> node126282054174976 -> node126282059346752[weight=10, style=invis]; }
69
69
  }
@@ -1,6 +1,6 @@
1
1
  digraph memory_graph {
2
2
  node [shape=plaintext]
3
- node132871625148672 [label=<
3
+ node126062163823168 [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
- node132871625361264 [label=<
11
+ node126062164002992 [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
- node132871625361344 [label=<
19
+ node126062164003072 [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
- node132871625361344:ref0 -> node132871625361264:table [style=solid]
26
- node132871630909296 [label=<
25
+ node126062164003072:ref0 -> node126062164002992:table [style=solid]
26
+ node126062169976688 [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
- node132871630909296:ref0 -> node132871625148672:table [style=solid]
33
- node132871630909296:ref1 -> node132871625361344:table [style=solid]
34
- node132871626542112 [label=<
32
+ node126062169976688:ref0 -> node126062163823168:table [style=solid]
33
+ node126062169976688:ref1 -> node126062164003072:table [style=solid]
34
+ node126062165609504 [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
- node132871626542112:ref0 -> node132871630909296:table [style=solid]
41
- node132871629260608 [label=<
40
+ node126062165609504:ref0 -> node126062169976688:table [style=solid]
41
+ node126062168328064 [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
- node132871629260608:ref0 -> node132871626542112:table [style=solid]
48
- subgraph { rank=same; node132871625148672 -> node132871625361344[weight=10, style=invis]; }
47
+ node126062168328064:ref0 -> node126062165609504:table [style=solid]
48
+ subgraph { rank=same; node126062163823168 -> node126062164003072[weight=10, style=invis]; }
49
49
  }
@@ -1,22 +1,22 @@
1
1
  digraph memory_graph {
2
2
  node [shape=plaintext]
3
- node132871630909296 [label=<
3
+ node126062169976688 [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
- node132871626542112 [label=<
8
+ node126062165609504 [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
- node132871626542112:ref0 -> node132871630909296:table [style=solid]
15
- node132871629260608 [label=<
14
+ node126062165609504:ref0 -> node126062169976688:table [style=solid]
15
+ node126062168328064 [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
- node132871629260608:ref0 -> node132871626542112:table [style=solid]
21
+ node126062168328064:ref0 -> node126062165609504:table [style=solid]
22
22
  }
@@ -1,6 +1,6 @@
1
1
  digraph memory_graph {
2
2
  node [shape=plaintext]
3
- node132871625148672 [label=<
3
+ node126062163823168 [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
- node132871625361264 [label=<
15
+ node126062164002992 [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
- node132871625361344 [label=<
27
+ node126062164003072 [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
- node132871625361344:ref0 -> node132871625361264:table [style=solid]
34
- node132871630909296 [label=<
33
+ node126062164003072:ref0 -> node126062164002992:table [style=solid]
34
+ node126062169976688 [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
- node132871630909296:ref0 -> node132871625148672:table [style=solid]
41
- node132871630909296:ref1 -> node132871625361344:table [style=solid]
42
- node132871626542112 [label=<
40
+ node126062169976688:ref0 -> node126062163823168:table [style=solid]
41
+ node126062169976688:ref1 -> node126062164003072:table [style=solid]
42
+ node126062165609504 [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
- node132871626542112:ref0 -> node132871630909296:table [style=solid]
49
- node132871629260608 [label=<
48
+ node126062165609504:ref0 -> node126062169976688:table [style=solid]
49
+ node126062168328064 [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
- node132871629260608:ref0 -> node132871626542112:table [style=solid]
56
- subgraph { rank=same; node132871625148672 -> node132871625361344[weight=10, style=invis]; }
55
+ node126062168328064:ref0 -> node126062165609504:table [style=solid]
56
+ subgraph { rank=same; node126062163823168 -> node126062164003072[weight=10, style=invis]; }
57
57
  }
@@ -1,49 +1,49 @@
1
1
  digraph memory_graph {
2
2
  node [shape=plaintext]
3
- node132871625148672 [label=<
3
+ node126062163823168 [label=<
4
4
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
5
5
  <TR><TD BORDER="0"> </TD><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="0"><font color="#505050">1</font></TD></TR>
6
6
  <TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> 5 </TD><TD BORDER="1"> five </TD></TR>
7
7
  <TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> None </TD><TD BORDER="1"> None </TD></TR>
8
8
  </TABLE>
9
9
  > xlabel="Node 2⨯2"]
10
- node132871625361264 [label=<
10
+ node126062164002992 [label=<
11
11
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
12
12
  <TR><TD BORDER="0"> </TD><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="0"><font color="#505050">1</font></TD></TR>
13
13
  <TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> 15 </TD><TD BORDER="1"> fifteen </TD></TR>
14
14
  <TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1"> None </TD><TD BORDER="1"> None </TD></TR>
15
15
  </TABLE>
16
16
  > xlabel="Node 2⨯2"]
17
- node132871625361344 [label=<
17
+ node126062164003072 [label=<
18
18
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
19
19
  <TR><TD BORDER="0"> </TD><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="0"><font color="#505050">1</font></TD></TR>
20
20
  <TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> 20 </TD><TD BORDER="1"> twenty </TD></TR>
21
21
  <TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1"> None </TD></TR>
22
22
  </TABLE>
23
23
  > xlabel="Node 2⨯2"]
24
- node132871625361344:ref0 -> node132871625361264:table [style=solid]
25
- node132871630909296 [label=<
24
+ node126062164003072:ref0 -> node126062164002992:table [style=solid]
25
+ node126062169976688 [label=<
26
26
  <TABLE BORDER="1" CELLBORDER="1" CELLSPACING="5" CELLPADDING="0" BGCOLOR="sandybrown" PORT="table">
27
27
  <TR><TD BORDER="0"> </TD><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="0"><font color="#505050">1</font></TD></TR>
28
28
  <TR><TD BORDER="0"><font color="#505050">0</font></TD><TD BORDER="1"> 10 </TD><TD BORDER="1"> ten </TD></TR>
29
29
  <TR><TD BORDER="0"><font color="#505050">1</font></TD><TD BORDER="1" PORT="ref0"> </TD><TD BORDER="1" PORT="ref1"> </TD></TR>
30
30
  </TABLE>
31
31
  > xlabel="Node 2⨯2"]
32
- node132871630909296:ref0 -> node132871625148672:table [style=solid]
33
- node132871630909296:ref1 -> node132871625361344:table [style=solid]
34
- node132871626542112 [label=<
32
+ node126062169976688:ref0 -> node126062163823168:table [style=solid]
33
+ node126062169976688:ref1 -> node126062164003072:table [style=solid]
34
+ node126062165609504 [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
- node132871626542112:ref0 -> node132871630909296:table [style=solid]
41
- node132871629260608 [label=<
40
+ node126062165609504:ref0 -> node126062169976688:table [style=solid]
41
+ node126062168328064 [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
- node132871629260608:ref0 -> node132871626542112:table [style=solid]
48
- subgraph { rank=same; node132871625148672 -> node132871625361344[weight=10, style=invis]; }
47
+ node126062168328064:ref0 -> node126062165609504:table [style=solid]
48
+ subgraph { rank=same; node126062163823168 -> node126062164003072[weight=10, style=invis]; }
49
49
  }
@@ -0,0 +1,31 @@
1
+ import memory_graph as mg
2
+
3
+ class View:
4
+
5
+ def __init__(self, lst, begin, end):
6
+ self.lst = lst
7
+ self.begin = begin
8
+ self.end = end
9
+
10
+ def __getitem__(self, index):
11
+ return self.lst[index]
12
+
13
+ def get_mid(self):
14
+ return (self.begin + self.end) // 2
15
+
16
+ def bin_search(view, value):
17
+ mid = view.get_mid()
18
+ mid_value = view[mid]
19
+ if value < mid_value:
20
+ return bin_search(View(view.lst, view.begin, mid), value)
21
+ elif value > mid_value:
22
+ return bin_search(View(view.lst, mid, view.end), value)
23
+ else:
24
+ return mid
25
+
26
+
27
+ n = 15
28
+ data = [i for i in range(n)]
29
+ value = n//3
30
+ index = bin_search(View(data, 0, len(data)), value)
31
+ print(f'{index=}')