Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/md-imtiaz-hossain/50-days_dsa_java_leetcode_practice_part-01

50 Days DSA Challeng with Java and practice with LeetCode
https://github.com/md-imtiaz-hossain/50-days_dsa_java_leetcode_practice_part-01

50daysofcode algorithm data-structures dsa java

Last synced: about 4 hours ago
JSON representation

50 Days DSA Challeng with Java and practice with LeetCode

Awesome Lists containing this project

README

        

**Here's a comprehensive explanation of data structures and algorithms:**

## **Data Structures:**

* **Definition:** A data structure is a way of organizing and storing data in a computer so that it can be accessed and modified efficiently. It's like a blueprint for how data is arranged in memory.
* **Purpose:** They provide efficient ways to manage and manipulate data, enabling a wide range of operations like searching, sorting, inserting, deleting, and more.
* **Examples:**
- **Arrays:** Ordered collections of elements of the same data type, accessed using an index.
- **Linked Lists:** Sequences of elements linked together with pointers, allowing flexible insertion and deletion.
- **Stacks:** Last-in, first-out (LIFO) structures, like a stack of plates.
- **Queues:** First-in, first-out (FIFO) structures, like a line at a store.
- **Trees:** Hierarchical structures with a root node and child nodes, useful for representing relationships and searching.
- **Graphs:** Networks of nodes and edges, used to model connections and relationships.
- **Hash Tables:** Dictionaries that store key-value pairs, providing fast lookups based on keys.

## **Algorithms:**

* **Definition:** An algorithm is a set of instructions or steps to solve a specific problem or perform a task. It's like a recipe or a detailed plan.
* **Purpose:** Algorithms provide the logic for how to manipulate and process data within data structures to achieve desired outcomes.
* **Examples:**
- **Searching Algorithms:** Finding a specific element in a data set (e.g., linear search, binary search)
- **Sorting Algorithms:** Arranging elements in a specific order (e.g., bubble sort, insertion sort, merge sort, quick sort)
- **Graph Algorithms:** Finding shortest paths, detecting cycles, or solving network flow problems.
- **String Algorithms:** Pattern matching, text compression, or text editing.
- **Mathematical Algorithms:** Performing numerical computations or solving mathematical problems.

## **Key Points:**

* Data structures and algorithms are fundamental building blocks of computer science.
* The choice of appropriate data structures and algorithms is crucial for efficient and scalable software development.
* Understanding data structures and algorithms is essential for solving complex programming problems and designing efficient solutions.

![Big O.png](src%2Fmain%2Fjava%2Fcom%2Fiimtiaz%2FDSA_theory%2FBig%20O.png)
![Big O 1.png](src%2Fmain%2Fjava%2Fcom%2Fiimtiaz%2FDSA_theory%2FBig%20O%201.png)

## Day 01
![Day 01.png](src%2Fmain%2Fjava%2Fcom%2Fiimtiaz%2Fday_01%2FDay%2001.png)

## Day 02
![Day 02.png](src%2Fmain%2Fjava%2Fcom%2Fiimtiaz%2Fday_02%2FDay%2002.png)

## Day 03
![Day 03.png](src%2Fmain%2Fjava%2Fcom%2Fiimtiaz%2Fday_03%2FDay%2003.png)

## Day 04
![Day 04.png](src%2Fmain%2Fjava%2Fcom%2Fiimtiaz%2Fday_04%2FDay%2004.png)

## Day 05
![Day 05.png](src%2Fmain%2Fjava%2Fcom%2Fiimtiaz%2Fday_05%2FDay%2005.png)

## Day 06
![Day 06.png](src%2Fmain%2Fjava%2Fcom%2Fiimtiaz%2Fday_06%2FDay%2006.png)

## Day 07
![Day 07.png](src%2Fmain%2Fjava%2Fcom%2Fiimtiaz%2Fday_07%2FDay%2007.png)

## Day 08
![Day 08.png](..%2FDay%2008.png)

## Day 09
![Day 09.png](src%2Fmain%2Fjava%2Fcom%2Fiimtiaz%2Fday_09%2FDay%2009.png)

## Day 10
![Day 10.png](src%2Fmain%2Fjava%2Fcom%2Fiimtiaz%2Fday_10%2FDay%2010.png)

## Day 11
![Day 11.png](src%2Fmain%2Fjava%2Fcom%2Fiimtiaz%2Fday_11%2FDay%2011.png)

## Day 12
![Day 12.png](src%2Fmain%2Fjava%2Fcom%2Fiimtiaz%2Fday_12%2FDay%2012.png)

## Day 13
![Day 13.png](src%2Fmain%2Fjava%2Fcom%2Fiimtiaz%2Fday_13%2FDay%2013.png)

## Day 14
![Day 14.png](src%2Fmain%2Fjava%2Fcom%2Fiimtiaz%2Fday_14%2FDay%2014.png)

## Day 15
![Day 15.png](src%2Fmain%2Fjava%2Fcom%2Fiimtiaz%2Fday_15%2FDay%2015.png)

## Day 16
![Day 16.png](src%2Fmain%2Fjava%2Fcom%2Fiimtiaz%2Fday_16%2FDay%2016.png)

## Day 17
![Day 17.png](src%2Fmain%2Fjava%2Fcom%2Fiimtiaz%2Fday_17%2FDay%2017.png)

## Day 18
![Day 18.png](src%2Fmain%2Fjava%2Fcom%2Fiimtiaz%2Fday_18%2FDay%2018.png)

## Day 19
![](src/main/java/com/iimtiaz/day_19/Day 19.png)

## Day 20
![](src/main/java/com/iimtiaz/day_20/Day 20.png)

## Day 21
![day 21.png](src%2Fmain%2Fjava%2Fcom%2Fiimtiaz%2Fday_21%2Fday%2021.png)

## Day 22
![Day 22.png](src%2Fmain%2Fjava%2Fcom%2Fiimtiaz%2Fday_22%2FDay%2022.png)

## Day 23
![day 23.png](src%2Fmain%2Fjava%2Fcom%2Fiimtiaz%2Fday_23%2Fday%2023.png)

## Day 24
![Day 24.png](src%2Fmain%2Fjava%2Fcom%2Fiimtiaz%2Fday_24%2FDay%2024.png)