Metadata-Version: 2.1
Name: sutree
Version: 0.2.0
Summary: Tree data structure library
Home-page: https://github.com/thanhit95/sutree
Author: Thanh Trung Nguyen
Author-email: thanh.it1995@gmail.com
License: 3-Clause BSD License
Download-URL: https://pypi.org/project/sutree
Description: # SUTREE
        
        ## DESCRIPTION
        
        Tree data structure library with great display utility.
        
        &nbsp;
        
        ## AUTHOR
        
        Thanh Trung Nguyen
        
        - Email: thanh.it1995@gmail.com
        - Facebook: <https://www.facebook.com/thanh.it95>
        
        &nbsp;
        
        ## INSTALLATION
        
        ```shell
        pip install sutree
        ```
        
        &nbsp;
        
        ## FEATURES
        
        This package includes two libraries:
        
        - Tree library.
        - Tree display library.
        
        **Tree library:**
        
        - Various types of trees: Binary Tree, Binary Search Tree, AVL Tree.
        - Regular operations:
          - Checking empty.
          - Getting number of nodes.
          - Getting height.
          - Traversal:
            - 3 options: pre-order, in-order, post-order.
            - 2 modes: recursive traversal and non-recursive traversal.
          - Checking existence of a key.
          - Getting minimum key.
          - Getting maximum key.
          - Insertion.
          - Removal.
          - Constructing from a list.
        
        Note: In the future, I will update more trees.
        
        **Tree display library:**
        
        - It can config space between 2 branch neighbors.
        - It can config precision of floating-point numbers.
        - It accepts any type of key of node. Just makes sure key is convertible to string.
        - It accepts any structure of node, which is high flexibily.
        - It can config left margin.
        - It outputs to:
          - a string, or...
          - a list of rows.
        
        Output example generated by this utility:
        
        Output example 1:
        
        ```text
                               100
                                |
                     -----------------------
                     50                  70000
                     |                     |
               -------------        ----------------
               10        88.52    20000          90000
               |           |        |
           ---------    ----     --------
        -123456  14.78  62      500  30000.19
                                        |
                                        -----
                                          40000
        ```
        
        Output example 2:
        
        ```text
                       func_definition
                              |
         -------------------------------------------
         |          |          |         |         |
        def     func_name      (      arg_list     )
                    |                    |
              sum_2_integers        -----------
                                    |    |    |
                                   arg   ,   arg
                                    |         |
                                   foo       bar
        ```
        
        &nbsp;
        
        ## TUTORIALS
        
        There are two sections of tutorials:
        
        - Tree: Using pre-defined trees in library such as BinaryTree, AvlTree...
          - Take a look at ```/test/tree_```.
        - Display: Display a tree.
          - Read [tutorials_display.md](tutorials_display.md)
        
        &nbsp;
        
        ## CODE STRUCTURE
        
        Update later.
        
        &nbsp;
        
        ## PROJECT SPECIFICATIONS
        
        - Language: Python 3.8
        - Paradigms: object-oriented, procedural
        
        &nbsp;
        
        ## LICENSE
        
        Copyright (c) Thanh Trung Nguyen.
        
        This project is licensed under the [3-Clause BSD License](LICENSE.txt).
        
        
Keywords: tree,binary,avl,bst,display,view,print,visualize,visualization,ascii,console,terminal
Platform: UNKNOWN
Description-Content-Type: text/markdown
