Skip to content

This Github repository is dedicated to the study and implementation of various data structures and algorithms Whether you are a beginner looking to learn the basics or an experienced programmer seeking to improve your skills, this repository has something for everyone. So come join us and dive into the world of data structures and algorithms!.

License

Notifications You must be signed in to change notification settings

heyhooman/0xDSA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

535 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository belong to the Data Structure and Algorithm problems!

N|Solid

Build Status
This github repository OxDSA is dedicated to the study and implementation of various data structures and algorithms Whether you are a beginner looking to learn the basics or an experienced programmer seeking to improve your skills, this repository has something for everyone. So come join us and dive into the world of data structures and algorithms!

This Repository consists of:

Instructions:

  • Create a root folder for the repository to keep all the files organized.
  • For create a new folder checkout already exists one and naming pattern.
  • Create a readme.md file in each question folder to explain the problem and provide a brief overview of the solution.
  • Use meaningful names for the folders and files to make it easier to understand and maintain, for gfg using question name as folder name in Pascal case.
  • Keep the solution code in the respective question folder to maintain the structure of the repository.
  • Use clear and concise language in the readme.md files to explain the problem and solution.
  • Include any necessary information or resources required to understand the solution in the README.md file.
  • Use proper formatting and markdown in the README.md file for better readability.
  • Keep the repository up-to-date with the latest changes and updates.
  • Use version control with Git to keep track of changes and revert if necessary.
  • Use branches for different features or solutions to keep the master branch clean.
  • Use pull requests to review and merge changes before pushing to the master branch.
  • Document any assumptions or limitations in the solution in the README.md file.
  • Keep the repository well-organized and clean, removing any unnecessary files or folders.
  • Regularly check for and respond to issues or pull requests in a timely manner.

Technology we used to solve DSA problem:

Data Structure and Algorithms (DSA) can be implemented using various programming languages and technologies, but some of the most commonly used ones are:

  • C++ : A popular and widely used programming language, known for its speed and efficiency in implementing algorithms.
  • Java : A widely used programming language with a rich API and libraries, used for implementing various algorithms and data structures.
  • Python : A high-level programming language known for its simplicity and readability, commonly used for implementing various algorithms and data structures.
  • JavaScript : A popular web-based programming language widely used for developing client-side applications, also used for implementing some basic algorithms.
  • Rust : A systems programming language with a focus on speed and performance, also used for implementing some DSA problems.
  • SQL : A popular language used for database management and manipulation, also used for some simple DSA problems.

IDE used for DSA:

Important Problems :

1- String:

I have divided string problem in different category.

Parenthesis problem:-

Counting of substring based on some condition:-

Check types of string:-

Palindromic string:-

Sorting on String:-

Longest and shortest kind of String Problem:-

2- Two Pointers:

(i) Running from both ends of an array:

Sum Problems:

Trapping Water

Next Permutation

Reversing / Swapping

Others

(ii) Slow and fast Pointer

Linked List Operations

Cyclic Detection

Sliding Window/Caterpillar Method

Rotation

String

Remove Duplicate

Others

(iii) Running from beginning of 2 arrays / Merging 2 arrays

Sorted arrays

Intersections/LCA like

SubString

Median Finder

Meet-in-the-middle / Binary Search

Others

(iv) Split & Merge of an array / Divide & Conquer

Partition

Sorting

3- Sliding Window:

Fix Sized Window

Variable Sized Window

Hashmap

About

This Github repository is dedicated to the study and implementation of various data structures and algorithms Whether you are a beginner looking to learn the basics or an experienced programmer seeking to improve your skills, this repository has something for everyone. So come join us and dive into the world of data structures and algorithms!.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 6