Prijeđi na sadržaj

Graf (struktura podataka)

Izvor: Wikipedija
Graf sa 6 čvorova i 7 rubova

U računarstvu je graf vrsta podatkovne strukture kojom se implementira matematički koncept grafa.

Graf se uglavnom sastoji od konačnog (moguće i promjenjivog) skupa uređenih parova koji se nazivaju rubovi ili lukovi (eng. edge), ili od entiteta koji se zovu čvorovi. Kao i u matematici, rub je definiran polaznom i krajnjom točkom, pa kažemo da "pokazuje" ili "ide" od x do y. Čvorovi mogu biti dio strukture grafa ili mogu biti vanjski entiteti predstavljeni pomoću cjelobrojnih indeksa ili referenci.

Operacije

[uredi | uredi kôd]

Osnovne operacije koje omogućava graf G uključuju

  • adjacent(G, x,y): provjerava postoji li rub od x do y.
  • neighbors(G, x): izlistava sve čvorove y za koje postoji rub od x do y.
  • add(G, x,y): dodaje rub od x do y, ako ne postoji
  • delete(G, x,y): briše rub od x do y, ako postoji

Strukture koje povezuju vrijednosti za rubove su:

  • get_value(G, x,y): vraća vrijednost vezana za rub (x,y).
  • set_value(G, x,y,v): postavlja vrijednost vezanu za rub (x,y) u v.

Reprezentacije

[uredi | uredi kôd]

Dvije su glavne strukture za reprezentaciju grafova koje se koriste u praksi.

Prva se naziva lista susjedstava (en:adjacency list) i implementira se kao niz s jednom vezanom listom za svaki izvorni čvor, a sadrži destinacijske čvorove rubova koji izlaze iz svakog čvora. Drugi je dvodimenzionalna Booleova matrica susjedstava, koja pokazuje postoji li rub između svakog pojedinog para čvorova. Liste susjedstava su bolji izbor za rijetke (sparse) grafove, dok su za guste grafove (en:dense graphs) bolji izbor matrice susjedstava.

Za grafove koji pokazuju neku pravilnost u položaju rubova, simbolički su grafovi također dobar izbor.

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy