Blogga qaytish

GRAF

DSA: GRAPH

DSA: GRAPH

Graph — bu Node (Vertex) va ular orasidagi Edge'lardan tashkil topgan data structure.

Masalan:

A — B

| |

C — D

Vertex / Node — obyekt yoki nuqta.

Masalan: A, B, C, D.

Edge — node'lar orasidagi bog‘lanish.

Masalan: A — B.

GRAPH TURLARI

  1. Undirected Graph — yo‘nalishsiz graph:

A — B

A dan B ga ham, B dan A ga ham bog‘lanish mavjud.

  1. Directed Graph — yo‘nalishli graph:

A → B

A dan B ga borish mumkin, lekin B dan A ga shart emas.

  1. Weighted Graph — edge'larning qiymati yoki og‘irligi bor:

A — 5 — B

5 — masofa, narx, vaqt va hokazo bo‘lishi mumkin.

GRAPHNI SAQLASH USULLARI

  1. Adjacency List

Har bir node o‘zining qo‘shnilarini saqlaydi:

A → B, C

B → A, D

C → A

D → B

Bu usul Linked List tushunchasiga yaqin.

  1. Adjacency Matrix

Node'lar orasidagi bog‘lanish jadval ko‘rinishida saqlanadi:

A B C D

A 0 1 1 0

B 1 0 0 1

C 1 0 0 0

D 0 1 0 0

1 — bog‘lanish bor.

0 — bog‘lanish yo‘q.

GRAPH TRAVERSAL

Graph ichidagi node'larni birma-bir ko‘rib chiqish Traversal deyiladi.

BFS — Breadth-First Search

Qavatma-qavat yuradi.

Queue ishlatadi.

   A
  / \
 B   C
 |
 D

BFS: A → B → C → D

DFS — Depth-First Search

Bitta yo‘ldan imkon qadar chuqur ketadi.

Stack yoki Recursion ishlatadi.

DFS: A → B → D → C

QISQACHA:

GRAPH

|

├── Node / Vertex — nuqta

├── Edge — bog‘lanish

|

├── Directed — A → B

├── Undirected — A — B

├── Weighted — A — 5 — B

|

├── Adjacency List — qo‘shnilar ro‘yxati

├── Adjacency Matrix — jadval

|

├── BFS — Queue, qavatma-qavat

└── DFS — Stack/Recursion, chuqurlikka

Graph real hayotdagi shaharlar va yo‘llar, odamlar va aloqalar, web sahifalar va linklar, networklar kabi bog‘liqliklarni modellashtirishda ishlatiladi.

👍 0 ❤️ 1 🔥 0

Izohlar 0

Izoh qoldirish uchun kiring yoki ro'yxatdan o'ting.

Hali izoh yo'q. Birinchi bo'ling!

Boshqa maqolalar

Shunga o'xshash

Barchasi →