Skip to content

HafizEngineerMuhammadAbdullah/Data-Structures-And-Algorithm-In-C-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

15 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Data Structures and Algorithms in C++

A comprehensive collection of Data Structures, Algorithms, C++ STL, and LeetCode solutions implemented in C++ as part of my learning journey.

This repository serves as a personal DSA knowledge base, interview preparation resource, and problem-solving portfolio.

πŸ“– About This Repository

This repository is dedicated to learning and practicing:

  • Data Structures
  • Algorithms
  • Problem Solving
  • Competitive Programming Concepts
  • Interview Preparation

All programs are written in C++ with a focus on understanding concepts, optimizing solutions, and improving coding skills.


πŸ“š Topics Covered

πŸ”’ Arrays

  • Array Traversal
  • Insertion & Deletion
  • Searching
  • Rotation Problems
  • Prefix Sum Concepts

πŸ” Searching Algorithms

  • Linear Search
  • Binary Search
  • Lower Bound
  • Upper Bound
  • Search-Based LeetCode Problems

πŸ“Š Sorting Algorithms

  • Bubble Sort
  • Selection Sort
  • Insertion Sort
  • Merge Sort
  • Quick Sort
  • Counting Sort
  • Sorting-Based Problem Solving

πŸ”— Linked Lists

  • Singly Linked List
  • Doubly Linked List
  • Circular Linked List
  • Insertion Operations
  • Deletion Operations
  • Reversal
  • Searching
  • Linked List Interview Problems

πŸ“š Stack

  • Stack using Arrays
  • Stack using Linked Lists
  • Push
  • Pop
  • Peek
  • Parentheses Matching
  • Expression Evaluation

🚢 Queue

  • Simple Queue
  • Circular Queue
  • Queue using Linked List
  • Deque Basics

🌳 Trees

  • Binary Tree

  • Binary Search Tree (BST)

  • Tree Traversals

    • Inorder
    • Preorder
    • Postorder
    • Level Order

🌐 Graphs

  • Graph Representation
  • Breadth First Search (BFS)
  • Depth First Search (DFS)

πŸ”„ Recursion

  • Basic Recursion Problems
  • Recursive Thinking
  • Backtracking Fundamentals

⚑ C++ STL (Standard Template Library)

Containers

  • Vector
  • Pair
  • Array
  • List
  • Stack
  • Queue
  • Priority Queue
  • Set
  • Multiset
  • Unordered Set
  • Map
  • Multimap
  • Unordered Map

Algorithms

  • sort()
  • reverse()
  • max_element()
  • min_element()
  • binary_search()
  • lower_bound()
  • upper_bound()
  • next_permutation()
  • count()

Utility Functions

  • Iterators
  • Lambda Functions
  • Comparators

🧩 LeetCode Solutions

A growing collection of LeetCode problems covering:

  • Arrays
  • Strings
  • Linked Lists
  • Stack
  • Queue
  • Recursion
  • Trees
  • Binary Search
  • STL-Based Problems
  • Two Pointers
  • Sliding Window
  • Hashing
  • Sorting

Each solution focuses on:

  • Problem Understanding
  • Optimal Approach
  • Time Complexity Analysis
  • Space Complexity Analysis

🎯 Repository Goals

  • Strengthen DSA Fundamentals
  • Master Problem Solving
  • Improve Coding Skills
  • Prepare for Technical Interviews
  • Learn Efficient Algorithms
  • Practice Competitive Programming

πŸ“ˆ Current Learning Journey

βœ” Arrays

βœ” Searching

βœ” Sorting

βœ” Linked Lists

βœ” Stack

βœ” Queue

βœ” C++ STL

βœ” LeetCode Problem Solving

πŸ”„ Trees

πŸ”„ Graphs

πŸ”„ Dynamic Programming

πŸš€ More topics coming soon...


🧩 Problem Solving

  • LeetCode Problems
  • Practice Questions
  • Algorithmic Thinking

πŸ›  Technologies Used

  • C++
  • VS Code
  • Git
  • GitHub

🎯 Learning Objectives

  • Understand core DSA concepts
  • Improve problem-solving ability
  • Prepare for coding interviews
  • Build strong programming fundamentals
  • Learn efficient algorithm design

πŸš€ Getting Started

Clone Repository

git clone https://github.com/HafizEngineerMuhammadAbdullah/Data-Structures-And-Algorithm-In-C-.git

Open Project

cd Data-Structures-And-Algorithm-In-C-

Compile Program

g++ filename.cpp -o output

Run Program

./output

πŸ“ˆ Repository Progress

βœ” Arrays

βœ” Linked Lists

βœ” Stack

βœ” Queue

βœ” Searching

βœ” Sorting

πŸ”„ Trees (In Progress)

πŸ”„ Graphs (In Progress)

πŸ”„ Dynamic Programming (Upcoming)


🌟 Future Plans

  • Advanced Trees
  • Graph Algorithms
  • Dynamic Programming
  • Greedy Algorithms
  • Backtracking
  • Sliding Window Techniques
  • Two Pointer Techniques
  • Competitive Programming Problems

🀝 Contributions

Contributions, suggestions, and improvements are welcome.

If you find this repository useful, consider giving it a ⭐.


πŸ‘¨β€πŸ’» Author

Muhammad Abdullah

GitHub: https://github.com/HafizEngineerMuhammadAbdullah

LinkedIn: https://www.linkedin.com/in/muhammad-abdullah-360a87384/


πŸ’‘ Quote

"Consistency is more important than perfection."

πŸš€ Keep Learning. Keep Building. Keep Growing.

About

this repo contains the essential Data Structures like Array DS, LinkedList DS, Stack DS, Queue DS, Tree DS(Binary Tree DS & Binary Search Tree DS) & Graph DS,it also contains related Algorithms of Sorting , BFS, DFS & C++ STL Implementation as well

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages