Skip to content

Latest commit

 

History

History
44 lines (34 loc) · 2.25 KB

README.md

File metadata and controls

44 lines (34 loc) · 2.25 KB

C-data-structures

Welcome to C-data-structures! This is a collection of various data structures implemented in C using void pointers and macros. Each data structure in this project is designed to provide efficient and flexible solutions to common programming challenges. The use of void pointers and macros allows for a generic implementation that can handle different types of data. The present project is from the course "Data Structures and Programming Techniques" which I attended in the first year of my undergraduate studies with a grade 10/10.

Table of Contents

Introduction

Data structures are fundamental building blocks in computer science and programming. They enable efficient data organization, storage, and retrieval, often optimizing algorithms and overall program performance. This project aims to provide a versatile and reliable library of data structures for C programmers.

Data Structures

The following data structures have been implemented in this project:

  • AVL tree
  • Bloom Filter
  • Double Hashing Hash Table
  • Double Linked List
  • Priority Queue
  • Queue
  • Red Black Tree
  • Separate Chaining Hash Table
  • Skip List
  • Stack
  • Vector

Each data structure has its own separate README file, which provides specific details about its implementation, usage, and performance characteristics.

Usage

To use any of the data structures in your C projects, follow these general steps:

  1. Clone or download this repository to your local machine.
  2. Navigate to the specific data structure directory you are interested in.
  3. Include the necessary header files in your C code.
  4. Compile your code along with the data structure's source files.
  5. Use the provided API functions to interact with the data structure in your program.

For more detailed instructions and examples, refer to the individual README files for each data structure.

License

This project is licensed under the MIT License. You are free to use, modify, and distribute the code for both personal and commercial purposes. However, it comes with no warranties or guarantees of any kind. Use it at your own risk.

Thank you for using C-data-structures, I hope you find it useful!