En guide till grafdatastrukturen

En guide till grafdatastrukturen

En effektiv programmerare behöver en gedigen förståelse för datastrukturer och algoritmer. Tekniska intervjuer kommer ofta att testa dina färdigheter i problemlösning och kritiskt tänkande.





Grafer är en av många viktiga datastrukturer inom programmering. I de flesta fall är det inte lätt att förstå grafer och lösa grafbaserade problem.





hur man systemåterställer windows 10
MAKEUSE AV DAGENS VIDEO

Vad är en graf och vad behöver du veta om den?





Vad är en graf?

En graf är en icke-linjär datastruktur som har noder (eller hörn) med kanter som förbinder dem. Alla träd är undertyper av grafer, men inte alla grafer är träd, och grafen är den datastruktur som träden kommer från.

  Visuell representation av en graf

Fast man kan bygga datastrukturer i JavaScript och andra språk kan du implementera en graf på olika sätt. De mest populära metoderna är kantlistor , angränsande listor , och närliggande matriser .



De Khan Academy guide till att representera grafer är en utmärkt resurs för att lära dig hur man representerar en graf.

Det finns många olika typer av grafer. En vanlig skillnad är mellan riktad och oriktad grafer; dessa kommer upp mycket i kodningsutmaningar och verkliga användningar.





Typer av grafer

  1. Riktad graf: En graf där alla kanter har en riktning, även kallad digrafera.   En riktad graf
  2. Oriktat diagram: En oriktad graf är också känd som en tvåvägsgraf. I oriktade grafer spelar kanternas riktning ingen roll, och korsningen kan gå i vilken riktning som helst.
  3. Viktad graf: En viktad graf är en graf vars noder och kanter har ett associerat värde. I de flesta fall representerar detta värde kostnaden för att utforska den noden eller kanten.
  4. Finit graf: En graf som har ett ändligt antal noder och kanter.
  5. Oändlig graf: En graf som har ett oändligt antal noder och kanter.
  6. Trivial graf: En graf som bara har en nod och ingen kant.
  7. Enkel graf: När endast en kant förbinder varje par av noderna i en graf, kallas det en enkel graf.
  8. Nulldiagram: En nollgraf är en graf som inte har några kanter som förbinder sina noder.
  9. Multigraf: I en multigraf har åtminstone ett par noder mer än en kant som förbinder dem. I multigrafer finns det inga självslingor.
  10. Komplett graf: En komplett graf är en graf där varje nod ansluter till varannan nod i grafen. Det är också känt som en hela grafen .
  11. Pseudograf: En graf som har en självslinga bortsett från andra grafkanter kallas en pseudograf.
  12. Vanlig graf: En vanlig graf är en graf där alla noder har samma grader; dvs varje nod har samma antal grannar.
  13. Ansluten graf: En sammankopplad graf är helt enkelt vilken graf som helst där två valfria noder ansluter; dvs en graf med minst en väg mellan varannan nod i grafen.
  14. Frånkopplad graf: En frånkopplad graf är raka motsatsen till en sammankopplad graf. I en frånkopplad graf finns det inga kanter som länkar samman grafens noder, till exempel i en null Graf.
  15. Cyklisk graf: En cyklisk graf är en graf som innehåller minst en grafcykel (en väg som slutar där den började).
  16. Acyklisk graf: En acyklisk graf är en graf utan cykler alls. Det kan antingen vara riktat eller oriktat.
  17. Subgraf: En subgraf är en härledd graf. Det är en graf som bildas av noder och kanter som är delmängder av en annan graf.