Topologinen lajittelu

Wikipedia
Loikkaa: valikkoon, hakuun

Topologinen lajittelu (engl. topological sorting) tarkoittaa tietojenkäsittelytieteessä tapaa järjestää suunnatun asyklisen graafin (DAG) solmut jonoksi. Jos graafi kuvaa riippuvuuksia, niin topologisessa järjestyksessä solmun riippuvuudet tulevat aina ennen itse solmua.

Ohjelmakirjastojen riippuvuuksia esittävä suunnattu asyklinen graafi. Solmut ovat topologisesti lajiteltuna: Glib, ATK, GTK, OpenGL. (Ei ainoa ratkaisu.)

[muokkaa] Algoritmi

Hyvä ja helppo algoritmi topologiseen lajitteluun käyttää hyväkseen syvyyssuuntaista läpikäyntiä: aina kun solmu on käyty kokonaan läpi, se lisätään listan ensimmäiseksi. Tuloksena on topologisesti lajiteltu lista.

Algoritmin asymptoottinen suoritusaika on O(n).

[muokkaa] Lähteet

  • Thomas Cormen, Charles Leiserson, Ronald Rivest ja Clifford Stein: ”23.4 Topological sort”, Introduction to Algorithms – 2nd ed. MIT Press ja McGraw-Hill, 2001. ISBN 0-262-03293-7.

Henkilökohtaiset työkalut
Nimiavaruudet
Muuttujat
Toiminnot
Valikko
Osallistuminen
Tulosta tai vie
Työkalut
Muilla kielillä