Lesson 1 � Beginner

Graph: Representation aur Types

Graph ek non-linear data structure hai jismein nodes (vertices) aur unhe connect karne wale edges hote hain. Trees sirf hierarchical hote hain, par graphs kisi bhi relationship ko model kar sakte hain � social networks, maps, networks sab.

? 15 min✓ Beginner✓ Trees basic

Graph kya hota hai?

Graph ek collection hai vertices (V) aur edges (E) ka. Har edge do vertices ko connect karta hai. Formally: G = (V, E)

Socho tumhare paas 4 cities hain � A, B, C, D. Agar A se B road hai, B se C road hai, toh yeh ek graph hai. Cities vertices hain, roads edges hain.

 A --- B
 | |
 C D

Yahan A, B, C, D vertices hain aur lines edges hain.

Directed vs Undirected, Weighted vs Unweighted

Graphs ki 4 main types hain:

Adjacency List vs Adjacency Matrix

Graph ko code mein represent karne ke 2 tarike hain:

Adjacency List: Har vertex ke paas ek list hai jo uske neighbors store karti hai. Space efficient � O(V + E).

graph = {
 'A': ['B', 'C'],
 'B': ['A', 'D'],
 'C': ['A'],
 'D': ['B']
}

Adjacency Matrix: 2D matrix jismein matrix[i][j] = 1 agar edge hai, 0 agar nahi. Fast lookup � O(1), par space zyada � O(V�).

 A B C D
A [ 0, 1, 1, 0 ]
B [ 1, 0, 0, 1 ]
C [ 1, 0, 0, 0 ]
D [ 0, 1, 0, 0 ]

Kab kya use karein?

Degree of a Vertex

Try it: code khud likho

Exercise: Neeche diye gaye directed graph ki adjacency list banao:

Edges: A?B, A?C, B?D, C?D, D?A

Adjacency list banao aur har vertex ki in-degree aur out-degree nikalo.

Hint: Directed graph mein sirf ek direction mein edge add karo. Har vertex ke liye count karo kitne edges aa rahe hain (in) aur kitne ja rahe hain (out).

Common mistakes

Graph basics samajh aaye✓ Ab aage badho aur BFS & DFS traversal seekho.