Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

C++ Data Structures and Algorithms

Welcome to my repository dedicated to practicing and learning C++ through the implementation of various data structures and algorithms. This repository serves as a resource for anyone interested in enhancing their C++ skills and understanding fundamental concepts in computer science.

Contents

Introduction

This repository contains implementations of various data structures and algorithms in C++. Each implementation is accompanied by thorough documentation and test cases to ensure reliability and understanding.

Data Structures

Here is a list of the data structures that are (or will be) implemented:

  • Dynamic Array (Array List)
  • Linked List
  • Doubly Linked List
  • Stack
  • Queue
  • Priority Queue (Heap)
  • Union Find
  • Binary Search Tree
  • Hash Table
  • Fenwick Tree
  • AVL Tree

Algorithms

This section includes a variety of algorithms, focusing on:

  • Merge Sort
  • Quick Sort
  • Binary Search
  • Sliding Window Fixed Size
  • Sliding Window Variable Size
  • In-Order Traversal
  • Pre-Order Traversal
  • Post-Order Traversal
  • Level-Order Traversal
  • Breadth First Search (BFS)
  • Depth First Search (DFS)
  • Dijkstra's Shortest Path
  • Floyd Warshall Shortest Path
  • Bellman-Ford Shortest Path
  • Kruskal's Minimum Spanning Tree
  • Matrix Multiplication
  • Rabin-Karp for String Matching
  • Prefix function Kunth-Morris-Pratt
  • Aho-Corasick

Testing

Each data structure and algorithm is accompanied by a set of unit tests to ensure correctness and performance. The tests are written using Google Test or a similar framework.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

C++ Data Structures and Algorithms for Practice

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors