Skip to content
forked from Crio-Bytes/DSA

Master repo regarding DSA related MicroBytes.

License

Notifications You must be signed in to change notification settings

archithdwij/DSA

 
 

Repository files navigation

All Contributors

Contributions Welcome

GitHub License MIT

Twitter Follow

Introduction

A data structure is a named location that can be used to store and organise data. And, an algorithm is a collection of steps to solve a particular problem. Learning data structures and algorithms allow us to write efficient and optimised computer programs.

Background

In computer science, a data structure is a data organisation, management, and storage format that enables efficient access and modification. More precisely, a data structure is a collection of data values, the relationships among them, and the functions or operations that can be applied to the data.

In mathematics and computer science, an algorithm is a finite sequence of well-defined, computer-implementable instructions, typically to solve a class of problems or to perform a computation. Algorithms are always unambiguous and are used as specifications for performing calculations, data processing, automated reasoning, and other tasks.


Getting started with DSA
Getting started with DSA is an anthology of Data Structures and Algorithms in all 
popular programming languages.Open and solve an issue(which can be raised by you 
too) inside the microbyte to get started with your contibution by adding on new Data 
Structurs/Algorithms to the microbyte.

                              — Kevin Paulose (@Kevinpaulose05)

0-1 Knapsack
0-1 Knapsack is a classic Dynamic Programming problem. If you haven't yet studied 
DP do give it a shot. In this Mirco-Byte we will focus on how this concept can be 
extended to solve other DP problems having similar patterns.

                              — Sreejan Chaudhury (@Sreejan-22)

Array in Javascript
Arrays are one of the most used data structures. You probably have used it a lot, 
but are you aware of the runtimes many array operations? In this microbyte, we are 
going deeper into the most common operations and their runtimes.

                              — Divyansh Rastogi (@divyanshrastogi51)

BinaryTree_LevelOrderTraversal_Types
Unlike arrays and linked lists which are linear data structures, binary tree is a 
hierarchical data structure, that is, data in binary trees are stored in a 
hierarchical fashion. It is similar to how we draw a family tree or represent the 
different directories and files in the filesystem. In this MicroByte, we'll 
understand Level Order Traversal in Binary Trees and the different kinds of 
questions based on this concept. 

                              — K Anjali Kamath (@Anjalikamath)

Kadane's Algorithm
Kadane's algorithm works by maintaining the start position of a subarray and 
repeatedly looking at the next element in the array and deciding to either. 
Discarding the subarray and starting a new subarray after that element. Let's look 
into it more properly by going through this MicroByte.

                              — Jeevan Chandra Joshi (@G1Joshi)

Sorting Algorithms
This MicroByte is aimed to understanding different sorting algorithms, along with 
their time and space complexity analysis.

                              — Divya Chopra (@divya1509)

string_search
In this micro-byte, we will be going through the working of the two most famous 
string matching algorithms: Rabin Karp and KMP string matching algorithm. The 
speciality of both these algorithms is that they achieve linear time complexity for 
average case, making them far more superior to naive string matching algorithm 
which completes string matching in quadratic time for all cases.

                              — Shubham Gupto (@IamShubhamGupto)

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Kevin Paulose

💻 📖 🤔 🖋 👀 📋

Amogh Rajesh Desai

👀 📋

K Anjali Kamath

💻 📖 🤔 🖋

Sudhanshu tiwari

👀 📋

Divyansh Rastogi

💻 📖 🤔 🖋

Crio.Do

📋

Ayush Kumar Shaw

💻 📖 📋 🤔 🚧 👀

Archithdwij

👀 📋

Divya_S

💻 🖋

Pulkit Verma

💻 🖋

Sreejan-22

📖 💻 🖋 🤔

Shubham

💻 🖋 🤔 📖

Janhavi Gautam

💻

Jeevan Chandra Joshi

💻 🖋 🤔 📖

Shubham Kumar

💻 🖋

Divya

💻 📖 🤔 🖋

This project follows the all-contributors specification. Contributions of any kind welcome!

About

Master repo regarding DSA related MicroBytes.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 44.0%
  • C 30.8%
  • Java 21.0%
  • JavaScript 4.2%