Skip to content

Latest commit

 

History

History
74 lines (56 loc) · 2.32 KB

File metadata and controls

74 lines (56 loc) · 2.32 KB

Data Structures

This repository is dedicated to practicing and implementing various data structures using the Go programming language.

Included Data Structures

  • Linked Lists: Implementations of singly, doubly, and circular linked lists.
  • Stacks: Implementations of stacks using linked lists and arrays.
  • Queues: Implementations of simple and double-ended queues (deques).
  • Binary Trees: Implementations of binary search trees (BST), AVL trees, and red-black trees.
  • Graphs: Implementations of graphs using adjacency lists and adjacency matrices.
  • Hash Tables: Implementations of hash tables with collision handling.

Project Structure

The project is organized into directories, each corresponding to a specific data structure:

data-structures/
├── linked-lists/
│   ├── singly_linked_list.go
│   ├── doubly_linked_list.go
│   └── circular_linked_list.go
├── stacks/
│   ├── stack_linked_list.go
│   └── stack_array.go
├── queues/
│   ├── queue_linked_list.go
│   └── deque.go
├── trees/
│   ├── binary_search_tree.go
│   ├── avl_tree.go
│   └── red_black_tree.go
├── graphs/
│   ├── adjacency_list.go
│   └── adjacency_matrix.go
└── hash_tables/
    └── hash_table.go

Getting Started

  1. Clone the repository:

    git clone https://github.com/ibcaos/data-structures.git
    cd data-structures
  2. Explore the directories and files to see the implementations of the data structures.

  3. Compile and run the examples:

    go run linked-lists/singly_linked_list.go

Contributions

Contributions are welcome! If you wish to contribute, please follow these steps:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/new-data-structure).
  3. Make your changes and commit them (git commit -am 'Add new data structure').
  4. Push your changes (git push origin feature/new-data-structure).
  5. Open a Pull Request.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

Contact

For any questions or suggestions, please open an issue in the repository or contact your-email@example.com.

Thank you for your interest in this project!