80. Rekursiv: bog'lanishlardagi siklni aniqlash
QiyinHujjatlar bir-biriga havola qiladi (edges: from_node → to_node).
Havolalar zanjiri bo'ylab yurib, o'ziga qaytib keladigan tugunlarni toping —
ya'ni sikl (halqa) tarkibidagi tugunlarni.
Ustun: node. Har tugun bir marta chiqsin.
Saralash: node alifbo.
💡 Maslahat: bosib o'tilgan tugunlarni massivda saqlang, aks holda so'rov
cheksiz aylanib qoladi.
Jadval: edges
| Ustun | Turi |
|---|---|
| from_node | VARCHAR |
| to_node | VARCHAR |
Namuna ma'lumotlar
sample
edges
| from_nodeVARCHAR(20) | to_nodeVARCHAR(20) |
|---|---|
| A | B |
| B | C |
| C | A |
| D | E |
Kutilgan natija
| node |
|---|
| A |
| B |
| C |
sample-full
edges
| from_nodeVARCHAR(20) | to_nodeVARCHAR(20) |
|---|---|
| A | B |
| B | C |
| C | A |
| D | E |
| E | F |
| G | H |
| H | G |
| I | I |
| J | K |
| K | L |
| L | M |
Kutilgan natija
| node |
|---|
| A |
| B |
| C |
| G |
| H |
| I |
sample-extra
edges
| from_nodeVARCHAR(20) | to_nodeVARCHAR(20) |
|---|---|
| C | C |
| D | E |
| H | G |
| B | L |
| B | K |
| D | A |
Kutilgan natija
| node |
|---|
| C |
O'xshash masalalar
Konsol
Natijani ko'rish uchun so'rovni ishga tushiring.
