/C-Function-Library

This repository was created as a resource for NIT Calicut, Computer Science and Engineering students, in thier third and fourth semesters. This contains (almost) all data structures and algorithsm needed for "Program Design" and "Data Structures & Algorithms" laboratories.

Primary LanguageC

Data Structures and Algorithms Library

Welcome to the Data Structures and Algorithms Library repository, tailored for S4 Computer Science and Engineering students at NIT Calicut. This repository serves as an invaluable resource, providing a comprehensive guide and a ready-to-use library for your Data Structures and Algorithms laboratory.

About This Repository

In your journey through computer science, mastering data structures and algorithms is essential. It forms the foundation for efficient problem-solving and is a critical skill in software development. This repository is designed with the following objectives in mind:

  • Education: Our primary goal is to facilitate learning. We've structured the repository to provide a clear and practical understanding of fundamental data structures and algorithms.

  • Convenience: As you work on lab assignments and projects, this repository acts as a quick reference and plug-and-play library, helping you implement and test your code more efficiently.

  • Community Collaboration: We encourage contributions and improvements from students and faculty alike. Your feedback and contributions help us maintain the repository's quality and relevance.

Table of Contents

Here's an overview of what you'll find in this repository:

  1. Basic Data Structures

    • Arrays: Efficiently store and manipulate data. You shall be able to build heaps, stacks and queues out of arrays.
    • Linked Lists: Learn how to work with linked data structures, both singly-linked and doubly-linked.
    • Heaps: Explore binary heaps and their applications. Heap sort is also implemented using the implemented heaps.
    • Sorting Algorithms: Discover different sorting techniques and their implementations including Insertion sort, Merge sort and Quick sort.
  2. Basic Binary Trees

  3. Advanced Data Structures

    • More advanced data structures such as binomial heap, disjoint-set union (DSU), and graph algorithms will be added soon.

Issues

Your feedback is invaluable to us. If you encounter any issues, have questions, or would like to request additional features or data structures, please feel free to open an issue. We are here to help and improve the repository.

Contributing

We invite you to contribute to make this repository even more valuable to the NIT Calicut community. Here's how you can get involved:

  1. Fork the repository to your GitHub account.
  2. Create a new branch for your feature or bug fix.
  3. Make your changes and ensure they are well-documented.
  4. Test your changes thoroughly.
  5. Submit a pull request (PR) with a clear description of your changes.
  6. Your PR will be reviewed, and once approved, it will be merged.

By collaborating, we can collectively enhance and expand this library for the benefit of all students.

Thank you for your contributions, and we look forward to your active involvement in this educational initiative.

Happy coding!