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

https://github.com/0xabdulkhaliq/binary-search-trees

An interactive demonstration of Binary Search Tree operations.
https://github.com/0xabdulkhaliq/binary-search-trees

algorithms binary-search-tree css es6 html javascript webpack

Last synced: 5 months ago
JSON representation

An interactive demonstration of Binary Search Tree operations.

Awesome Lists containing this project

README

          







**❝** Experience binary search trees in action with interactive demonstrations **❞**




❯  
View Demo
 · 
Report Bug
 · 
Request Feature
  ❮




Mobile Preview


## Installation

> [!NOTE]
> If you prefer not to install it locally, you can also access the [live demo](https://binary-search-trees.vercel.app/) version

To set up the BST Application locally, follow these steps:

1. Clone the GitHub repository to your local machine:

```bash
git clone https://github.com/0xabdulkhaliq/binary-search-trees.git
```

2. Navigate to the project's directory:

```bash
cd binary-search-trees
```

3. Install the project's dependencies using npm:

```bash
npm install
```

4. Build the project to bundle JavaScript, minify HTML and CSS, and move images:

```bash
npm run build
```
5. The build files can be found on `dist` (distribution) directory.


## Features

- **Create and Visualize BST**: Easily create a binary search tree from an array and visualize its structure.

- **Interactive Operations**: Insert, delete, and search for values within the tree, providing insights into how BSTs work.

- **Measure Tree Height**: Calculate the height of the tree, an essential metric in tree analysis.

- **Determine Depth**: Find the depth of a specific value in the tree to understand its position.

- **Check for Balance**: Evaluate tree balance to optimize performance.

- **Tree Traversals**: Explore different tree traversal algorithms, including level-order, pre-order, in-order, and post-order.

- **Seamless Theme Switching**: Enjoy a light or dark theme at your convenience, and your preferred theme is automatically saved in local storage for a consistent experience across visits.

- **Optimized for Any Screen**: Effortlessly adapt to screens of all sizes, ensuring a flawless experience on both desktop and mobile devices.

- **ES6 Modules**: JavaScript code is organized into ES6 modules for improved maintainability.

- **Webpack Bundling**: Optimize resource loading by bundling JavaScript modules with Webpack.

- **Cross-Browser Compatibility**: Ensure smooth performance across various web browsers.

- **Code Formatting Guidelines**: The project adheres to coding standards and maintains code consistency by implementing ESLint along with Prettier for code formatting.


## Pagespeed Insights Score

- ||
| :-----: |
| Overall Score 98.5%, Average of Mobile and Desktop
[ Mobile devices score is only shown below ] |
| |
| Scoreboard |
| |
| Check out [**Pagespeed Insights**](https://pagespeed.web.dev/analysis?url=https%3A%2F%2Fbinary-search-trees.vercel.app%2F) to get live score |
||


## Built With

![HTML5](https://img.shields.io/badge/html5-%23E34F26.svg?style=for-the-badge&logo=html5&logoColor=white)   ![CSS3](https://img.shields.io/badge/css3-%231572B6.svg?style=for-the-badge&logo=css3&logoColor=white)   ![JavaScript](https://img.shields.io/badge/ES6%20Modules%20-%23F7DF1E.svg?style=for-the-badge&logo=javascript&logoColor=black)   ![Webpack](https://img.shields.io/badge/webpack-%238DD6F9.svg?style=for-the-badge&logo=webpack&logoColor=black)   ![html-minifier](https://img.shields.io/badge/html%20minifier-A90533?style=for-the-badge&logo=html5&logoColor=white)   ![CSS3](https://img.shields.io/badge/css_minifier-2C2D72.svg?style=for-the-badge&logo=css3&logoColor=white)


## Tools Used



![NPM](https://img.shields.io/badge/npm-CB3837?style=for-the-badge&logo=npm&logoColor=white)   ![Google](https://img.shields.io/badge/google-DA4437?style=for-the-badge&logo=google&logoColor=white)   ![Prettier](https://img.shields.io/badge/prettier-1A2C34?style=for-the-badge&logo=prettier&logoColor=F7BA3E)   ![Eslint](https://img.shields.io/badge/eslint-3A33D1?style=for-the-badge&logo=eslint&logoColor=white)   ![Visual Studio Code](https://img.shields.io/badge/VS%20Code-0078d7.svg?style=for-the-badge&logo=visual-studio-code&logoColor=white)   ![Git](https://img.shields.io/badge/Git-F05032?style=for-the-badge&logo=git&logoColor=white)   ![Figma](https://img.shields.io/badge/Figma-F24E1E?style=for-the-badge&logo=figma&logoColor=white)


## Let's Connect 👋


Linkedin Profile
  


mail/
  


Github Profile