Skip to content

spbu-coding-2023/trees-6

Repository files navigation

Binary search trees library

This library provides the ability to store key-value pairs in trees of three types:

  • Unbalanced binary search tree.
  • AVL-Tree.
  • Red-black tree.

Table of contents

Functionality

You can store values of any types by keys of comparable type. Each tree provides you to:

  • Insert values.
  • Change inserted value by key.
  • Search value by key.
  • Delete value.
  • Iterate through tree.

File structure

src
├──main/kotlin
│  │
│  ├── nodes
│  │   ├── TreeNode.kt  # Node of abstract binary tree and BST class
│  │   ├── UnbalancedBSTNode.kt # Node of Unbalanced BST class
│  │   ├── AvlNode.kt # Node of AVL-tree class
│  │   ├── RBTreeNode.kt # Node of RB tree class
│  │      
│  ├── trees
│  │   ├── UnbalancedBSTree.kt # Unbalanced BST class
│  │   ├── AvlTree.kt # AVL-tree class
│  │   ├── RBTree.kt # RB tree class
│  │   ├── abstractTree
│  │       ├── AbstractTree.kt # Abstract binary tree class
│  │       ├── TreeIterator.kt # Tree iterator class
│
├──test/kotlin
│  │
│  ├── UnbalancedBSTTests.kt # Unit tests of Unbalanced BST
│  ├── AvlTests.kt # Unit tests of AVL-tree
│  ├── RBTreeTests.kt # Unit tests of RB tree
│  │

How to use

See DOCS.md

Technologies used in the library

Our team and responsibility areas

Project status

Released.

Contributing

See CONTRIBUTING.md

License

See LICENSE.md

About

trees-6 created by GitHub Classroom

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages