Skip to content

AvaniDayal/DSA

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

DSA - Data Structures and Algorithms

DSA stands for data structures and algorithms. It refers to the study and implementation of various data types. It involves the orgianization, management and manipulation techniques to solve computational problems.

Data Structures

Some common data structures are:

  1. Arrays- fundamental data structure that stores a collection of elements of same data type in contiguous memory locations
  2. Linkedlists- is a dynamic data structure in which elements are stored as separate objects and each element ("node") conatins a reference ("link") to the next node
  3. Stacks- follows Last-In-First-Out(LIFO) mechanism,meaning last element added would be the first one to be removed.
  4. Queues-a Fisrt-in-First-Out(FIFO) dsa,implies that the first element added will be the first to be removed.
  5. Trees-used to represent hierachial relationships between elements. Types of trees;binary,trie,b-tree
  6. Hash tables- provides efficient storage,search,insertion,and deletion operations
  7. Graphs- a non linear data structure consisting of nodes(vertices) connected by edges.

Types of DSA in Python

Sorting Algorithms

  1. Bubble Sort - is a simple sorting algorithm that works repeatedly iterating through a list of elements,comparing the adjacent elements and swapping them if they are in the wrong order. To know more about it, you can visit this website. https://runestone.academy/ns/books/published/pythonds/SortSearch/TheBubbleSort.html#:~:text=The%20bubble%20sort%20makes%20multiple,the%20location%20where%20it%20belongs
  2. Insertion Sort- is a sorting algorithm that works by dividing input into a sorted and unsorted region.Each subsequent element from the unsorted region is inserted into sorted region as its correct position.To know more about this visit the website https://www.w3schools.com/dsa/dsa_algo_insertionsort.php
  3. Merge Sort- it uses divide-and-conquer technique to sort arrays. To know more about the same https://www.geeksforgeeks.org/merge-sort/
  4. Selection Sort
  5. Radix Sort
  6. Counting Sort
  7. Bucket Sort
  8. Shell Sort
  9. Heap Sort
  10. Quick Sort

Searching Algorithms

  1. Linear Search
  2. Binary search
  3. Hashing
  4. Depth-First Search(DFS)
  5. Breadth-First Search(BFS)

Graph Algorithms

1.Dijkstra's Algorithm

Greedy Algorithms

  1. Huffman Coding
  2. Greedy Coloring
  3. Activity Selection Problem

Back Tracking Algorithm

1.N-Queens Problem

Recursive Algorithm

  1. Factorial
  2. Fibonacci Series
  3. Quick sort

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%