Skip to content

It is a document repository. I'm learning DSA so I created this repository to note down all the things, that might benefit many others. In this repository, I have tried to cover all the important topics of data structures and algorithms.

Asfak00/DSA-learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Welcome To DSA Learning

Here is the all chapter that we will learn in this docs

  • Big O Notation
  • Recursion
  • Linear Search
  • Binary Search
  • Bubble Sort
  • Selection Sort
  • Insertion Sort
  • Stack
  • Queue
  • Linked List
  • Binary Tree

Algorithms


Big O Notation

> Big-O notation āĻšāĻšā§āĻ›ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§‹āĻ¨ā§‹ āĻāĻ•āĻŸāĻž function āĻāĻ° āĻ‡āĻ¨āĻĒā§āĻŸ āĻŦāĻžā§œāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡ āĻ•āĻ¤āĻŸāĻž āĻŸāĻžāĻ‡āĻŽ āĻ•āĻŽāĻĒā§āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋāĻŸāĻŋ āĻ“ āĻ•āĻ¤āĻŸāĻž āĻ¸ā§āĻĒā§‡āĻ¸ āĻ•āĻŽāĻĒā§āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋāĻŸāĻŋ āĻšāĻšā§āĻ›ā§‡ āĻ¸ā§‡āĻŸāĻž āĻ¨āĻŋāĻ°ā§āĻŖā§Ÿ āĻ•āĻ°āĻžāĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŸā§āĻ˛ āĻ¯āĻžāĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻāĻ•āĻŸāĻž āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽā§‡āĻ° āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻŸāĻžāĻ‡āĻŽ āĻ•āĻŽāĻĒā§āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋāĻŸāĻŋ āĻŦā§‡āĻ° āĻ•āĻ°āĻž āĻ¯āĻžā§ŸāĨ¤ Big O notation āĻ•ā§‹āĻ¨ā§‹ āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽā§‡āĻ° āĻŸāĻžāĻ‡āĻŽ āĻ•āĻŽāĻĒā§āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋāĻŸāĻŋ āĻ“ āĻ•āĻ¤āĻŸāĻž āĻ¸ā§āĻĒā§‡āĻ¸ āĻ•āĻŽāĻĒā§āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻŖā§Ÿ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšā§Ÿ, āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŦā§ƒāĻĻā§āĻ§āĻŋāĻ° āĻšāĻžāĻ° āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤ āĻšā§ŸāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, O(1), O(log n), O(n), O(n log n), O(n^2) āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤

Big-O notation āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻ¨āĻŋā§ŸāĻ¤ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ•ā§Ÿā§‡āĻ•āĻŸāĻž āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•āĻŋāĻĒā§āĻŸ āĻŽā§‡āĻĨāĻ¤ āĻāĻ° āĻŸāĻžāĻ‡āĻŽ āĻ•āĻŽāĻĒā§āĻ˛ā§‡āĻ¸āĻŋāĻŸāĻŋ āĻ“ āĻ¸ā§āĻĒā§‡āĻ¸ āĻ•āĻŽāĻĒā§āĻ˛ā§‡āĻ¸āĻŋāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻŖā§Ÿ āĻ•āĻ°āĻŋ

=> Big O(n) - āĻ¯āĻ–āĻ¨ āĻ•ā§‹āĻ¨ā§‹ āĻ‡āĻ¨āĻĒā§āĻŸ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻĨāĻžāĻ•ā§‡ ( āĻŽāĻžāĻ¨ā§‡ āĻ•āĻ¤āĻ—ā§āĻ˛ā§‹ āĻ‡āĻ¨āĻĒā§āĻŸ āĻ…āĻĨāĻŦāĻž āĻ­ā§‡āĻ˛ā§ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ…āĻĨāĻŦāĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ†āĻ¸āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻœāĻžāĻ¨āĻŋ āĻ¨āĻž ) āĻ¤āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ¸ā§‡āĻŸāĻžāĻ•ā§‡ n āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻ¨ā§‡āĻ‡, āĻāĻŦāĻ‚ āĻ¯ā§‡ āĻ¸āĻ•āĻ˛ āĻŽā§‡āĻĨāĻĄā§‡āĻ° āĻŸāĻžāĻ‡āĻŽ āĻ•āĻŽāĻĒā§āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋāĻŸāĻŋ āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻŖā§Ÿ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽā§Ÿ āĻāĻ‡āĻ°āĻ•āĻŽ āĻ­āĻžāĻŦā§‡ āĻ…āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ‡āĻ¨āĻĒā§āĻŸ āĻ†āĻ¸āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻĒāĻžāĻ‡ āĻ¸ā§‡āĻ—ā§āĻ˛ā§‹āĻ•ā§‡ āĻ†āĻŽāĻ°āĻž Big O(n) āĻŦāĻ˛āĻŋāĨ¤

=> Big O(1) - āĻ¯āĻ–āĻ¨ āĻ•ā§‹āĻ¨ā§‹ āĻ‡āĻ¨āĻĒā§āĻŸ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻĨāĻžāĻ•ā§‡ ( āĻŽāĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻœāĻžāĻ¨āĻŋ āĻ¯ā§‡ āĻ“āĻ‡āĻŸāĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĻāĻŋāĻŦā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻ¨ā§āĻĄāĻŋāĻļāĻ¨ āĻ…āĻ¨ā§āĻ¯āĻžā§Ÿā§€ ) āĻ¤āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ¸ā§‡āĻŸāĻžāĻ•ā§‡ 1 āĻ§āĻ°āĻŋ, āĻāĻŦāĻ‚ āĻ¯ā§‡ āĻ¸āĻ•āĻ˛ āĻŽā§‡āĻĨāĻĄā§‡āĻ° āĻŸāĻžāĻ‡āĻŽ āĻ•āĻŽāĻĒā§āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋāĻŸāĻŋ āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻŖā§Ÿ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽā§Ÿ āĻāĻ‡āĻ°āĻ•āĻŽ āĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ‡āĻ¨āĻĒā§āĻŸ āĻ†āĻ¸āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻĒāĻžāĻ‡ āĻ¸ā§‡āĻ—ā§āĻ˛ā§‹āĻ•ā§‡ āĻ†āĻŽāĻ°āĻž Big O(1) āĻŦāĻ˛āĻŋāĨ¤

    Object

  • Object.keys - Big O(n)

    ( āĻāĻŸāĻžā§Ÿ Big O(n) āĻ•āĻžāĻ°āĻŖ āĻāĻ•āĻŸāĻŋ object āĻ āĻ…āĻ¨ā§‡āĻ• keys āĻ¤āĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŸāĻž āĻŦāĻ˛āĻž āĻŽā§āĻļāĻ•āĻŋāĻ˛ āĻ¯ā§‡ āĻ“āĻ‡ object āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŽā§‹āĻŸ āĻ•āĻ¤āĻŸāĻŋ entries āĻ¤āĻžāĻ•āĻŦā§‡, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻ§āĻ°ā§‡ āĻ¨āĻŋāĻ˛āĻžāĻŽ āĻ¯ā§‡ āĻāĻ•āĻŸāĻž n āĻ‡āĻ¨āĻĒā§āĻŸā§‡ āĻĨāĻžāĻ•āĻŦā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ‡ n āĻ āĻ¯āĻ¤ āĻ‡āĻšā§āĻ›āĻž āĻĻā§‡āĻ“ā§ŸāĻž āĻšāĻŦā§‡ āĻ¤āĻžāĻ‡ āĻāĻŸāĻž n āĻāĻ° āĻ‰āĻĒāĻ° āĻĄāĻŋāĻĒā§‡āĻ¨ā§āĻĄā§‡āĻĄ āĻāĻŦāĻ‚ āĻāĻ° āĻœāĻ¨ā§āĻ¯āĻ‡ āĻāĻŸāĻž Big O(n) )

  • Object.entries - Big O(n)

    ( same as object.keys )

  • Object.values - Big O(n)

    ( same as object.keys )

  • Object.hasOwnProperty - Big O(1)

    ( āĻāĻŸāĻžā§Ÿ Big O(1) āĻ•āĻžāĻ°āĻŖ āĻ†āĻŽāĻ°āĻž āĻ¯āĻ–āĻ¨ āĻ•ā§‹āĻ¨ā§‹ property āĻ¸āĻžāĻ°ā§āĻš āĻ•āĻ°āĻŦā§‹ āĻ¤āĻ–āĻ¨ āĻ¤ā§‹ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻž value āĻ‡ āĻĒāĻžāĻŦā§‹ āĻāĻŦāĻ‚ āĻāĻ° āĻœāĻ¨ā§āĻ¯āĻ‡ āĻāĻŸāĻž Big O(1) )

    Array

  • push, pop - Big O(1)

    ( āĻāĻŸāĻžā§Ÿ Big O(1) āĻ•āĻžāĻ°āĻŖ āĻāĻ•āĻŸāĻŋ array āĻ¤ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¯āĻ–āĻ¨ push or pop āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•ā§‹āĻ¨ā§‹ element āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŋ āĻ¤āĻ–āĻ¨ āĻ¸ā§‡āĻ‡ element āĻŸāĻŋ āĻ“āĻ‡ array āĻāĻ° āĻļā§‡āĻˇā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻšā§Ÿ āĻ…āĻĨāĻŦāĻž āĻĄāĻŋāĻ˛āĻŋāĻŸ āĻšā§Ÿ, āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ā§‹ element āĻāĻ° āĻ‡āĻ¨āĻĄā§‡āĻ•ā§āĻ¸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšā§Ÿ āĻ¨āĻž āĻāĻŦāĻ‚ āĻāĻ° āĻœāĻ¨ā§āĻ¯āĻ‡ āĻāĻŸāĻž Big O(1) )

  • shift, unshift - Big O(n)

    ( āĻāĻŸāĻžā§Ÿ Big O(n) āĻ•āĻžāĻ°āĻŖ āĻāĻ•āĻŸāĻŋ array āĻ¤ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¯āĻ–āĻ¨ shift or unshift āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•ā§‹āĻ¨ā§‹ element āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŋ āĻ¤āĻ–āĻ¨ āĻ¸ā§‡āĻ‡ element āĻŸāĻŋ āĻ“āĻ‡ array āĻāĻ° āĻļā§āĻ°ā§āĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻšā§Ÿ āĻ…āĻĨāĻŦāĻž āĻĄāĻŋāĻ˛āĻŋāĻŸ āĻšā§Ÿ, āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ—ā§‡āĻ° element āĻĻā§‡āĻ° āĻ‡āĻ¨āĻĄā§‡āĻ•ā§āĻ¸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšā§ŸāĨ¤ āĻ¤āĻžāĻ‡ āĻāĻ–āĻžāĻ¨ā§‡ n āĻŦāĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ element āĻ¯ā§āĻ•ā§āĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĻ‡ āĻāĻŸāĻž Big O(n) )

  • search - Big O(n)

    ( āĻāĻŸāĻžā§Ÿ Big O(n) āĻ•āĻžāĻ°āĻŖ āĻāĻ•āĻŸāĻŋ array āĻ¤ā§‡ āĻ•āĻ¤āĻ—ā§āĻ˛ā§‹ value āĻ¤āĻžāĻ•āĻŦā§‡ āĻ¤āĻž āĻŦāĻ˛āĻž āĻ¯āĻžāĻŦā§‡ āĻ¨āĻž āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻ¯āĻĻāĻŋ āĻ“āĻ‡ array āĻ¤ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻ•āĻŋāĻ›ā§ search āĻ•āĻ°āĻŋ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ“āĻ‡ array āĻ¤ā§‡ āĻĨāĻžāĻ•āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ element āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĻāĻŋā§Ÿā§‡ āĻ–ā§āĻœāĻ¤ā§‡ āĻšāĻŦā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ‚āĻ•āĻŋāĻ¤ element āĻŸāĻŋāĻ•ā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻŸāĻž n āĻ¤āĻŽ āĻŦāĻžāĻ° āĻ“ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĻ‡ āĻāĻŸāĻž Big O(n) )

  • access - Big O(1)

    ( āĻāĻŸāĻžā§Ÿ Big O(1) āĻ•āĻžāĻ°āĻŖ āĻāĻ•āĻŸāĻŋ array āĻĨā§‡āĻ•ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¯āĻ–āĻ¨ āĻ•ā§‹āĻ¨ā§‹ āĻāĻ•āĻŸāĻž element access āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡ āĻ¤āĻžāĻ° index āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¤āĻ–āĻ¨ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻ°āĻž āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ“āĻ‡ element āĻŸāĻžāĻ•ā§‡ access āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻŸāĻž āĻāĻ•āĻŸāĻŋ element āĻšā§Ÿ āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĻ‡ āĻāĻŸāĻž Big O(1) )

  • forEach - Big O(n)

    ( āĻāĻŸāĻžā§Ÿ Big O(n) āĻ•āĻžāĻ°āĻŖ āĻāĻ•āĻŸāĻŋ forEach āĻ āĻ•āĻ¤āĻ—ā§āĻ˛ā§‹ āĻ‡āĻ¨āĻĒā§āĻŸ āĻ†āĻ¸āĻŦā§‡ āĻ¸ā§‡āĻŸāĻž āĻ†āĻŽāĻ°āĻž āĻœāĻžāĻ¨āĻŋ āĻ¨āĻžāĨ¤ āĻāĻ–āĻ¨ āĻ¸ā§‡āĻŸāĻž āĻ…āĻ¨ā§‡āĻ• āĻŦā§œ āĻ•ā§‹āĻ¨ā§‹ āĻ‡āĻ¨āĻĒā§āĻŸ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ†āĻŦāĻžāĻ° āĻ›ā§‹āĻŸāĻ“ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĻ‡ āĻāĻŸāĻž Big O(n) )

  • map - Big O(n)

    ( āĻāĻŸāĻžā§Ÿ Big O(n) āĻ•āĻžāĻ°āĻŖ āĻāĻ•āĻŸāĻŋ map āĻ āĻ•āĻ¤āĻ—ā§āĻ˛ā§‹ āĻ‡āĻ¨āĻĒā§āĻŸ āĻ†āĻ¸āĻŦā§‡ āĻ¸ā§‡āĻŸāĻž āĻ†āĻŽāĻ°āĻž āĻœāĻžāĻ¨āĻŋ āĻ¨āĻžāĨ¤ āĻāĻ–āĻ¨ āĻ¸ā§‡āĻŸāĻž āĻ…āĻ¨ā§‡āĻ• āĻŦā§œ āĻ•ā§‹āĻ¨ā§‹ āĻ‡āĻ¨āĻĒā§āĻŸ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ†āĻŦāĻžāĻ° āĻ›ā§‹āĻŸāĻ“ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĻ‡ āĻāĻŸāĻž Big O(n) )

  • filter - Big O(n)

    ( āĻāĻŸāĻžā§Ÿ Big O(n) āĻ•āĻžāĻ°āĻŖ āĻāĻ•āĻŸāĻŋ filter āĻ āĻ•āĻ¤āĻ—ā§āĻ˛ā§‹ āĻ‡āĻ¨āĻĒā§āĻŸ āĻ†āĻ¸āĻŦā§‡ āĻ¸ā§‡āĻŸāĻž āĻ†āĻŽāĻ°āĻž āĻœāĻžāĻ¨āĻŋ āĻ¨āĻžāĨ¤ āĻāĻ–āĻ¨ āĻ¸ā§‡āĻŸāĻž āĻ…āĻ¨ā§‡āĻ• āĻŦā§œ āĻ•ā§‹āĻ¨ā§‹ āĻ‡āĻ¨āĻĒā§āĻŸ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ†āĻŦāĻžāĻ° āĻ›ā§‹āĻŸāĻ“ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĻ‡ āĻāĻŸāĻž Big O(n) )

  • reduce - Big O(n)

    ( āĻāĻŸāĻžā§Ÿ Big O(n) āĻ•āĻžāĻ°āĻŖ āĻāĻ•āĻŸāĻŋ reduce āĻ āĻ•āĻ¤āĻ—ā§āĻ˛ā§‹ āĻ‡āĻ¨āĻĒā§āĻŸ āĻ†āĻ¸āĻŦā§‡ āĻ¸ā§‡āĻŸāĻž āĻ†āĻŽāĻ°āĻž āĻœāĻžāĻ¨āĻŋ āĻ¨āĻžāĨ¤ āĻāĻ–āĻ¨ āĻ¸ā§‡āĻŸāĻž āĻ…āĻ¨ā§‡āĻ• āĻŦā§œ āĻ•ā§‹āĻ¨ā§‹ āĻ‡āĻ¨āĻĒā§āĻŸ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ†āĻŦāĻžāĻ° āĻ›ā§‹āĻŸāĻ“ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĻ‡ āĻāĻŸāĻž Big O(n) )

Recursion

> Recursion āĻŦāĻŋāĻˇā§ŸāĻŸāĻŋ āĻšāĻšā§āĻ›ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻāĻ•āĻŸāĻž āĻĒā§āĻ°āĻŦāĻ˛ā§‡āĻŽāĻ•ā§‡ āĻ­ā§‡āĻ™ā§āĻ—ā§‡ āĻ­ā§‡āĻ™ā§āĻ—ā§‡ āĻ•āĻ°āĻžāĻ•ā§‡ āĻŦā§āĻāĻžā§ŸāĨ¤ Recursion āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ†āĻŽāĻ°āĻž āĻ•ā§‹āĻ¨ā§‹ āĻāĻ•āĻŸāĻž āĻĒā§āĻ°āĻŦāĻ˛ā§‡āĻŽ normal way āĻ¤ā§‡ āĻ¯ā§‡āĻ­āĻžāĻŦā§‡ āĻ•āĻ°ā§‡ āĻ¯ā§‡āĻŽāĻ¨ output āĻĒāĻžāĻ‡ āĻ āĻŋāĻ• āĻ¤ā§‡āĻŽāĻ¨āĻŋ output āĻĒāĻžāĻŦā§‹ Recursion way āĻ¤ā§‡ āĻ•āĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻļā§āĻ§ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻŸāĻŋ āĻšāĻŦā§‡ āĻ†āĻŽāĻ°āĻž āĻ¯āĻ–āĻ¨ Recursion way āĻ¤ā§‡ āĻ•ā§‹āĻĄ āĻ•āĻ°āĻŦā§‹ āĻ¤āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ§āĻžāĻĒā§‡ āĻ§āĻžāĻĒā§‡ āĻāĻ•āĻŸāĻž āĻĒā§āĻ°āĻŦāĻ˛ā§‡āĻŽ āĻ¸āĻ˛ā§āĻ­ āĻ•āĻ°āĻŦā§‹āĨ¤

Searching Algorithms

Linear Search

> Lineasr Search āĻŦāĻŋāĻˇā§ŸāĻŸāĻŋ āĻšāĻšā§āĻ›ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻāĻ•āĻŸāĻž āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻŋāĻ• āĻœāĻžā§ŸāĻ—āĻž āĻĨā§‡āĻ•ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻāĻ•āĻŸāĻž āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ–ā§āĻœā§‡ āĻĻāĻŋāĻŦā§‡ āĻāĻŦāĻ‚ āĻ–ā§āĻœā§‡ āĻĻā§‡ā§ŸāĻžāĻ° āĻĒāĻ° āĻ¸ā§‡āĻ–āĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻšāĻ˛ā§‡ āĻ†āĻ¸āĻŦā§‡āĨ¤ āĻ¤āĻžāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻšā§āĻ›ā§‡ āĻ†āĻŽāĻ°āĻž āĻŦāĻ˛ā§‡ āĻĻāĻŋāĻŦā§‹ āĻ¯ā§‡ āĻāĻ‡ āĻœāĻžā§ŸāĻ—āĻž āĻĨā§‡āĻ•ā§‡ āĻ†āĻŽāĻžāĻ•ā§‡ āĻ¤ā§āĻŽāĻŋ āĻāĻ‡ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻŸāĻž āĻāĻ¨ā§‡ āĻĻāĻžāĻ“ linear search āĻŦāĻŋāĻˇā§ŸāĻŸāĻŋ āĻšāĻšā§āĻ›ā§‡ āĻāĻ‡āĻ°āĻ•āĻŽāĨ¤

Binary Search

> binary search āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŸāĻžāĻ‡āĻŽ āĻ•āĻŽāĻĒā§āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋāĻŸāĻŋ āĻ…āĻ¨ā§‡āĻ• āĻ•āĻŽāĻŋā§Ÿā§‡ āĻĻā§‡ā§Ÿ āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡ āĻāĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻ–ā§āĻœāĻ¤ā§‡ āĻšāĻžāĻšā§āĻ›āĻŋ āĻ¸ā§‡āĻŸāĻž āĻ–ā§āĻŦ āĻ¸āĻšāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ binary search āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ˛ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ†āĻ—ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¯ā§‡ array āĻŸāĻŋ āĻĨāĻžāĻ•āĻŦā§‡ āĻ¸ā§‡āĻŸāĻžāĻ•ā§‡ ascending order āĻ āĻ¸āĻžāĻœāĻžāĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻĒāĻ°ā§‡ āĻ¸ā§‡āĻŸāĻžāĻ° āĻ‰āĻĒāĻ° āĻ¸āĻžāĻ°ā§āĻš āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‹āĨ¤

āĻ¤āĻžāĻšāĻ˛ā§‡ āĻšāĻ˛ā§‡āĻ¨ āĻ¨āĻŋāĻšā§‡āĻ° āĻ‡āĻŽā§‡āĻœā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ†āĻ°ā§‹ āĻ­āĻžāĻ˛ā§‹āĻ­āĻžāĻŦā§‡ āĻŦā§āĻāĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŋāĨ¤


example image

binary search āĻ āĻ†āĻŽāĻ°āĻž āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻĒā§Ÿā§‡āĻ¨ā§āĻŸ āĻ•āĻ°āĻŋ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ‡ āĻĒā§Ÿā§‡āĻ¨ā§āĻŸ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¯ā§‡āĻ‡ āĻāĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻ–ā§āĻœāĻ›āĻŋ āĻ¸ā§‡āĻŸāĻž āĻĒāĻžāĻŦā§‹āĨ¤

āĻĒā§Ÿā§‡āĻ¨ā§āĻŸ āĻ—ā§āĻ˛ā§‹ āĻšāĻšā§āĻ›ā§‡,

  1. Start Point
  2. Middle Point
  3. End Point

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻĒā§Ÿā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ†āĻŽāĻ°āĻž āĻ–ā§āĻŦ āĻ•āĻŽ āĻ¸āĻŽā§Ÿā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ†āĻŽāĻĻā§‡āĻ° āĻ¯ā§‡āĻ‡ āĻāĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻ–ā§āĻœāĻ›āĻŋ āĻ¸ā§‡āĻŸāĻž āĻ–ā§āĻœā§‡ āĻĒāĻžāĻŦā§‹āĨ¤

āĻāĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻŸāĻŋ āĻšāĻšā§āĻ›ā§‡ āĻāĻ‡āĻ°āĻ•āĻŽ, āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ¸āĻŋāĻ˛ā§‡āĻ•ā§āĻŸ āĻ•āĻ°āĻŦā§‹ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° start point āĻ•ā§‹āĻ¨āĻŸāĻŋ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸āĻŋāĻ˛ā§‡āĻ•ā§āĻŸ āĻ•āĻ°āĻŦā§‹ āĻ†āĻŽāĻžāĻĻā§‡āĻ° middle point āĻ•ā§‹āĻ¨āĻŸāĻŋ āĻāĻŦāĻ‚ āĻļā§‡āĻˇā§‡ āĻ¸āĻŋāĻ˛ā§‡āĻ•ā§āĻŸ āĻ•āĻ°āĻŦā§‹ āĻ†āĻŽāĻžāĻĻā§‡āĻ° end point āĻ•ā§‹āĻ¨āĻŸāĻŋāĨ¤ āĻāĻ‡āĻ—ā§āĻ˛ā§‹ āĻ¸āĻŋāĻ˛ā§‡āĻ•ā§āĻŸ āĻšā§Ÿā§‡ āĻ—ā§‡āĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻ•āĻ¨ā§āĻĄāĻŋāĻļāĻ¨ āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ–ā§āĻœā§‡ āĻĻā§‡āĻ–āĻŦā§‹ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ‚āĻ•ā§āĻˇāĻŋāĻ¤ āĻāĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻ•āĻŋ middle āĻāĻ° āĻšā§‡ā§Ÿā§‡ āĻŦā§œ āĻ¨āĻžāĻ•āĻŋ āĻ›ā§‹āĻŸ ? āĻ¯āĻĻāĻŋ āĻŦā§œ āĻšā§Ÿ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¸ā§‡āĻ‡ middle āĻāĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻāĻ° āĻĒāĻ°ā§‡āĻ° āĻ¸āĻŦ āĻāĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻŦāĻžāĻĻ āĻĻāĻŋā§Ÿā§‡ āĻĻāĻŋāĻŦā§‹ āĻ•āĻžāĻ°āĻŖ āĻ†āĻŽāĻžāĻĻā§‡āĻ° array āĻŸāĻŋ āĻ¤ā§‹ ascending order āĻ āĻ¸āĻžāĻœāĻžāĻ¨ā§‹ āĻ¤āĻžāĻ‡ āĻ¨āĻž ? āĻāĻŦāĻ‚ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ‚āĻ•ā§āĻˇāĻŋāĻ¤ āĻāĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸāĻŸāĻŋ middle āĻāĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻāĻ° āĻšā§‡ā§Ÿā§‡ āĻ›ā§‹āĻŸ āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž middle āĻāĻ° āĻ†āĻ—ā§‡āĻ° āĻ¸āĻŦ āĻāĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻāĻ° āĻ‰āĻĒāĻ° āĻāĻ–āĻ¨ search āĻšāĻžāĻ˛āĻžāĻŦā§‹ āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° start, middle, end point āĻ—ā§āĻ˛ā§‹ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡ āĻĢā§‡āĻ˛āĻŦā§‹ āĻāĻ­āĻžāĻŦā§‡ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ†āĻ—ā§‡āĻ° middle point āĻ¯ā§‡āĻŸāĻž āĻ›āĻŋāĻ˛ā§‹ āĻ¸ā§‡āĻŸāĻž āĻšāĻŦā§‡ āĻāĻ–āĻ¨ end point āĻāĻŦāĻ‚ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻŽāĻ°āĻž āĻļā§‡āĻˇā§‡āĻ° āĻ—ā§āĻ˛ā§‹ āĻŦāĻžāĻĻ āĻĻāĻŋā§Ÿā§‡ āĻĒā§āĻ°āĻĨāĻŽ āĻĻāĻŋāĻ•ā§‡āĻ° āĻāĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻ—ā§āĻ˛ā§‹āĻ° āĻ‰āĻĒāĻ° search āĻ•āĻ°āĻ›āĻŋ āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻĻā§‡āĻ° āĻ†āĻ° start point āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¨āĻž āĻ¤āĻžāĻ‡ middle point and end point āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻŦā§‹āĨ¤ āĻāĻŦāĻ‚ āĻ“āĻ‡āĻ–āĻžāĻ¨ā§‡ āĻĻā§‡āĻ–āĻŦā§‹ āĻ¯ā§‡ āĻāĻ–āĻ¨ āĻ¯ā§‡āĻŸāĻž middle āĻāĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻ†āĻ›ā§‡ āĻ¸ā§‡āĻŸāĻž āĻ•āĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ‚āĻ•ā§āĻˇāĻŋāĻ¤ āĻāĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻāĻ° āĻšā§‡ā§Ÿā§‡ āĻ›ā§‹āĻŸ āĻ¨āĻžāĻ•āĻŋ āĻŦā§œ āĻ›ā§‹āĻŸ āĻšāĻ˛ā§‡ āĻ¤ā§‹ āĻ†āĻ—ā§‡āĻ° āĻŽāĻ¤āĻ‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻŦā§‹ āĻ†āĻ° āĻŦā§œ āĻšāĻ˛ā§‡ āĻ“ āĻāĻŦāĻ‚ āĻ¯āĻĻāĻŋ āĻŽāĻŋāĻ˛ā§‡ āĻ¯āĻžā§Ÿ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¤ā§‹ āĻ†āĻŽāĻžāĻĻā§‡āĻ° output āĻĒā§‡ā§Ÿā§‡ āĻ¯āĻžāĻšā§āĻ›āĻŋ ( so now you can chill āĻŽāĻœāĻž āĻ•āĻ°āĻ˛āĻžāĻŽ )āĨ¤

āĻŽā§āĻ˛āĻ¤ āĻāĻ‡āĻ­āĻžāĻŦā§‡āĻ‡ binary search āĻ•āĻ°āĻž āĻšā§ŸāĨ¤ āĻ†āĻ° picture āĻ¤ā§‹ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡ āĻĻāĻŋāĻ˛āĻžāĻŽāĻ‡ āĻ¯āĻžāĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ°āĻž āĻ¨āĻŋāĻœā§‡ āĻ†āĻ° āĻ­āĻžāĻ˛ā§‹ āĻŦā§āĻāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ†āĻŽāĻžāĻ° āĻŦā§āĻāĻžāĻ¨ā§‹āĻ° āĻšā§‡ā§Ÿā§‡āĨ¤

Sorting Algorithms

> sorting slgorithms āĻšāĻšā§āĻ›ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻāĻ•āĻŸāĻž array āĻ•ā§‡ ascending order āĻ āĻ•āĻŋāĻ‚āĻŦāĻž descending order āĻ āĻ¸āĻžāĻœāĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ ( āĻ›ā§‹āĻŸ āĻĨā§‡āĻ•ā§‡ āĻŦā§œ āĻ•āĻŋāĻ‚āĻŦāĻž āĻŦā§œ āĻĨā§‡āĻ•ā§‡ āĻ›ā§‹āĻŸ )āĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻ‡ sorting algorithms āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛ā§‹ algorithms āĻĒāĻžāĻ‡ āĻœā§‡āĻ—ā§āĻ˛ā§‹ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ–ā§āĻŦ āĻ¸āĻšāĻœā§‡ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ array sort āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‹āĨ¤ āĻ¨āĻŋāĻšā§‡ āĻ•āĻŋāĻ›ā§ āĻĻā§‡ā§ŸāĻž āĻšāĻ˛ā§‹,

Bubble Sort

> bubble sort āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ array āĻāĻ° ā§¨āĻŸāĻŋ value āĻ¨āĻŋā§Ÿā§‡ āĻ¨āĻŋā§Ÿā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ compare āĻ•āĻ°ā§‡ āĻĻā§‡āĻ–āĻŦā§‹ āĻ¯ā§‡ āĻĒā§āĻ°āĻĨāĻŽ value āĻāĻ° āĻšā§‡ā§Ÿā§‡ āĻĻā§āĻŦāĻŋāĻ¤ā§€ā§Ÿ value āĻŦā§œ āĻ¨āĻžāĻ•āĻŋ āĻ›ā§‹āĻŸ āĻ¯āĻĻāĻŋ āĻŦā§œ āĻšā§Ÿ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž swape āĻ•āĻ°āĻŦā§‹ value āĻ—ā§āĻ˛ā§‹āĻ•ā§‡, āĻ¯ā§‡āĻŽāĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻĨāĻŽ value āĻŦā§œ āĻšāĻ˛ā§‹ āĻĻā§āĻŦāĻŋāĻ¤ā§€ā§Ÿ value āĻāĻ° āĻšā§‡ā§Ÿā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¤ā§‹ āĻ†āĻŽāĻ°āĻž āĻŦā§āĻāĻ¤ā§‡ āĻĒāĻžāĻ°āĻ›āĻŋ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĄāĻžāĻ¨ āĻĒāĻžāĻļā§‡āĻ° value āĻŸāĻŋ āĻšāĻšā§āĻ›ā§‡ āĻ›ā§‹āĻŸ value āĻāĻŦāĻ‚ āĻ¤āĻžāĻ•ā§‡ āĻŦāĻžāĻŽ āĻĒāĻžāĻļā§‡ āĻ†āĻ¨āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻŦāĻžāĻŽ āĻĒāĻžāĻļā§‡āĻ° value āĻ•ā§‡ āĻĄāĻžāĻ¨ āĻĒāĻžāĻļā§‡ āĻĻāĻŋāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻ­āĻžāĻŦā§‡āĻ‡ āĻšā§‡āĻ• āĻ•āĻ°ā§‡ āĻ•āĻ°ā§‡ āĻ†āĻŽāĻ°āĻž bubble sorting āĻ•āĻ°āĻŦā§‹āĨ¤ āĻāĻŦāĻ‚ āĻ†āĻ°ā§‡āĻ•āĻŸāĻž āĻ•āĻĨāĻž āĻšāĻšā§āĻ›ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¯āĻ–āĻ¨ āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ˛āĻžāĻ¸ā§āĻŸ āĻŦā§œ āĻāĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻĒā§‡ā§Ÿā§‡ āĻ¯āĻžāĻŦ āĻ¤āĻ–āĻ¨ āĻĻā§āĻŦāĻŋāĻ¤ā§€ā§Ÿ āĻŦāĻžāĻ° āĻ†āĻ° āĻ“āĻ‡ āĻ˛āĻžāĻ¸ā§āĻŸ āĻāĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸāĻ•ā§‡ āĻŦāĻžāĻŽ āĻĒāĻžāĻļā§‡āĻ° āĻāĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻšā§‡āĻ• āĻ•āĻ°āĻŦā§‹ āĻ¨āĻž āĻāĻŦāĻ‚ āĻāĻ­āĻžāĻŦā§‡āĻ‡ āĻšā§‡āĻ•āĻŋāĻ‚ āĻšāĻŦā§‡āĨ¤

āĻ¨āĻŋāĻšā§‡ āĻ•ā§Ÿā§‡āĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§‡āĻĒā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ†āĻ° āĻ•ā§āĻ˛āĻŋā§ŸāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ›āĻŋ





āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻž āĻ“ā§Ÿā§‡āĻŦāĻ¸āĻžāĻ‡āĻŸā§‡āĻ° āĻ˛āĻŋāĻ‚āĻ• āĻĻāĻŋāĻšā§āĻ›āĻŋ āĻ¯ā§‡āĻŸāĻžāĻ¤ā§‡ āĻ—ā§‡āĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ­āĻŋāĻĄāĻŋāĻ“āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ†āĻ°ā§‹ āĻ­āĻžāĻŦā§‡ āĻŦā§āĻāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨ āĻ¯ā§‡ operation āĻŸāĻŋ āĻšāĻšā§āĻ›ā§‡ āĻ•ā§‡āĻŽāĻ¨ā§‡āĨ¤

https://visualgo.net/en/sorting

Selection Sort

> Selection Sort āĻŦāĻŋāĻˇā§ŸāĻŸāĻŋ āĻšāĻšā§āĻ›ā§‡ āĻāĻ•āĻĻāĻŽ bubble sort āĻāĻ° āĻŽāĻ¤āĻ‡ āĻļā§āĻ§ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻŸāĻŋ āĻšāĻšā§āĻ›ā§‡ āĻ†āĻŽāĻ°āĻž bubble sorting āĻ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻĒā§Ÿā§‡āĻ¨ā§āĻŸ āĻ§āĻ°āĻ¤āĻžāĻŽ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ—ā§āĻ˛ā§‹ āĻĻāĻŋā§Ÿā§‡ array āĻŸāĻŋ sort āĻ•āĻ°āĻ¤āĻžāĻŽ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ selection sorting āĻ āĻ†āĻŽāĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§Ÿā§‡āĻ¨ā§āĻŸ āĻ§āĻ°āĻŦā§‹ āĻ¯ā§‡āĻŸāĻž āĻšāĻšā§āĻ›ā§‡ āĻāĻ•āĻŸāĻž lowest number āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻšā§‡āĻ• āĻ•āĻ°āĻŦā§‹ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° lowest number āĻ•āĻŋ āĻ¤āĻžāĻ° āĻĒāĻžāĻļā§‡āĻ° number āĻāĻ° āĻšā§‡ā§Ÿā§‡ āĻŦā§œ ? āĻ¯āĻĻāĻŋ āĻŦā§œ āĻšā§Ÿ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¤ā§‹ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻžāĻļā§‡āĻ° number āĻŸāĻŋāĻ•ā§‡ lowest number āĻāĻ° āĻ‡āĻ¨āĻĄā§‡āĻ•ā§āĻ¸ā§‡ āĻ†āĻ¨āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ•ā§‡āĻ¨āĻ¨āĻž āĻ“āĻ‡ āĻĒāĻžāĻļā§‡āĻ° number āĻŸāĻžāĻ‡ āĻ¤ā§‹ āĻ›ā§‹āĻŸ number āĻāĻŦāĻ‚ āĻ¸ā§‡āĻŸāĻž lowest number āĻāĻ° āĻœāĻžā§ŸāĻ—āĻžā§Ÿ āĻ†āĻ¸āĻ˛ā§‡ āĻ¤āĻŦā§‡āĻ‡ āĻ¤ā§‹ sorting āĻŸāĻŋ āĻšāĻŦā§‡ āĻ›ā§‹āĻŸ āĻĨā§‡āĻ•ā§‡ āĻŦā§œ āĻšā§Ÿā§‡āĨ¤ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻŸāĻŋāĻ•ā§‡ āĻ†āĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤ā§‹ āĻ†āĻŽāĻžāĻĻā§‡āĻ° swape āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¤āĻžāĻ‡ āĻ¨āĻž ? āĻ†āĻŽāĻ°āĻž swape āĻ•āĻ°āĻŦā§‹ āĻŸāĻŋāĻ• āĻ¯ā§‡āĻ­āĻžāĻŦā§‡ bubble sort āĻ swape āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ āĻŋāĻ• āĻ“āĻ‡āĻ­āĻžāĻŦā§‡āĨ¤

āĻ†āĻĒāĻ¨āĻžāĻĻā§‡āĻ° āĻŦā§āĻāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻšā§‡ picture āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ video āĻ“ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡ āĻĻāĻŋā§Ÿā§‡āĻ›āĻŋ āĻ¯āĻžāĻ¤ā§‡ āĻ†āĻĒāĻžāĻ¨āĻžāĻ°āĻž āĻ–ā§āĻŦ āĻ¸āĻšāĻœā§‡ āĻŦāĻŋāĻˇā§ŸāĻŸāĻŋ āĻŦā§āĻāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤



video link - https://visualgo.net/en/sorting

Insertion Sort

> Insertion Sort āĻ āĻŋāĻ• selection sort āĻāĻ° āĻŽāĻ¤āĻ‡ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ–āĻžāĻ¨ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻŸāĻŋ āĻšāĻšā§āĻ›ā§‡, āĻ†āĻŽāĻ°āĻž selection sorting āĻ āĻŦāĻžāĻŽ āĻĒāĻžāĻļā§‡āĻ° number āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻĄāĻžāĻ¨ āĻĒāĻžāĻļā§‡āĻ° number āĻāĻ° āĻ›ā§‹āĻŸ āĻāĻŦāĻ‚ āĻŦā§œ āĻ•āĻŋ āĻ¨āĻž āĻ¸ā§‡āĻŸāĻž āĻšā§‡āĻ• āĻ•āĻ°āĻ¤āĻžāĻŽāĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ insertion sorting āĻ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻ‡ āĻ­āĻžāĻŦā§‡ āĻĄāĻžāĻ¨ āĻĒāĻžāĻļā§‡āĻ° āĻŸāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ›ā§‹āĻŸ āĻŦā§œ āĻšā§‡āĻ• āĻ•āĻ°āĻŦā§‹ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻĻāĻŋ āĻĄāĻžāĻ¨ āĻĒāĻžāĻļā§‡āĻ° number āĻŸāĻŋ āĻŦāĻžāĻŽ āĻĒāĻžāĻļā§‡āĻ° number āĻāĻ¤ āĻ›ā§‹āĻŸ āĻšā§Ÿ āĻ¯ā§‡ āĻ¸ā§‡āĻŸāĻžāĻ•ā§‡ āĻ†āĻŽāĻžāĻ° āĻ†āĻ° ā§¨ āĻ‡āĻ¨āĻĄā§‡āĻ•ā§āĻ¸ āĻ¸āĻžāĻŽāĻ¨ā§‡ āĻ†āĻ¨āĻžāĻ° āĻĒā§āĻ°ā§Ÿā§‹āĻœāĻ¨ āĻšāĻšā§āĻ›ā§‡ āĻ¤āĻ–āĻ¨ insertion sort āĻ backword cheking āĻ•āĻ°āĻž āĻšā§Ÿ āĻāĻŦāĻ‚ āĻ“āĻ‡ number āĻāĻ° āĻ¸āĻ āĻŋāĻ• āĻĒāĻœāĻŋāĻļāĻ¨ā§‡ āĻĒā§ŒāĻāĻšā§‡ āĻĻā§‡āĻ“ā§ŸāĻž āĻšā§ŸāĨ¤ āĻāĻŦāĻ‚ insetion sorting āĻ āĻ†āĻŽāĻ°āĻž āĻāĻ‡āĻ­āĻžāĻŦā§‡ āĻšā§‡āĻ•āĻŋāĻ‚ āĻ•āĻ°āĻ¤ā§‡ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻžāĻŽāĻ¨ā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻāĻ—ā§āĻ¤ā§‡ āĻĨāĻžāĻ•āĻŋ āĻ†āĻ° āĻāĻ‡āĻ°āĻ•āĻŽ āĻĒāĻ°āĻŋāĻ¸ā§āĻ¤āĻŋāĻ¤āĻŋāĻ° āĻ¸āĻŽā§āĻŽā§āĻ–ā§€āĻ¨ āĻšāĻ˛ā§‡ backword checking āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ“āĻ‡ number āĻŸāĻŋāĻ° āĻ¸āĻ āĻŋāĻ• āĻĒāĻœāĻŋāĻļāĻ¨ā§‡ āĻ¨ā§‡ā§ŸāĻž āĻšā§ŸāĨ¤

āĻ†āĻĒāĻ¨āĻžāĻĻā§‡āĻ° āĻŦā§āĻāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻšā§‡ picture āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ video āĻ“ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡ āĻĻāĻŋā§Ÿā§‡āĻ›āĻŋ āĻ¯āĻžāĻ¤ā§‡ āĻ†āĻĒāĻžāĻ¨āĻžāĻ°āĻž āĻ–ā§āĻŦ āĻ¸āĻšāĻœā§‡ āĻŦāĻŋāĻˇā§ŸāĻŸāĻŋ āĻŦā§āĻāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤



video link - https://visualgo.net/en/sorting

Data Structure

> Data Structure āĻšāĻšā§āĻ›ā§‡ āĻāĻ•āĻŸāĻŋ āĻ“ā§Ÿā§‡āĻŦāĻ¸āĻžāĻ‡āĻŸā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¯āĻ¤ āĻĒā§āĻ°ā§Ÿā§‹āĻœāĻ¨ā§€ā§Ÿ āĻĄāĻžāĻŸāĻž āĻ†āĻ›ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛ā§‹āĻ•ā§‡ āĻ–ā§āĻŦ āĻ¸ā§āĻ¨ā§āĻĻāĻ° āĻ­āĻžāĻŦā§‡ āĻ¸āĻžāĻœāĻŋā§Ÿā§‡ āĻ°āĻžāĻ–āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽāĨ¤ āĻĄāĻžāĻŸāĻž āĻ—ā§āĻ˛ā§‹ āĻ¸ā§āĻ¨ā§āĻĻāĻ° āĻ•āĻ°ā§‡ āĻ¸āĻžāĻœāĻŋā§Ÿā§‡ āĻ°āĻžāĻ–āĻ˛ā§‡ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻŋ āĻ“āĻ‡ āĻĄāĻžāĻŸāĻžāĻŸāĻŋ āĻ–ā§āĻœāĻ¤ā§‡ āĻ¯āĻžāĻŦā§‹ āĻ…āĻĨāĻŦāĻž āĻĄāĻžāĻŸāĻžāĻŸāĻŋ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻ¯āĻžāĻŦā§‹ āĻ¤āĻ–āĻ¨ āĻ†āĻŽāĻžāĻ° āĻ…āĻ¨ā§āĻ¯ āĻ•ā§‹āĻĨāĻžāĻ“ āĻ–ā§āĻœāĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¨āĻž āĻ•āĻžāĻ°āĻŖ āĻ†āĻŽāĻŋ āĻœāĻžāĻ¨āĻŋ āĻ¯ā§‡ āĻ†āĻŽāĻŋ āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĄāĻžāĻŸāĻžāĻŸāĻŋ āĻ°ā§‡āĻ–ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻ¤āĻ–āĻ¨ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ“āĻ‡ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ¯āĻžāĻŦā§‹ āĻāĻŦāĻ‚ āĻĄāĻžāĻŸāĻžāĻŸāĻŋ āĻ¨āĻŋā§Ÿā§‡ āĻ†āĻ¸āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‹āĨ¤ āĻ†āĻ° āĻāĻŸāĻžāĻ‡ āĻšāĻšā§āĻ›ā§‡ data structure.

Stack

> stack āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ¸āĻŋāĻĒāĻžāĻ˛ āĻ°ā§Ÿā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻŸāĻž āĻšāĻšā§āĻ›ā§‡ (LIFO).
  • L = Last
  • I = In
  • F = First
  • O = Out

āĻāĻ• āĻ•āĻĨāĻžā§Ÿ, Last In First Out āĻŦāĻ˛āĻž āĻšā§Ÿā§‡āĻ›ā§‡ āĻāĻ–āĻžāĻ¨ā§‡āĨ¤ āĻ¯ā§‡āĻŸāĻžāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻšā§āĻ›ā§‡ āĻ¯ā§‡ āĻ¸āĻŦāĻžāĻ° āĻļā§‡āĻˇā§‡ āĻ†āĻ¸āĻŦā§‡ āĻ¸ā§‡ āĻ¸āĻŦāĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻŦā§‡āĻ°āĻŋā§Ÿā§‡ āĻ¯āĻžāĻŦā§‡ āĻāĻŦāĻ‚ āĻ¯ā§‡ āĻ¸āĻŦāĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ†āĻ¸āĻŦā§‡ āĻ¸ā§‡ āĻ¸āĻŦāĻžāĻ° āĻļā§‡āĻˇā§‡ āĻŦā§‡āĻ°āĻŋā§Ÿā§‡ āĻ¯āĻžāĻŦā§‡āĨ¤

āĻ“āĻ•ā§‡, āĻœāĻŋāĻ¨āĻŋāĻ¸āĻŸāĻž āĻ†āĻ° āĻ•ā§āĻ˛āĻŋā§ŸāĻžāĻ° āĻ•āĻ°āĻŋ āĻāĻ•āĻŸāĻŋ āĻ‡āĻŽā§‡āĻœā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡.........



āĻāĻ–āĻžāĻ¨ā§‡ āĻ‡āĻŽā§‡āĻœāĻŸāĻŋ āĻ˛āĻ•ā§āĻˇ āĻ•āĻ°ā§āĻ¨, āĻ†āĻŽāĻŋ āĻ¯āĻ–āĻ¨ āĻĒā§āĻ˛ā§‡āĻŸ āĻ°āĻžāĻ–āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ¤āĻ–āĻ¨ āĻāĻ•āĻŸāĻžāĻ° āĻ‰āĻĒāĻ° āĻāĻ•āĻŸāĻž āĻāĻ­āĻžāĻŦā§‡ āĻ°āĻžāĻ–āĻ›āĻŋāĻ˛āĻžāĻŽ āĻāĻŦāĻ‚ āĻ†āĻŽāĻŋ āĻ¸āĻŦ āĻĒā§āĻ˛ā§‡āĻŸ āĻ°ā§‡āĻ–ā§‡ āĻĻāĻŋā§Ÿā§‡āĻ›āĻŋāĨ¤ āĻĒāĻ°ā§‡ āĻ†āĻŽāĻžāĻ° āĻ†āĻŽā§āĻŽā§ āĻŦāĻ˛āĻ˛ā§‹ āĻ¯ā§‡ āĻ‰āĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻž āĻĒā§āĻ˛ā§‡āĻŸ āĻāĻ¨ā§‡ āĻĻāĻŋāĻ¤ā§‡, āĻ¤ā§‹ āĻ†āĻŽāĻŋ āĻ—āĻŋā§Ÿā§‡ āĻ‰āĻĒāĻ°ā§‡ āĻ¯ā§‡ āĻĒā§āĻ˛ā§‡āĻŸāĻŸāĻŋ āĻ†āĻ›ā§‡ āĻ¸ā§‡āĻŸāĻŋ āĻ¨āĻŋā§Ÿā§‡ āĻāĻ¸ā§‡ āĻ‰āĻ¨āĻžāĻ•ā§‡ āĻĻāĻŋāĻŦā§‹ āĻ¤āĻžāĻ‡ āĻ¨āĻž ? āĻšā§‡, āĻ•āĻžāĻ°āĻŖ āĻ†āĻŽāĻŋ āĻšāĻžāĻ‡āĻŦā§‹ āĻ¨āĻž āĻ¯ā§‡ āĻ¨āĻŋāĻš āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻž āĻĒā§āĻ˛ā§‡āĻŸ āĻāĻ¨ā§‡ āĻĻā§‡āĻ‡ āĻ•āĻžāĻ°āĻŖ āĻ¸ā§‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°ā§‹ āĻĒā§āĻ˛ā§‡āĻŸā§‡āĻ° āĻ¸ā§āĻ¤ā§āĻŦāĻŸāĻŋ āĻ­ā§‡āĻ™ā§āĻ—ā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¨āĻž āĻ­āĻžāĻ™ā§āĻ—āĻ˛ā§‡ āĻ“ āĻāĻ¤ā§‹ āĻ•āĻˇā§āĻŸ āĻ¨āĻŋā§Ÿā§‡ āĻ†āĻ¸āĻŦā§‹ āĻ¨āĻž āĻ†āĻŽāĻŋāĨ¤ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻ–āĻžāĻ¨ā§‡ āĻ˜āĻŸāĻ¨āĻž āĻ•āĻŋ āĻšāĻ˛ā§‹ ? āĻ†āĻŽāĻŋ āĻ¯ā§‡āĻ‡ āĻĒā§āĻ˛ā§‡āĻŸāĻŸāĻŋ āĻ¸āĻŦāĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ°ā§‡āĻ–ā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ¸ā§‡āĻŸāĻž āĻ¨āĻŋāĻšā§‡ āĻ°ā§Ÿā§‡ āĻ—ā§‡āĻ˛ā§‹ āĻāĻŦāĻ‚ āĻ¯ā§‡āĻ‡ āĻĒā§āĻ˛ā§‡āĻŸāĻŸāĻŋ āĻ¸āĻŦāĻžāĻ° āĻļā§‡āĻˇā§‡ āĻ°ā§‡āĻ–ā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ¸ā§‡āĻŸāĻž āĻ‰āĻĒāĻ°ā§‡ āĻ°ā§Ÿā§‡ āĻ—ā§‡āĻ˛ā§‹ āĻāĻŦāĻ‚ āĻ†āĻŽāĻŋ āĻ¯āĻ–āĻ¨ āĻĒā§āĻ˛ā§‡āĻŸ āĻ¨āĻŋāĻ¤ā§‡ āĻ†āĻ¸āĻ›āĻŋ āĻ¤āĻ–āĻ¨ āĻ“āĻ‡ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻĒā§āĻ˛ā§‡āĻŸāĻŸāĻŋ āĻ¨āĻŋā§Ÿā§‡ āĻ—ā§‡āĻ›āĻŋāĨ¤ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° LIFO āĻāĻ° āĻĒā§āĻ°āĻŽāĻžāĻŖ āĻšā§Ÿā§‡ āĻ—ā§‡āĻ˛ā§‹āĨ¤


Queue

> Queue āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ¸āĻŋāĻĒāĻžāĻ˛ āĻ°ā§Ÿā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻŸāĻž āĻšāĻšā§āĻ›ā§‡ (FIFO).
  • F = First
  • I = In
  • F = First
  • O = Out

āĻāĻ• āĻ•āĻĨāĻžā§Ÿ, First In First Out āĻŦāĻ˛āĻž āĻšā§Ÿā§‡āĻ›ā§‡ āĻāĻ–āĻžāĻ¨ā§‡āĨ¤ āĻ¯ā§‡āĻŸāĻžāĻ° āĻŽāĻžāĻ¨ā§‡ āĻšāĻšā§āĻ›ā§‡ āĻ¯ā§‡ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ†āĻ¸āĻŦā§‡ āĻ¸ā§‡ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻŦā§‡āĻ°āĻŋā§Ÿā§‡ āĻ¯āĻžāĻŦā§‡ āĻāĻŦāĻ‚ āĻ¯ā§‡ āĻļā§‡āĻˇā§‡ āĻ†āĻ¸āĻŦā§‡ āĻ¸ā§‡ āĻļā§‡āĻˇā§‡ āĻŦā§‡āĻ°āĻŋā§Ÿā§‡ āĻ¯āĻžāĻŦā§‡āĨ¤



āĻāĻ–āĻžāĻ¨ā§‡ āĻ‡āĻŽā§‡āĻœāĻŸāĻŋ āĻ˛āĻ•ā§āĻˇ āĻ•āĻ°ā§āĻ¨, āĻ‡āĻŽā§‡āĻœā§‡ ā§¨āĻŸāĻŋ āĻĒāĻžāĻ°ā§āĻŸ āĻ°ā§Ÿā§‡āĻ›ā§‡ āĻāĻ•āĻŸāĻž āĻšāĻšā§āĻ›ā§‡ front āĻāĻŦāĻ‚ āĻ†āĻ°ā§‡āĻ•āĻŸāĻž āĻšāĻšā§āĻ›ā§‡ back. āĻ¤ā§‹ āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡ āĻĄāĻžāĻŸāĻž āĻ—ā§āĻ˛ā§‹ insert(āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦā§‹) āĻ¸ā§‡āĻ—ā§āĻ˛ā§‹ back āĻĒāĻžāĻ°ā§āĻŸ āĻĻāĻŋā§Ÿā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ¸ā§‡āĻ‡ āĻĄāĻžāĻŸāĻžāĻŸāĻŋ get(āĻĒā§‡āĻ¤ā§‡ āĻšāĻžāĻ‡āĻŦā§‹) āĻ¤āĻ–āĻ¨ front āĻĒāĻžāĻ°ā§āĻŸ āĻĻāĻŋā§Ÿā§‡ āĻŦā§‡āĻ°āĻŋā§Ÿā§‡ āĻ†āĻ¸āĻŦā§‡āĨ¤ āĻāĻŦāĻ‚ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ¸ā§‡āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¸ā§‡ āĻĄāĻžāĻŸāĻž āĻ†āĻ—ā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦā§‹ āĻ¸ā§‡āĻŸāĻž āĻ†āĻ—ā§‡ āĻŦā§‡āĻ°āĻŋā§Ÿā§‡ āĻ†āĻ¸āĻŦā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻŸāĻž āĻĒāĻ°ā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦā§‹ āĻ¸ā§‡āĻŸāĻž āĻĒāĻ°ā§‡ āĻŦā§‡āĻ°āĻŋā§Ÿā§‡ āĻ†āĻ¸āĻŦā§‡āĨ¤ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° FIFO āĻāĻ° āĻĒā§āĻ°āĻŽāĻžāĻŖ āĻšā§Ÿā§‡ āĻ—ā§‡āĻ˛ā§‹āĨ¤


Linked List

> Linked List āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ…āĻ¨ā§‡āĻ• āĻŦā§œ āĻāĻ•āĻŸāĻŋ āĻŸāĻĒāĻŋāĻ• āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻŋ āĻāĻ‡ āĻŸāĻĒāĻŋāĻ• āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ˛āĻžāĻĻāĻžāĻ­āĻžāĻŦā§‡ āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ Linked List āĻ¨āĻŋā§Ÿā§‡ āĻ–ā§āĻŦ āĻ­āĻžāĻ˛ā§‹āĻ­āĻžāĻŦā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻšā§‡ āĻ¸ā§‡āĻ‡ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋāĻ° āĻ˛āĻŋāĻ‚āĻ• āĻĻāĻŋā§Ÿā§‡āĻ›āĻŋ,

Repository Link - https://github.com/Asfak00/linked-list-full-explained


Binary Tree

> āĻ¯ā§‡ āĻŸā§āĻ°āĻŋ āĻāĻ° āĻ¨ā§‹āĻĄāĻ—ā§āĻ˛ā§‹āĻ¤ā§‡ āĻ¸āĻ°ā§āĻŦā§‹āĻšā§āĻš āĻĻā§āĻ‡āĻŸāĻŋ child āĻĨāĻžāĻ•ā§āĻ•ā§‡ āĻĒāĻžāĻ° āĻ¤āĻžāĻ•ā§‡ āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻŸā§āĻ°āĻŋ āĻŦāĻ˛āĻž āĻšā§ŸāĨ¤ āĻ¨ā§‹āĻĄāĻ—ā§āĻ˛ā§‹āĻ¤ā§‡ āĻ˛āĻŋāĻ™ā§āĻ•āĻĄ āĻ˛āĻŋāĻ¸ā§āĻŸā§‡āĻ° āĻŽā§‹āĻŸ āĻāĻ° āĻŦāĻž āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§‹āĻ° āĻ•āĻ°āĻžāĻ° āĻĢāĻŋāĻ˛ā§āĻĄ/āĻ­ā§‡āĻ°āĻŋā§Ÿā§‡āĻŦāĻ˛ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ†āĻ° āĻĨāĻžāĻ•āĻŦā§‡ āĻāĻ‡ āĻ¨ā§‹āĻĄā§‡āĻ° left child āĻāĻŦāĻ‚ right child āĻāĻ° āĻŽā§‡āĻŽāĻ°āĻŋ āĻāĻĄā§āĻ°ā§‡āĻ¸āĨ¤ āĻ¯āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻāĻĻā§‡āĻ°āĻ•ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻ¯āĻžā§ŸāĨ¤

reference image


Binary Tree āĻšāĻšā§āĻ›ā§‡ ā§Š āĻĒā§āĻ°āĻ•āĻžāĻ°āĻƒ
  1. Full Binary Tree
  2. Complete Binary Tree
  3. Perfect Binary Tree

Full Binary Tree

> āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻž āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻŸā§āĻ°āĻŋ āĻ¯āĻžāĻ° āĻ¨ā§‹āĻĄāĻ—ā§āĻ˛ā§‹āĻ¤ā§‡ ā§Ļ āĻĨā§‡āĻ•ā§‡ ā§¨ āĻŸāĻŋ child āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻ•ā§‹āĻ¨āĻ“ āĻ¨ā§‹āĻĄā§‡ āĻāĻ•āĻŸāĻž child āĻĨāĻžāĻ•āĻ˛ā§‡ āĻ¸ā§‡āĻŸāĻž full binary tree āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤ āĻāĻ•ā§‡ proper binary tree, strictly binary tree āĻŦāĻž plane binary tree āĻŦāĻ˛āĻž āĻšā§ŸāĨ¤

Complete Binary Tree

> āĻ¯ā§‡ āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻŸā§āĻ°āĻŋ āĻāĻ° āĻļā§‡āĻˇ āĻ˛ā§‡āĻ­ā§‡āĻ˛ āĻŦāĻžāĻĻā§‡ āĻŦāĻžāĻ•āĻŋ āĻ¸āĻŦ āĻ˛ā§‡āĻ­ā§‡āĻ˛ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ­āĻžāĻŦā§‡ child āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§‚āĻ°ā§āĻŖ āĻ¤āĻžāĻ•ā§‡ Complete Binary Tree āĻŦāĻ˛ā§‡āĨ¤ āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻ¸āĻŦāĻ—ā§āĻ˛ā§‹ āĻ¨ā§‹āĻĄā§‡āĻ‡ āĻĻā§āĻŸāĻŋ āĻ•āĻ°ā§‡ child āĻ†āĻ›ā§‡ āĻāĻŦāĻ‚ āĻļā§‡āĻˇā§‡āĻ° āĻ˛ā§‡āĻ­ā§‡āĻ˛ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¨ā§‹āĻĄāĻ—ā§āĻ˛ā§‹ fill up āĻšāĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻ•āĻĻāĻŽ āĻŦāĻžāĻŽ āĻŦāĻžāĻļ āĻĨā§‡āĻ•ā§‡āĨ¤ āĻŦāĻžāĻŽā§‡āĻ° āĻĻāĻŋāĻ•ā§‡āĻ° āĻ•ā§‹āĻ¨ā§‹ āĻāĻ•āĻŸāĻž āĻ¨ā§‹āĻĄā§‡āĻ° āĻœāĻžā§ŸāĻ—āĻž āĻĢāĻžāĻāĻ•āĻž āĻ°ā§‡āĻ–ā§‡ āĻĄāĻžāĻ¨ āĻĻāĻŋāĻ•ā§‡ āĻ¨ā§‹āĻĄ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ˛ā§‡ āĻ¤āĻžāĻ•ā§‡ Complete Binary Tree āĻŦāĻ˛āĻž āĻ¯āĻžāĻŦā§‡ āĻ¨āĻžāĨ¤

Perfect Binary Tree

> āĻ¯ā§‡āĻ‡ āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻŸā§āĻ°āĻŋ āĻāĻ° āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§‡āĻ•āĻŸāĻŋ inteior node āĻĻā§āĻŸāĻŋ child āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻ•āĻ˛ leaf āĻāĻ° depth āĻ“ level āĻāĻ•āĻ‡ āĻšāĻŦā§‡āĨ¤

reference image

Binary Search Tree - Add Node

> āĻ†āĻŽāĻ°āĻž āĻœāĻžāĻ¨āĻŋ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° binary tree āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ root āĻ°ā§Ÿā§‡āĻ›ā§‡āĨ¤ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ‡ root āĻāĻ° under āĻ left āĻāĻŦāĻ‚ right āĻ°ā§Ÿā§‡āĻ›ā§‡āĨ¤ āĻ†āĻ° binary tree āĻāĻ° left āĻ āĻĨāĻžāĻ•āĻž āĻ¸āĻŦ node āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ›ā§‹āĻŸ āĻšā§Ÿā§‡ āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ right āĻ āĻĨāĻžāĻ•āĻž āĻ¸āĻŦ node āĻŦā§œ āĻšā§Ÿā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡ āĻ¨āĻ¤ā§āĻ¨ node āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻšā§āĻ›āĻŋ āĻ¯ā§‡āĻŸāĻž āĻŦā§œ āĻšāĻ˛ā§‡ right āĻ āĻĒāĻžāĻ āĻŋā§Ÿā§‡ āĻĻāĻŋāĻŦā§‹ āĻ†āĻ° āĻ›ā§‹āĻŸ āĻšāĻ˛ā§‡ left āĻ āĻĒāĻžāĻ āĻŋā§Ÿā§‡ āĻĻāĻŋāĻŦā§‹āĨ¤ āĻāĻ–āĻ¨ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻšā§‡āĻ• āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° tree āĻ¤ā§‡ āĻ†āĻ§ā§‹ āĻ•ā§‹āĻ¨ā§‹ root āĻ†āĻ›ā§‡ āĻ•āĻŋ āĻ¨āĻž āĻ•āĻžāĻ°āĻŖ āĻļā§āĻ°ā§āĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¤ā§‹ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§‹āĻ¨ā§‹ root āĻĨāĻžāĻ•āĻŦā§‡ āĻ¨āĻž āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻĨāĻŽā§‡ root āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻœāĻ¨ā§āĻ¯āĻ‡ āĻ†āĻŽāĻ°āĻž āĻšā§‡āĻ• āĻ•āĻ°āĻŦā§‹ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§‹āĻ¨ā§‹ root āĻ†āĻ›ā§‡ āĻ•āĻŋ āĻ¨āĻž āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡ āĻ¨āĻ¤ā§āĻ¨ node āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻšā§āĻ›āĻŋ āĻ¸ā§‡āĻŸāĻžāĻ•ā§‡ āĻŦāĻžāĻ¨āĻŋā§Ÿā§‡ āĻĻāĻŋāĻŦā§‹ rootāĨ¤ āĻ†āĻ° āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° tree āĻ¤ā§‡ root āĻĨā§‡āĻ•ā§‡ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻšā§‡āĻ• āĻ•āĻ°āĻŦā§‹ āĻ¯ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡ āĻ¨āĻ¤ā§āĻ¨ node āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻšā§āĻ›āĻŋ āĻ¸ā§‡āĻŸāĻŋ āĻ•āĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° root āĻāĻ° āĻšā§‡ā§Ÿā§‡ āĻŦā§œ āĻ¨āĻžāĻ•āĻŋ āĻ›ā§‹āĻŸāĨ¤ āĻ¯āĻĻāĻŋ āĻ›ā§‹āĻŸ āĻšā§Ÿ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¨āĻ¤ā§āĻ¨ node āĻ•ā§‡ āĻĒāĻžāĻ āĻŋā§Ÿā§‡ āĻĻāĻŋāĻŦā§‹ left āĻāĻ° āĻĻāĻŋāĻ•ā§‡ āĻ†āĻ° āĻ¯āĻĻāĻŋ āĻŦā§œ āĻšā§Ÿ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¨āĻ¤ā§āĻ¨ node āĻ•ā§‡ āĻĒāĻžāĻ āĻŋā§Ÿā§‡ āĻĻāĻŋāĻŦā§‹ right āĻāĻ° āĻĻāĻŋāĻ•ā§‡āĨ¤ āĻāĻ–āĻ¨ āĻ¯āĻ–āĻ¨ āĻ¨āĻ¤ā§āĻ¨ node left āĻ…āĻĨāĻŦāĻž right āĻ āĻ¯āĻžāĻŦā§‡ āĻ¤āĻ–āĻ¨ āĻ“āĻ‡āĻ–āĻžāĻ¨ā§‡ āĻ“ āĻ¤ā§‹ left āĻāĻŦāĻ‚ right āĻĨāĻžāĻ•āĻŦā§‡āĨ¤ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¯āĻ–āĻ¨ āĻŦā§āĻā§‡ āĻ¯āĻžāĻŦā§‹ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻ¤ā§āĻ¨ node āĻ†āĻŽāĻžāĻĻā§‡āĻ° root āĻāĻ° āĻšā§‡ā§Ÿā§‡ āĻŦā§œ āĻ¨āĻžāĻ•āĻŋ āĻ›ā§‹āĻŸ āĻ¤āĻ–āĻ¨ āĻ¤ā§‹ left āĻ…āĻĨāĻŦāĻž right āĻ āĻĒāĻžāĻ āĻžāĻŦā§‹ āĻāĻŦāĻ‚ āĻ¯ā§‡āĻĻāĻŋāĻ•ā§‡āĻ‡ āĻĒāĻžāĻ āĻžāĻ‡ āĻ¨āĻž āĻ•ā§‡āĻ¨ā§‹ āĻ“āĻ‡āĻĻāĻŋāĻ•ā§‡ āĻ¯āĻžāĻ“ā§ŸāĻžāĻ° āĻ†āĻ—ā§‡ āĻ†āĻŦāĻžāĻ° āĻšā§‡āĻ• āĻ•āĻ°āĻŦā§‹ āĻ¯ā§‡ āĻ…āĻ‡āĻ–āĻžāĻ¨ā§‡ āĻ•ā§‹āĻ¨ā§‹ node āĻ†āĻ›ā§‡ āĻ¨āĻžāĻ•āĻŋ āĻ¯āĻĻāĻŋ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ“āĻ‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻ¤ā§āĻ¨ node āĻŦāĻ¸āĻŋā§Ÿā§‡ āĻĻāĻŋāĻŦā§‹ āĻ†āĻ° āĻ¯āĻĻāĻŋ āĻĨā§‡āĻ•ā§‡ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ†āĻ—ā§‡āĻ° āĻ¯ā§‡ root āĻ›āĻŋāĻ˛ā§‹ āĻ¸ā§‡āĻŸāĻžāĻ•ā§‡ āĻ•āĻ°ā§‡ āĻĻāĻŋāĻŦā§‹ āĻāĻ–āĻ¨ āĻāĻ‡āĻ–āĻžāĻ¨ā§‡ āĻĨāĻžāĻ•āĻž node āĻ•ā§‡ āĻāĻŦāĻ‚ āĻ†āĻŦāĻžāĻ° āĻšā§‡āĻ• āĻ•āĻ°āĻŦā§‹ āĻ¯ā§‡ āĻāĻ‡ root āĻāĻ° āĻšā§‡ā§Ÿā§‡ āĻŦā§œ āĻ¨āĻžāĻ•āĻŋ āĻ›ā§‹āĻŸ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻ¤ā§āĻ¨ node āĻŸāĻŋ āĻāĻŦāĻ‚ āĻāĻ­āĻžāĻŦā§‡āĻ‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° node āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¸ā§‡āĻ¸ āĻšāĻ˛āĻ¤ā§‡ āĻĨāĻžāĻ•āĻŦā§‡ āĻāĻŦāĻ‚ āĻ āĻŋāĻ• āĻ¸ā§‡āĻ‡āĻŽ āĻ­āĻžāĻŦā§‡āĻ‡ right āĻāĻ° āĻĻāĻŋāĻ•ā§‡ āĻ“āĨ¤

āĻ¨āĻŋāĻšā§‡ āĻ•ā§‹āĻĄ āĻĻā§‡āĻ“ā§ŸāĻž āĻšāĻ˛ā§‹ āĻāĻŦāĻ‚ āĻ¸āĻžāĻĨā§‡ āĻ•āĻŽā§‡āĻ¨ā§āĻŸ āĻ•āĻ°ā§‡ āĻŦā§āĻāĻžāĻ¨ā§‹ āĻšāĻ˛ā§‹ āĻ•ā§‹āĻ¨ āĻ˛āĻžāĻ‡āĻ¨ āĻ•āĻŋ āĻ•āĻžāĻœ āĻ•āĻ°āĻ›ā§‡āĨ¤

// add node in binary tree

// āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻŽā§āĻĒāĻ˛ā§‡āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ˛ā§‹ āĻ¨āĻ¤ā§āĻ¨ node āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻžāĻ¤ā§‡ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻœāĻžā§ŸāĻ—āĻžā§Ÿ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯āĻžā§ŸāĨ¤
class Node {
  constructor(value) {
    this.leftChid = null;
    this.rightChild = null;
    this.value = value;
  }
}

class BinaryTree {
  constructor() {
    this.root = null;
  }

  // add method
  addNode(value) {
    // āĻ¨āĻ¤ā§āĻ¨ node āĻāĻ•āĻŸāĻŋ variable āĻ āĻ°āĻžāĻ–āĻž āĻšāĻ˛ā§‹āĨ¤
    let newNode = new Node(value);

    // āĻšā§‡āĻ• āĻ•āĻ°āĻž āĻšāĻ˛ā§‹ āĻ¯āĻĻāĻŋ root null āĻšā§Ÿā§‡ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° root āĻšā§Ÿā§‡ āĻ¯āĻžāĻŦā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻ¯ā§‡ node āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻšā§āĻ›āĻŋ āĻ¸ā§‡āĻŸāĻŋāĨ¤ āĻ†āĻ° null āĻ¨āĻž āĻšāĻ˛ā§‡ else āĻšāĻ˛āĻŦā§‡āĨ¤
    if (this.root === null) {
      this.root = newNode;
    } else {
      // currentRoot variable āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° tree āĻāĻ° āĻ¯ā§‡ root āĻ°ā§Ÿā§‡āĻ›ā§‡ āĻ¤āĻžāĻ•ā§‡ āĻ°āĻžāĻ–āĻ˛āĻžāĻŽāĨ¤
      let currentRoot = this.root;

      // āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ˛āĻŋā§ŸāĻžāĻ¨ value āĻ°āĻžāĻ–āĻ˛āĻžāĻŽ āĻ¯āĻžāĻ¤ā§‡ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ°āĻžāĻ¨ āĻŦā§āĻ°ā§‡āĻ• āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤
      let added = false;

      // while loop āĻšāĻ˛āĻŦā§‡ āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° added true āĻ¨āĻž āĻšā§Ÿ āĻāĻŦāĻ‚ āĻ¯āĻĻāĻŋ currentRoot null āĻ¨āĻž āĻšā§Ÿ āĻ¤āĻžāĻšāĻ˛ā§‡āĨ¤
      while (!added && currentRoot) {
        // āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻ¤ā§āĻ¨ node āĻ†āĻŽāĻžāĻĻā§‡āĻ° tree āĻāĻ° currentRoot āĻāĻ° value āĻāĻ° āĻšā§‡ā§Ÿā§‡ āĻ›ā§‹āĻŸ āĻšā§Ÿ āĻ¤āĻžāĻšāĻ˛ā§‡
        if (value < currentRoot.value) {
          // āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° currentRoot āĻāĻ° left āĻ āĻ•ā§‹āĻ¨ā§‹ node āĻ¨āĻž āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡
          if (currentRoot.leftChid === null) {
            // currentRoot āĻāĻ° left āĻ¸āĻŽāĻžāĻ¨ āĻšā§Ÿā§‡ āĻ¯āĻžāĻŦā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻ¤ā§āĻ¨ node
            currentRoot.leftChid = newNode;

            // added āĻ•ā§‡ true āĻ•āĻ°ā§‡ āĻĻāĻŋāĻ˛āĻžāĻŽ āĻ•āĻžāĻ°āĻŖ āĻ†āĻŽāĻ°āĻž āĻ¨āĻ¤ā§āĻ¨ node āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡ āĻ¨āĻŋāĻ˛ā§‡ āĻ¤ā§‹ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ†āĻ° āĻāĻ‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĒā§āĻ°ā§Ÿā§‹āĻœāĻ¨ āĻ¨āĻžāĻ‡ āĻ¤āĻžāĻ‡āĨ¤
            added = true;
          }
          // āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° currentRoot āĻāĻ° left āĻ āĻ•ā§‹āĻ¨ā§‹ node āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡
          else {
            // āĻāĻ–āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° currentRoot āĻšā§Ÿā§‡ āĻ¯āĻžāĻŦā§‡ currenRoot āĻ āĻĨāĻžāĻ•āĻž left
            currentRoot = currentRoot.leftChid;
          }
        }
        // āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻ¤ā§āĻ¨ node āĻ†āĻŽāĻžāĻĻā§‡āĻ° tree āĻāĻ° currentRoot āĻāĻ° value āĻĨā§‡āĻ•ā§‡ āĻŦā§œ āĻšā§Ÿ āĻ¤āĻžāĻšāĻ˛ā§‡
        else if (value > currentRoot.value) {
          // āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° currentRoot āĻāĻ° right āĻ āĻ•ā§‹āĻ¨ā§‹ node āĻ¨āĻž āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡
          if (currentRoot.rightChild === null) {
            // currentRoot āĻāĻ° right āĻ¸āĻŽāĻžāĻ¨ āĻšā§Ÿā§‡ āĻ¯āĻžāĻŦā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻ¤ā§āĻ¨ node
            currentRoot.rightChild = newNode;

            // added āĻ•ā§‡ true āĻ•āĻ°ā§‡ āĻĻāĻŋāĻ˛āĻžāĻŽ āĻ•āĻžāĻ°āĻŖ āĻ†āĻŽāĻ°āĻž āĻ¨āĻ¤ā§āĻ¨ node āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡ āĻ¨āĻŋāĻ˛ā§‡ āĻ¤ā§‹ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ†āĻ° āĻāĻ‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻĒā§āĻ°ā§Ÿā§‹āĻœāĻ¨ āĻ¨āĻžāĻ‡ āĻ¤āĻžāĻ‡āĨ¤
            added = true;
          }
          // āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° currentRoot āĻāĻ° right āĻ āĻ•ā§‹āĻ¨ā§‹ node āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡
          else {
            // āĻāĻ–āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° currentRoot āĻšā§Ÿā§‡ āĻ¯āĻžāĻŦā§‡ currenRoot āĻ āĻĨāĻžāĻ•āĻž right
            currentRoot = currentRoot.rightChild;
          }
        }
      }
    }
  }
}

Binary Search Tree - Search Node

> binary tree āĻ¤ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻœāĻžāĻ¨āĻŋ āĻ¯ā§‡ root āĻĨā§‡āĻ•ā§‡ left āĻāĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¯ā§‡āĻ¸āĻŦ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻĨāĻžāĻ•āĻŦā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛ā§‹ āĻ¸āĻŦ āĻ›ā§‹āĻŸ āĻšāĻŦā§‡ root āĻāĻ° āĻšā§‡ā§Ÿā§‡ āĻāĻŦāĻ‚ right āĻāĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¯ā§‡āĻ¸āĻŦ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻĨāĻžāĻ•āĻŦā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛ā§‹ āĻ¸āĻŦ āĻŦā§œ āĻšāĻŦā§‡ root āĻāĻ° āĻšā§‡ā§Ÿā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ–āĻžāĻ¨ā§‡ search āĻ•āĻ°āĻž āĻ–ā§āĻŦāĻ‡ āĻ¸āĻšāĻœ āĻšā§Ÿā§‡ āĻ—ā§‡āĻ›ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻšā§‡āĻ• āĻ•āĻ°ā§‡ āĻ¨āĻŋāĻŦā§‹ āĻ†āĻŽāĻžāĻĻā§‡āĻ° root āĻ†āĻ›ā§‡ āĻ•āĻŋ āĻ¨āĻž āĻ¯āĻĻāĻŋ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻŦāĻžāĻ•āĻŋ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‹ āĻ¨āĻž āĻšāĻ˛ā§‡ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡āĻ‡ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°ā§‡ āĻĻāĻŋāĻŦā§‹ nullāĨ¤ āĻ†āĻ° āĻ¯āĻĻāĻŋ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡ node āĻŸāĻŋ āĻ–ā§āĻœāĻ¤ā§‡ āĻšāĻžāĻšā§āĻ›āĻŋ āĻ¸ā§‡āĻŸāĻž āĻĻāĻŋā§Ÿā§‡ āĻšā§‡āĻ• āĻ•āĻ°āĻŦā§‹ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° root āĻāĻ° āĻšā§‡ā§Ÿā§‡ āĻŦā§œ āĻ¨āĻžāĻ•āĻŋ āĻ›ā§‹āĻŸ āĻ“āĻ‡ āĻ¨āĻ¤ā§āĻ¨ value āĻŸāĻŋ āĻ¯āĻĻāĻŋ āĻŦā§œ āĻšā§Ÿ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¤ā§‹ āĻ†āĻŽāĻ°āĻž left āĻāĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¯āĻžāĻŦā§‹ āĻ¨āĻž āĻ•āĻžāĻ°āĻŖ āĻ†āĻŽāĻ°āĻž āĻœāĻžāĻ¨āĻŋ āĻ“āĻ‡āĻĻāĻŋāĻ•ā§‡ āĻļā§āĻ§ā§ āĻ›ā§‹āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ‡ āĻ†āĻ›ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¯āĻžāĻŦā§‹ right āĻāĻ° āĻĻāĻŋāĻ•ā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻĻāĻŋāĻ•ā§‡āĻ‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° search node āĻĒā§‡ā§Ÿā§‡ āĻ¯āĻžāĻŦā§‹ āĻ†āĻ° āĻ¯āĻĻāĻŋ āĻ›ā§‹āĻŸ āĻšā§Ÿ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¤ā§‹ left āĻāĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¯āĻžāĻŦā§‹āĨ¤ āĻŦā§āĻ¯āĻžāĻ¸ āĻāĻ‡ āĻ¸āĻŋāĻŽā§āĻĒāĻ˛ āĻ•āĻžāĻœ āĻ†āĻ° āĻ•āĻŋāĻ›ā§ āĻ¨āĻž āĻāĻŦāĻ‚ āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° search node āĻĒā§‡ā§Ÿā§‡ āĻ¯āĻžāĻŦā§‹ āĻ¤āĻ–āĻ¨ āĻ¸ā§‡āĻŸāĻž āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°ā§‡ āĻĻāĻŋāĻŦā§‹āĨ¤

āĻ“āĻ•ā§‡ āĻ¨āĻŋāĻšā§‡ āĻ•ā§‹āĻĄ āĻĻā§‡āĻ“ā§ŸāĻž āĻšāĻ˛ā§‹ āĻāĻŦāĻ‚ āĻ¸āĻžāĻĨā§‡ āĻ•āĻŽā§‡āĻ¨ā§āĻŸ āĻ•āĻ°ā§‡ āĻĻā§‡āĻ“ā§ŸāĻž āĻšāĻ˛ā§‹ āĻ•ā§‹āĻ¨ āĻ˛āĻžāĻ‡āĻ¨ āĻ•āĻŋ āĻ•āĻ°āĻ›ā§‡āĨ¤

// searching node in binary tree
findNode(value) {
    // āĻšā§‡āĻ• āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° tree āĻ¤ā§‡ āĻ•ā§‹āĻ¨ā§‹ node āĻ‡ āĻ¨āĻž āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡ null āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°āĻŦā§‡āĨ¤
    if (!this.root) {
      return null;
    }

    // āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ root āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ variable āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ°āĻžāĻ–āĻ˛āĻžāĻŽāĨ¤
    let currentRoot = this.root;

    // āĻ†āĻŽāĻžāĻĻā§‡āĻ° root āĻ¯āĻĻāĻŋ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻ‡ while loop āĻšāĻ˛āĻŦā§‡āĨ¤
    while (currentRoot) {

      // āĻšā§‡āĻ• āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° currentRoot āĻāĻ° āĻ¯ā§‡ value āĻ†āĻ›ā§‡ āĻ¯ā§‡āĻŸāĻž āĻ•āĻŋ āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡ node āĻ–ā§āĻœāĻ›āĻŋ āĻ¸ā§‡āĻŸāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻŋāĻ˛ā§‡?
      if (currentRoot.value === value) {
        // āĻŽāĻŋāĻ˛ā§‡ āĻ—ā§‡āĻ˛ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° search node āĻāĻ‡ currentRoot āĻ¤āĻžāĻ‡ āĻ¸ā§‡āĻŸāĻž āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°ā§‡ āĻĻāĻŋāĻšā§āĻ›āĻŋāĨ¤
        return currentRoot;
      }
      // āĻšā§‡āĻ• āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡ node āĻ–ā§āĻœāĻ›āĻŋ āĻ¸ā§‡āĻŸāĻž āĻ•āĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° currentRoot āĻāĻ° value āĻāĻ° āĻĨā§‡āĻ•ā§‡ āĻ›ā§‹āĻŸāĨ¤
      else if (value < currentRoot.value) {
        // āĻ›ā§‹āĻŸ āĻšāĻ˛ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° currentRoot āĻ•āĻ°ā§‡ āĻĻāĻŋāĻŦā§‹ currentRoot āĻ āĻĨāĻžāĻ•āĻž left āĻ•ā§‡ āĻ•āĻžāĻ°āĻŖ āĻ†āĻŽāĻ°āĻž āĻœāĻžāĻ¨āĻŋ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻŦ āĻ›ā§‹āĻŸ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ°ā§Ÿā§‡āĻ›ā§‡ left āĻāĻ° āĻĻāĻŋāĻ•ā§‡āĨ¤
        currentRoot = currentRoot.leftChid;
      } else {
        // āĻ†āĻ° āĻŦā§œ āĻšāĻ˛ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° currentRoot āĻ•āĻ°ā§‡ āĻĻāĻŋāĻŦā§‹ currentRoot āĻāĻ° right āĻ•ā§‡ āĻ•āĻžāĻ°āĻŖ āĻ“āĻ‡āĻĻāĻŋāĻ•ā§‡ āĻ¸āĻŦ āĻŦā§œ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻ°ā§Ÿā§‡āĻ›ā§‡āĨ¤
        currentRoot = currentRoot.rightChild;
      }
    }
  }

About

It is a document repository. I'm learning DSA so I created this repository to note down all the things, that might benefit many others. In this repository, I have tried to cover all the important topics of data structures and algorithms.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published