awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
mandliya avatar

mandliya/algorithms_and_data_structures

0
View on GitHub↗
6,145 stars·1,332 forks·C++·GPL-2.0·13 views

Algorithms And Data Structures

This project is a comprehensive collection of C++ libraries and toolkits providing reference implementations for data structures, graph algorithms, and bitwise logic. It serves as a C++ algorithm reference containing over 180 solved coding problems and a specialized toolkit for competitive programming.

The repository distinguishes itself through extensive low-level bit manipulation libraries for parity checks, endianness detection, and XOR-based logic. It also provides a wide array of reference solutions for complex algorithmic challenges involving backtracking, graph theory, and dynamic programming.

The capability surface covers fundamental linear and hierarchical data organizers, including linked lists, stacks, queues, and binary search trees. It includes a full suite of graph algorithms for pathfinding and spanning trees, various sorting and searching methods, matrix transformations, and string processing utilities. Additionally, it covers mathematical computational functions, lossless data compression, and basic cryptographic ciphers.

Features

  • Algorithm Implementations - Offers a comprehensive C++ reference library of solved coding problems and standard algorithmic patterns.
  • C++ Implementations - Serves as a high-performance algorithmic reference with over 180 solved coding problems implemented in C++.
  • Bitwise Manipulation Utilities - Provides a specialized toolkit of low-level bitwise logic operations and utilities for solving algorithmic problems.
  • Adjacency Lists - Implements graph representations using adjacency lists to store vertices and edges for efficient traversal.
  • Graph Topology Management - Implements the ability to create directed connections between specified vertices in a graph.
  • Competitive Programming Solutions - Provides optimized C++ implementations of algorithms and data structures for competitive programming challenges.
  • Breadth-First Search - Provides a reference implementation of the breadth-first search algorithm for graph traversal.
  • Depth-First Search Algorithms - Provides a reference implementation of the depth-first search algorithm for exploring graph branches.
  • Shortest Path Algorithms - Implements Dijkstra and Prim algorithms to compute the minimum distance between nodes in graphs.
  • Graph Algorithm Routines - Provides a suite of graph algorithms including BFS, DFS, Dijkstra, and Prim's algorithms.
  • Data Structures - Includes scratch implementations of fundamental C++ structures such as linked lists and binary search trees.
  • Generic Data Structures - Provides generic C++ implementations of fundamental data structures such as linked lists, stacks, queues, and trees.
  • Binary Search Trees - Implements a binary search tree for efficient data insertion and retrieval.
  • Data Structure Implementations - Provides practical C++ implementations of fundamental structures like stacks, queues, lists, graphs, and trees.
  • Stack Implementations - Provides a LIFO stack implementation supporting push, pop, and peek operations.
  • Graph Pathfinding Algorithms - Implements pathfinding and spanning tree algorithms including Dijkstra, Prim, and Kruskal.
  • Mathematical Algorithms - Implements fundamental mathematical logic including GCD, factorials, and power calculations.
  • Minimum Spanning Tree Algorithms - Implements algorithms to identify the minimum spanning tree in weighted graph structures.
  • Backtracking Solutions - Provides a recursive backtracking search implementation to explore all possible solution paths.
  • Backtracking Algorithms - Implements a backtracking search algorithm to solve combinatorial puzzles like word searches.
  • Dynamic Programming - Provides reference implementations of dynamic programming solvers using tabular and memoization techniques.
  • Bit Manipulation Primitives - Provides a comprehensive library of fundamental bitwise operations, masks, and shift-based primitives.
  • General Sorting Algorithms - Provides standard implementations of fundamental sorting and searching routines like QuickSort and Binary Search.
  • Memoization - Implements memoization to optimize recursive functions by caching results of expensive calls.
  • Endianness and Range Control - Implements byte order reversal to convert data between big-endian and little-endian representations.
  • Middle Node Identification - Implements a single-traversal algorithm to identify the middle node of a linked list.
  • Doubly Linked Lists - Implements bidirectional record sequences allowing efficient traversal and node replacement in both directions.
  • Circular Queue Logic - Implements a circular queue using a fixed-capacity buffer that wraps around.
  • Binary Tree Solutions - Provides various binary tree operations, including zig-zag traversals and BST validation.
  • Graph Problem Solving - Implements comprehensive graph-based solutions including Dijkstra, Prim, Kruskal, and standard BFS/DFS traversals.
  • Bit Manipulation Solutions - Implements low-level binary operations in C++ for memory optimization and parity checking.
  • Search Tree Implementations - Implements search operations to locate specific values and identify extreme elements within a tree.
  • Tree Modifications - Provides capabilities for structural tree modifications, such as clearing nodes and mirroring symmetry.
  • Bitwise Logic Operations - Provides a bitwise implementation of integer addition using XOR and AND operations.
  • String Manipulation - Includes a suite of basic operations for transforming, modifying, and analyzing C++ strings.
  • Integer Overflow Detections - Provides runtime checks to detect if mathematical operations exceed signed integer capacity.
  • Element Rotations - Implements array element shifting using a reversal-based algorithm to rotate the sequence.
  • Bitwise Uniqueness Verifications - Determines if a string contains only unique characters using bitwise tracking.
  • Combinatorial Optimization Solvers - Implements optimization solvers using memoization and tabular techniques for combinatorial problems like the knapsack problem.
  • Huffman Coding Implementations - Implements Huffman encoding for lossless data compression using variable-length binary codes.
  • Integer Sequence Generators - Calculates specific terms of the Fibonacci sequence using iterative and memoized methods.
  • Linked List Cycle Detectors - Implements pointer-based algorithms to detect loops within linked data structures.
  • Linked List Cycle Removals - Provides capabilities to identify loops in a linked list and break them to restore the linear structure.
  • Bit Reversals - Implements iterative swapping to flip the sequence of bits in an unsigned integer.
  • Set Bit Counting - Uses set bit counting algorithms to determine the parity of a binary number.
  • Divide and Conquer Sorts - Implements sorting algorithms that utilize the divide and conquer paradigm, such as Merge Sort and QuickSort.
  • XOR-Based Element Identification - Locates elements appearing an odd number of times using XOR operations.
  • Array Reordering Algorithms - Provides an algorithm to move zero values to the end of an array while preserving relative order.
  • Dynamic Programming Techniques - Implements optimization and combinatorial problems using C++ memoization and tabular techniques.
  • Optimization Problem Solvers - Provides general-purpose optimization solvers using dynamic programming and memoization.
  • Duplicate Detection in Arrays - Identifies duplicate values within an array using frequency analysis and adjacent element checks.
  • Pointer Manipulations - Provides implementations for rearranging linked lists and strings through in-place pointer updates.
  • Bit-Level Integer Operations - Provides bit-level integer operations to calculate the number of differing bits between two integers.
  • Bit Sequence Swapping - Implements XOR-based logic to interchange two non-overlapping sets of bits.
  • Bit-Shifting Arithmetic - Implements mathematical operations using bit-shifts and subtraction to avoid standard multiplication operators.
  • Linked List Manipulation Utilities - Provides a suite of fundamental operations for reversing nodes, removing cycles, and merging sorted lists.
  • Linked List Analysis Utilities - Includes utilities to verify if a linked list is a palindrome.
  • Duplicate Node Removal - Implements logic to remove duplicate nodes from sorted linked lists.
  • Linked List Sorting Algorithms - Provides divide-and-conquer sorting implementations specifically optimized for linked lists.
  • Sorted Insertions - Provides a mechanism to insert new elements into a linked list while maintaining ascending order.
  • Linked List Topology Transformers - Provides routines for reversing the topology of linked list nodes.
  • List Rotations - Implements algorithms for shifting linked list elements to the right via rotation.
  • Node Removal Techniques - Provides techniques for deleting specific nodes from linked lists using target pointers.
  • Partitioning Algorithms - Implements linked list partitioning to reorganize nodes around a pivot value.
  • Bubble Sorts - Provides a reference implementation of the bubble sort algorithm for ordering lists.
  • Heap Sorts - Implements the heap sort algorithm by constructing a max-heap to order elements.
  • Missing Positive Integer Detections - Implements a linear-time algorithm to find the smallest missing positive integer in an unsorted array.
  • Merge Sorts - Provides a recursive divide-and-conquer implementation of the merge sort algorithm.
  • Quicksorts - Implements QuickSort using a recursive partitioning strategy around a pivot element.
  • Selection Sorts - Implements selection sort by repeatedly finding the minimum element from the unsorted portion.
  • Two-Pointer Strategies - Implements two-pointer algorithmic patterns for efficient linear data structure traversal and cycle detection.

Star history

Star history chart for mandliya/algorithms_and_data_structuresStar history chart for mandliya/algorithms_and_data_structures

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Curated searches featuring Algorithms And Data Structures

Hand-picked collections where Algorithms And Data Structures appears.
  • Algorithm Complexity Theory Resources
  • Competitive Programming Practice Resources
  • Data Structures and Algorithms

Frequently asked questions

What does mandliya/algorithms_and_data_structures do?

This project is a comprehensive collection of C++ libraries and toolkits providing reference implementations for data structures, graph algorithms, and bitwise logic. It serves as a C++ algorithm reference containing over 180 solved coding problems and a specialized toolkit for competitive programming.

What are the main features of mandliya/algorithms_and_data_structures?

The main features of mandliya/algorithms_and_data_structures are: Algorithm Implementations, C++ Implementations, Bitwise Manipulation Utilities, Adjacency Lists, Graph Topology Management, Competitive Programming Solutions, Breadth-First Search, Depth-First Search Algorithms.

What are some open-source alternatives to mandliya/algorithms_and_data_structures?

Open-source alternatives to mandliya/algorithms_and_data_structures include: kodecocodes/swift-algorithm-club — This project is a comprehensive collection of common computer science algorithms and data structures implemented in… sharingsource/logicstack-leetcode — LogicStack-LeetCode is a curated repository of solved algorithm problems and data structure implementations, primarily… xtaci/algorithms — This is a collection of classical algorithms and data structures implemented as a header-only C++ library. It provides… azl397985856/leetcode — This project is a curated educational resource and solution repository for algorithmic challenges, specifically… greyireland/algorithm-pattern — This project is an algorithm template library and coding interview study guide providing reusable code patterns for… petgraph/petgraph — petgraph is a graph data structure library for the Rust programming language. It provides a collection of tools for…

Open-source alternatives to Algorithms And Data Structures

Similar open-source projects, ranked by how many features they share with Algorithms And Data Structures.
  • kodecocodes/swift-algorithm-clubkodecocodes avatar

    kodecocodes/swift-algorithm-club

    29,099View on GitHub↗

    This project is a comprehensive collection of common computer science algorithms and data structures implemented in Swift. It serves as an educational reference and library for studying computational complexity, algorithmic logic, and data structure engineering through practical code examples. The repository provides a wide suite of data structure implementations, including various types of linked lists, heaps, hash tables, and an extensive range of hierarchical trees such as Red-Black, B-Tree, and Splay trees. It also covers diverse sorting and searching techniques, from basic bubble sort to

    Swiftalgorithmsdata-structuresswift
    View on GitHub↗29,099
  • sharingsource/logicstack-leetcodeSharingSource avatar

    SharingSource/LogicStack-LeetCode

    7,495View on GitHub↗

    LogicStack-LeetCode is a curated repository of solved algorithm problems and data structure implementations, primarily drawn from the LeetCode platform. Its core identity is a structured collection of solutions designed to support technical interview preparation and competitive programming practice, with each solution accompanied by complexity analyses to help engineers understand performance trade-offs. The repository distinguishes itself through its breadth of coverage across fundamental algorithmic patterns and data structures. It includes implementations for array manipulation, string pro

    algorithminterview-practiceinterview-questions
    View on GitHub↗7,495
  • xtaci/algorithmsxtaci avatar

    xtaci/algorithms

    5,454View on GitHub↗

    This is a collection of classical algorithms and data structures implemented as a header-only C++ library. It provides a suite of tools for general algorithm implementation, including data structure management, graph theory analysis, and string processing. The library is distinguished by its specialized toolkits for cryptographic hashing and encoding, featuring implementations of MD5, SHA-1, and Base64. It also includes advanced capabilities for high-performance string processing via suffix trees and arrays, as well as computational number theory for primality testing and arbitrary-precision

    C++
    View on GitHub↗5,454
  • azl397985856/leetcodeazl397985856 avatar

    azl397985856/leetcode

    55,758View on GitHub↗

    This project is a curated educational resource and solution repository for algorithmic challenges, specifically focused on LeetCode problems. It serves as a technical reference for common data structures and algorithmic patterns, providing verified code implementations across multiple programming languages alongside detailed logic and complexity analysis. The repository functions as a comprehensive study guide for competitive programming and technical interview preparation. It includes specialized learning tools such as an Anki flashcard dataset for spaced repetition and a browser extension t

    JavaScriptalgoalgorithmalgorithms
    View on GitHub↗55,758
  • See all 30 alternatives to Algorithms And Data Structures→