JavaScript arrays

JavaScript arrays ek mast aur versatile tool hai jo tumhare DSA (Data Structures and Algorithms) mein bahut kaam aate hain! 📚💻

Ab samjho DSA ke context mein, arrays kaise kaam karte hain aur kya-kya operations perform ho sakte hain. 🚀


Array Basics in JavaScript

JavaScript mein, arrays ekdum flexible hote hain:

  • Tum different types ke data ek hi array mein rakh sakte ho. 🧃🍕💰
    Example:

    let arr = [10, "hello", true, 42];
    
  • Tum dynamic size wale arrays bana sakte ho. Na koi size batana, na koi tension! 🌀


Common Operations in JavaScript Arrays (DSA Style)

1️⃣ Traversal (Array ke elements ko access karna)

  • Traversal ka matlab hai ek-ek karke har element ko dekhna. 👀
  • Example:
    let arr = [10, 20, 30, 40];
    for (let i = 0; i < arr.length; i++) {
      console.log(arr[i]); // Output: 10, 20, 30, 40
    }
    
    👉 Big O Time ComplexityO(n)
    Tumhe (n) elements check karne padenge.

2️⃣ Searching (Koi particular value dhoondhna)

  • Tum linear search use karte ho to ek value dhoondhne ke liye. Agar array sorted hai, to binary search use kar sakte ho! 🔍

  • Example (Linear Search):

    let arr = [10, 20, 30, 40];
    let target = 30;
    for (let i = 0; i < arr.length; i++) {
      if (arr[i] === target) {
        console.log("Found at index: " + i); // Output: Found at index: 2
      }
    }
    

    👉 Time Complexity:

    • Linear SearchO(n)
    • Binary Search (sorted arrays)O(log n)

3️⃣ Insertion (Naya element add karna)

  • End me add karna:
    Easy peasy! Bas .push() use karo.
    Example:

    let arr = [10, 20, 30];
    arr.push(40); // [10, 20, 30, 40]
    

    👉 Time ComplexityO(1)

  • Shuru ya beech me add karna:
    Yaha tumhe baaki elements ko shift karna padta hai. 😥
    Example:

    let arr = [10, 20, 30];
    arr.splice(1, 0, 15); // [10, 15, 20, 30]
    

    👉 Time ComplexityO(n)


4️⃣ Deletion (Element ko hataana)

  • End se delete karna:
    Bas .pop() use karo.
    Example:

    let arr = [10, 20, 30];
    arr.pop(); // [10, 20]
    

    👉 Time ComplexityO(1)

  • Shuru ya beech se delete karna:
    Baaki elements ko shift karna padta hai.
    Example:

    let arr = [10, 20, 30];
    arr.splice(1, 1); // [10, 30]
    

    👉 Time ComplexityO(n)


DSA ke Context mein Common Problems

  1. Reverse an Array 🌀

    let arr = [1, 2, 3, 4];
    arr.reverse();
    console.log(arr); // Output: [4, 3, 2, 1]
    
  2. Find Maximum and Minimum in Array 📈📉

    let arr = [10, 20, 5, 15];
    let max = Math.max(...arr);
    let min = Math.min(...arr);
    console.log(max, min); // Output: 20, 5
    
  3. Sorting an Array 🔢

    let arr = [40, 10, 30, 20];
    arr.sort((a, b) => a - b); // Ascending order
    console.log(arr); // Output: [10, 20, 30, 40]
    

Big O Table for JavaScript Array Operations

OperationBest CaseWorst CaseDescription
AccessO(1)O(1)Direct index se value access.
SearchO(1)O(n)Linear search ke liye.
Insert (end)O(1)O(1)End me value add karna.
Insert (start/any)O(1)O(n)Baaki elements ko shift karna.
Delete (end)O(1)O(1)End se value delete karna.
Delete (start/any)O(1)O(n)Baaki elements ko shift karna.

Ek Chhoti Kahani:

Socho tumhari ek grocery list hai:
["Apples", "Bananas", "Oranges"] 🍎🍌🍊

  • Access: Bol do arr[1] aur “Bananas” turant mil jayenge! 🏎️
  • Add: Tum .push("Grapes") karoge to list ke end me Grapes aa jayenge. 🍇
  • Delete: Agar tum “Apples” hatana chahte ho, to .splice(0, 1) karna padega.

JavaScript arrays flexible aur powerful hote hain, but bade data ke liye optimize karna zaruri hai. ✨

Comments

Popular posts from this blog

Big O Notation Graph

Space Complexity