Skip to content

AdityaSinghh7/DSAInCpp

Repository files navigation

DSAInC++

This repository is part of a series exploring various data structures in C++.

1.

The first project develops a String class, enhancing C-style strings with dynamic memory management and easy-to-use functionalities. This project serves as a foundation for mastering dynamic allocation and class encapsulation in C++.

2.

C++ implementations of UnorderedArrayList and UnorderedLinkedList, derived from an abstract base class UnorderedList. It includes performance measurement functionalities using the Timer class, which provides precise timing for wall-clock, user CPU, and system CPU times. These tools are essential for benchmarking and comparing the efficiency of different list operations in a simple, modular codebase suitable for educational and development purposes.

3.

C++ implementations of sorted list data structures, specifically tailored to showcase efficient insertion, deletion, and search operations. Accompanied by the Timer utility class defined in Timer.h, the repository offers tools to precisely measure performance metrics across these operations. The main.cpp and sorted_lists.cpp files contain the core functionality and benchmarks, respectively, making this a comprehensive toolkit for educational and performance evaluation purposes in data structure development.

4.

C++ implementations of fundamental data structures Linked Stacks, Linked Queues, Array Stacks, and Array Queues. The code demonstrates efficient operations such as push, pop, enqueue, and dequeue across different structure types. Performance measurements are facilitated by the Timer.h utility, providing precise timing of operations. main.cpp integrates these structures in practical scenarios, serving both educational and benchmarking purposes.

5.

C++ implementation of a hash table with custom hashing functions, providing efficient data storage and retrieval methods. The codebase includes modules for timing operations, generating statistics on performance, and handling collisions using linked lists. Ideal as a base for developing more complex data handling applications.

6.

C++ implementation of binary search trees (BST) and AVL trees to explore efficient data structures for balanced tree operations. It includes comprehensive functionality for insertion, deletion, and search operations, alongside performance timing to evaluate efficiency.

7.

C++ implementation of a robust sorting module that efficiently handles various sorting algorithms, including quicksort, mergesort, and heapsort. The implementation is designed to be modular, allowing for easy extension and testing of different sorting techniques. Performance evaluation is conducted using a custom timing module

8.

C++ implementation of a graph data structures and algorithms, featuring functionalities like traversal, pathfinding, and graph operations. The codebase includes definitions and methods for both directed and undirected graphs, and integrates with a main application to demonstrate various graph algorithms in action.

9.

C++ implementation of Dijkstra's algorithm for shortest path calculations and a ladder problem solver using graph theory concepts. It includes separate modules for each algorithm, with comprehensive interfaces and functionalities designed for analytical purposes.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages