Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/the0demiurge/datastructurerepr

Automatically gegerate repr to show data structures espelly trees
https://github.com/the0demiurge/datastructurerepr

Last synced: 13 days ago
JSON representation

Automatically gegerate repr to show data structures espelly trees

Awesome Lists containing this project

README

        

# Introduction

I opened this project to show datastructures by hacking `__repr__` function of Python.

## Installation

`pip install dsr`

## Example

`from dsr import BinaryTreeNode, TreeNode`

```python
print('BinaryTreeNode:')
a = BinaryTreeNode(100)
b = BinaryTreeNode(2)
c = BinaryTreeNode(0, a, b)
d = BinaryTreeNode('a', c, c)
a.right = d
a.left = d

print(d)
print('TreeNode:')
root = TreeNode('tree', [
TreeNode('types', [TreeNode(str), TreeNode(int)]),
TreeNode('values', [TreeNode(1), TreeNode(3.1415926), TreeNode(True)]),
TreeNode('empty'),
2.718281828,
'Not TreeNode'
])
print(root)
```
BinaryTreeNode
```
('a')
/ \
(0) (0)
/ \ / \
(100) (2) (100) (2)
/ \ / \
... ... ... ...
```
TreeNode
```
('tree')
 ├── ('types')
 │    ├── ()
 │    └── ()
 ├── ('values')
 │    ├── (1)
 │    ├── (3.1415926)
 │    └── (True)
 ├── ('empty')
 ├── 2.718281828
 └── 'Not TreeNode'
```