- Big O Notation
- Recursion
- Linear Search
- Binary Search
- Bubble Sort
- Selection Sort
- Insertion Sort
- Stack
- Queue
- Linked List
- Binary Tree
> 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.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) )
- 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) )
> Lineasr Search āĻŦāĻŋāĻˇā§āĻāĻŋ āĻšāĻā§āĻā§ āĻā§āĻ¨ā§ āĻāĻāĻāĻž āĻ¸ā§āĻĒā§āĻ¸āĻŋāĻĢāĻŋāĻ āĻāĻžā§āĻāĻž āĻĨā§āĻā§ āĻā§āĻ¨ā§ āĻāĻāĻāĻž āĻāĻŋāĻ¨āĻŋāĻ¸ āĻā§āĻā§ āĻĻāĻŋāĻŦā§ āĻāĻŦāĻ āĻā§āĻā§ āĻĻā§ā§āĻžāĻ° āĻĒāĻ° āĻ¸ā§āĻāĻžāĻ¨ āĻĨā§āĻā§ āĻāĻ˛ā§ āĻāĻ¸āĻŦā§āĨ¤ āĻ¤āĻžāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻā§āĻā§ āĻāĻŽāĻ°āĻž āĻŦāĻ˛ā§ āĻĻāĻŋāĻŦā§ āĻ¯ā§ āĻāĻ āĻāĻžā§āĻāĻž āĻĨā§āĻā§ āĻāĻŽāĻžāĻā§ āĻ¤ā§āĻŽāĻŋ āĻāĻ āĻāĻŋāĻ¨āĻŋāĻ¸āĻāĻž āĻāĻ¨ā§ āĻĻāĻžāĻ linear search āĻŦāĻŋāĻˇā§āĻāĻŋ āĻšāĻā§āĻā§ āĻāĻāĻ°āĻāĻŽāĨ¤ > binary search āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻžāĻāĻŽ āĻāĻŽāĻĒā§āĻ˛ā§āĻā§āĻ¸āĻŋāĻāĻŋ āĻ āĻ¨ā§āĻ āĻāĻŽāĻŋā§ā§ āĻĻā§ā§ āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻ¯ā§ āĻāĻ˛āĻŋāĻŽā§āĻ¨ā§āĻ āĻā§āĻāĻ¤ā§ āĻāĻžāĻā§āĻāĻŋ āĻ¸ā§āĻāĻž āĻā§āĻŦ āĻ¸āĻšāĻā§ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ binary search āĻāĻ°āĻ¤ā§ āĻšāĻ˛ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¯ā§ array āĻāĻŋ āĻĨāĻžāĻāĻŦā§ āĻ¸ā§āĻāĻžāĻā§ ascending order āĻ āĻ¸āĻžāĻāĻžāĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻĒāĻ°ā§ āĻ¸ā§āĻāĻžāĻ° āĻāĻĒāĻ° āĻ¸āĻžāĻ°ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĨ¤
āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻ˛ā§āĻ¨ āĻ¨āĻŋāĻā§āĻ° āĻāĻŽā§āĻā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻ°ā§ āĻāĻžāĻ˛ā§āĻāĻžāĻŦā§ āĻŦā§āĻāĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°āĻŋāĨ¤
binary search āĻ āĻāĻŽāĻ°āĻž āĻ¤āĻŋāĻ¨āĻāĻŋ āĻĒā§ā§āĻ¨ā§āĻ āĻāĻ°āĻŋ āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻŦāĻ āĻ¸ā§āĻ āĻĒā§ā§āĻ¨ā§āĻ āĻ āĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¯ā§āĻ āĻāĻ˛āĻŋāĻŽā§āĻ¨ā§āĻ āĻā§āĻāĻāĻŋ āĻ¸ā§āĻāĻž āĻĒāĻžāĻŦā§āĨ¤
āĻĒā§ā§āĻ¨ā§āĻ āĻā§āĻ˛ā§ āĻšāĻā§āĻā§,
- Start Point
- Middle Point
- 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 āĻŽāĻāĻž āĻāĻ°āĻ˛āĻžāĻŽ )āĨ¤
> sorting slgorithms āĻšāĻā§āĻā§ āĻā§āĻ¨ā§ āĻāĻāĻāĻž array āĻā§ ascending order āĻ āĻāĻŋāĻāĻŦāĻž descending order āĻ āĻ¸āĻžāĻāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ ( āĻā§āĻ āĻĨā§āĻā§ āĻŦā§ āĻāĻŋāĻāĻŦāĻž āĻŦā§ āĻĨā§āĻā§ āĻā§āĻ )āĨ¤ āĻāĻŽāĻ°āĻž āĻāĻ sorting algorithms āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ āĻ¨ā§āĻāĻā§āĻ˛ā§ algorithms āĻĒāĻžāĻ āĻā§āĻā§āĻ˛ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻā§āĻŦ āĻ¸āĻšāĻā§ āĻ¯ā§āĻā§āĻ¨ā§ array sort āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĨ¤ āĻ¨āĻŋāĻā§ āĻāĻŋāĻā§ āĻĻā§ā§āĻž āĻšāĻ˛ā§, > bubble sort āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ array āĻāĻ° ā§¨āĻāĻŋ value āĻ¨āĻŋā§ā§ āĻ¨āĻŋā§ā§ āĻ¤āĻžāĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ compare āĻāĻ°ā§ āĻĻā§āĻāĻŦā§ āĻ¯ā§ āĻĒā§āĻ°āĻĨāĻŽ value āĻāĻ° āĻā§ā§ā§ āĻĻā§āĻŦāĻŋāĻ¤ā§ā§ value āĻŦā§ āĻ¨āĻžāĻāĻŋ āĻā§āĻ āĻ¯āĻĻāĻŋ āĻŦā§ āĻšā§ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻ°āĻž swape āĻāĻ°āĻŦā§ value āĻā§āĻ˛ā§āĻā§, āĻ¯ā§āĻŽāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ value āĻŦā§ āĻšāĻ˛ā§ āĻĻā§āĻŦāĻŋāĻ¤ā§ā§ value āĻāĻ° āĻā§ā§ā§ āĻ¤āĻžāĻšāĻ˛ā§ āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻŦā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻāĻŋ āĻ¯ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻĄāĻžāĻ¨ āĻĒāĻžāĻļā§āĻ° value āĻāĻŋ āĻšāĻā§āĻā§ āĻā§āĻ value āĻāĻŦāĻ āĻ¤āĻžāĻā§ āĻŦāĻžāĻŽ āĻĒāĻžāĻļā§ āĻāĻ¨āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻŦāĻžāĻŽ āĻĒāĻžāĻļā§āĻ° value āĻā§ āĻĄāĻžāĻ¨ āĻĒāĻžāĻļā§ āĻĻāĻŋāĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻāĻāĻžāĻŦā§āĻ āĻā§āĻ āĻāĻ°ā§ āĻāĻ°ā§ āĻāĻŽāĻ°āĻž bubble sorting āĻāĻ°āĻŦā§āĨ¤ āĻāĻŦāĻ āĻāĻ°ā§āĻāĻāĻž āĻāĻĨāĻž āĻšāĻā§āĻā§ āĻāĻŽāĻ°āĻž āĻ¯āĻāĻ¨ āĻ¸āĻ°ā§āĻŦāĻļā§āĻˇ āĻ˛āĻžāĻ¸ā§āĻ āĻŦā§ āĻāĻ˛āĻŋāĻŽā§āĻ¨ā§āĻ āĻĒā§ā§ā§ āĻ¯āĻžāĻŦ āĻ¤āĻāĻ¨ āĻĻā§āĻŦāĻŋāĻ¤ā§ā§ āĻŦāĻžāĻ° āĻāĻ° āĻāĻ āĻ˛āĻžāĻ¸ā§āĻ āĻāĻ˛āĻŋāĻŽā§āĻ¨ā§āĻāĻā§ āĻŦāĻžāĻŽ āĻĒāĻžāĻļā§āĻ° āĻāĻ˛āĻŋāĻŽā§āĻ¨ā§āĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻā§āĻ āĻāĻ°āĻŦā§ āĻ¨āĻž āĻāĻŦāĻ āĻāĻāĻžāĻŦā§āĻ āĻā§āĻāĻŋāĻ āĻšāĻŦā§āĨ¤āĻŽā§āĻ˛āĻ¤ āĻāĻāĻāĻžāĻŦā§āĻ binary search āĻāĻ°āĻž āĻšā§āĨ¤ āĻāĻ° picture āĻ¤ā§ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°ā§ āĻĻāĻŋāĻ˛āĻžāĻŽāĻ āĻ¯āĻžāĻ¤ā§ āĻāĻĒāĻ¨āĻžāĻ°āĻž āĻ¨āĻŋāĻā§ āĻāĻ° āĻāĻžāĻ˛ā§ āĻŦā§āĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ āĻāĻŽāĻžāĻ° āĻŦā§āĻāĻžāĻ¨ā§āĻ° āĻā§ā§ā§āĨ¤
āĻ¨āĻŋāĻā§ āĻā§ā§āĻāĻāĻŋ āĻ¸ā§āĻā§āĻĒā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻ° āĻā§āĻ˛āĻŋā§āĻžāĻ° āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻāĻŋ
āĻāĻŽāĻŋ āĻāĻāĻāĻž āĻā§ā§āĻŦāĻ¸āĻžāĻāĻā§āĻ° āĻ˛āĻŋāĻāĻ āĻĻāĻŋāĻā§āĻāĻŋ āĻ¯ā§āĻāĻžāĻ¤ā§ āĻā§āĻ˛ā§ āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻāĻŋāĻĄāĻŋāĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻ°ā§ āĻāĻžāĻŦā§ āĻŦā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¯ā§ operation āĻāĻŋ āĻšāĻā§āĻā§ āĻā§āĻŽāĻ¨ā§āĨ¤
https://visualgo.net/en/sorting
> 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 āĻ āĻŋāĻ 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.
> stack āĻāĻ° āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ¸āĻŋāĻĒāĻžāĻ˛ āĻ°ā§ā§āĻā§ āĻāĻŦāĻ āĻ¸ā§āĻāĻž āĻšāĻā§āĻā§ (LIFO).
- L = Last
- I = In
- F = First
- O = Out
āĻāĻ āĻāĻĨāĻžā§, Last In First Out āĻŦāĻ˛āĻž āĻšā§ā§āĻā§ āĻāĻāĻžāĻ¨ā§āĨ¤ āĻ¯ā§āĻāĻžāĻ° āĻŽāĻžāĻ¨ā§ āĻšāĻā§āĻā§ āĻ¯ā§ āĻ¸āĻŦāĻžāĻ° āĻļā§āĻˇā§ āĻāĻ¸āĻŦā§ āĻ¸ā§ āĻ¸āĻŦāĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽā§ āĻŦā§āĻ°āĻŋā§ā§ āĻ¯āĻžāĻŦā§ āĻāĻŦāĻ āĻ¯ā§ āĻ¸āĻŦāĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻ¸āĻŦā§ āĻ¸ā§ āĻ¸āĻŦāĻžāĻ° āĻļā§āĻˇā§ āĻŦā§āĻ°āĻŋā§ā§ āĻ¯āĻžāĻŦā§āĨ¤
āĻāĻā§, āĻāĻŋāĻ¨āĻŋāĻ¸āĻāĻž āĻāĻ° āĻā§āĻ˛āĻŋā§āĻžāĻ° āĻāĻ°āĻŋ āĻāĻāĻāĻŋ āĻāĻŽā§āĻā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§.........
āĻāĻāĻžāĻ¨ā§ āĻāĻŽā§āĻāĻāĻŋ āĻ˛āĻā§āĻˇ āĻāĻ°ā§āĻ¨, āĻāĻŽāĻŋ āĻ¯āĻāĻ¨ āĻĒā§āĻ˛ā§āĻ āĻ°āĻžāĻāĻāĻŋāĻ˛āĻžāĻŽ āĻ¤āĻāĻ¨ āĻāĻāĻāĻžāĻ° āĻāĻĒāĻ° āĻāĻāĻāĻž āĻāĻāĻžāĻŦā§ āĻ°āĻžāĻāĻāĻŋāĻ˛āĻžāĻŽ āĻāĻŦāĻ āĻāĻŽāĻŋ āĻ¸āĻŦ āĻĒā§āĻ˛ā§āĻ āĻ°ā§āĻā§ āĻĻāĻŋā§ā§āĻāĻŋāĨ¤ āĻĒāĻ°ā§ āĻāĻŽāĻžāĻ° āĻāĻŽā§āĻŽā§ āĻŦāĻ˛āĻ˛ā§ āĻ¯ā§ āĻāĻ¨āĻžāĻā§ āĻāĻāĻāĻž āĻĒā§āĻ˛ā§āĻ āĻāĻ¨ā§ āĻĻāĻŋāĻ¤ā§, āĻ¤ā§ āĻāĻŽāĻŋ āĻāĻŋā§ā§ āĻāĻĒāĻ°ā§ āĻ¯ā§ āĻĒā§āĻ˛ā§āĻāĻāĻŋ āĻāĻā§ āĻ¸ā§āĻāĻŋ āĻ¨āĻŋā§ā§ āĻāĻ¸ā§ āĻāĻ¨āĻžāĻā§ āĻĻāĻŋāĻŦā§ āĻ¤āĻžāĻ āĻ¨āĻž ? āĻšā§, āĻāĻžāĻ°āĻŖ āĻāĻŽāĻŋ āĻāĻžāĻāĻŦā§ āĻ¨āĻž āĻ¯ā§ āĻ¨āĻŋāĻ āĻĨā§āĻā§ āĻāĻāĻāĻž āĻĒā§āĻ˛ā§āĻ āĻāĻ¨ā§ āĻĻā§āĻ āĻāĻžāĻ°āĻŖ āĻ¸ā§ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻĒā§āĻ°ā§ āĻĒā§āĻ˛ā§āĻā§āĻ° āĻ¸ā§āĻ¤ā§āĻŦāĻāĻŋ āĻā§āĻā§āĻā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŦāĻ āĻ¨āĻž āĻāĻžāĻā§āĻāĻ˛ā§ āĻ āĻāĻ¤ā§ āĻāĻˇā§āĻ āĻ¨āĻŋā§ā§ āĻāĻ¸āĻŦā§ āĻ¨āĻž āĻāĻŽāĻŋāĨ¤ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻžāĻ¨ā§ āĻāĻāĻ¨āĻž āĻāĻŋ āĻšāĻ˛ā§ ? āĻāĻŽāĻŋ āĻ¯ā§āĻ āĻĒā§āĻ˛ā§āĻāĻāĻŋ āĻ¸āĻŦāĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽā§ āĻ°ā§āĻā§āĻāĻŋāĻ˛āĻžāĻŽ āĻ¸ā§āĻāĻž āĻ¨āĻŋāĻā§ āĻ°ā§ā§ āĻā§āĻ˛ā§ āĻāĻŦāĻ āĻ¯ā§āĻ āĻĒā§āĻ˛ā§āĻāĻāĻŋ āĻ¸āĻŦāĻžāĻ° āĻļā§āĻˇā§ āĻ°ā§āĻā§āĻāĻŋāĻ˛āĻžāĻŽ āĻ¸ā§āĻāĻž āĻāĻĒāĻ°ā§ āĻ°ā§ā§ āĻā§āĻ˛ā§ āĻāĻŦāĻ āĻāĻŽāĻŋ āĻ¯āĻāĻ¨ āĻĒā§āĻ˛ā§āĻ āĻ¨āĻŋāĻ¤ā§ āĻāĻ¸āĻāĻŋ āĻ¤āĻāĻ¨ āĻāĻ āĻāĻĒāĻ°ā§āĻ° āĻĒā§āĻ˛ā§āĻāĻāĻŋ āĻ¨āĻŋā§ā§ āĻā§āĻāĻŋāĨ¤ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻžāĻĻā§āĻ° LIFO āĻāĻ° āĻĒā§āĻ°āĻŽāĻžāĻŖ āĻšā§ā§ āĻā§āĻ˛ā§āĨ¤
> 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 āĻ¨āĻŋā§ā§ āĻā§āĻŦ āĻāĻžāĻ˛ā§āĻāĻžāĻŦā§ āĻāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°āĻžāĻ° āĻā§āĻˇā§āĻāĻž āĻāĻ°ā§āĻāĻŋ āĻāĻŦāĻ āĻ¨āĻŋāĻā§ āĻ¸ā§āĻ āĻ°āĻŋāĻĒā§āĻāĻŋāĻāĻ°āĻŋāĻ° āĻ˛āĻŋāĻāĻ āĻĻāĻŋā§ā§āĻāĻŋ,
Repository Link - https://github.com/Asfak00/linked-list-full-explained
> āĻ¯ā§ āĻā§āĻ°āĻŋ āĻāĻ° āĻ¨ā§āĻĄāĻā§āĻ˛ā§āĻ¤ā§ āĻ¸āĻ°ā§āĻŦā§āĻā§āĻ āĻĻā§āĻāĻāĻŋ child āĻĨāĻžāĻā§āĻā§ āĻĒāĻžāĻ° āĻ¤āĻžāĻā§ āĻŦāĻžāĻāĻ¨āĻžāĻ°āĻŋ āĻā§āĻ°āĻŋ āĻŦāĻ˛āĻž āĻšā§āĨ¤ āĻ¨ā§āĻĄāĻā§āĻ˛ā§āĻ¤ā§ āĻ˛āĻŋāĻā§āĻāĻĄ āĻ˛āĻŋāĻ¸ā§āĻā§āĻ° āĻŽā§āĻ āĻāĻ° āĻŦāĻž āĻāĻāĻžāĻ§āĻŋāĻ āĻĄā§āĻāĻž āĻ¸ā§āĻā§āĻ° āĻāĻ°āĻžāĻ° āĻĢāĻŋāĻ˛ā§āĻĄ/āĻā§āĻ°āĻŋā§ā§āĻŦāĻ˛ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻ° āĻĨāĻžāĻāĻŦā§ āĻāĻ āĻ¨ā§āĻĄā§āĻ° left child āĻāĻŦāĻ right child āĻāĻ° āĻŽā§āĻŽāĻ°āĻŋ āĻāĻĄā§āĻ°ā§āĻ¸āĨ¤ āĻ¯āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻĻā§āĻ°āĻā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻž āĻ¯āĻžā§āĨ¤
Binary Tree āĻšāĻā§āĻā§ ā§Š āĻĒā§āĻ°āĻāĻžāĻ°āĻ
- Full Binary Tree
- Complete Binary Tree
- Perfect Binary Tree
> āĻāĻŽāĻ°āĻž āĻāĻžāĻ¨āĻŋ āĻ¯ā§ āĻāĻŽāĻžāĻĻā§āĻ° 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 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;
}
}
}