Table of Contents
Traversal algoritmeja ovat olennaisia tutkia puita ja kaavioita tietokonetieteen. Ne auttavat vierailemaan kaikki solmut järjestelmällisesti suorittaa toimintoja, kuten haku, lajittelu, tai analysointi rakenteita. Tämä opas tarjoaa vaiheittaisen katsauksen yhteisiä traversal menetelmiä esimerkkilaskelmia.
Tree Traversal Algorithms
Tree traversal algoritmeja vierailee solmut tietyssä järjestyksessä. Yleisimmät menetelmät ovat in-järjestykseen, ennakkotilaus, ja post-order traversal. Jokainen palvelee eri tarkoituksiin ja seuraa ainutlaatuinen vierailujakso.
Tilauksessa oleva Traversal
In-order traversal käy vasemmalla subtree, nykyinen solmu, sitten oikea subtree. Sitä käytetään usein hakea tietoja lajiteltu järjestyksessä binary haku puita.
Esimerkki: Binääripuulle, jossa on solmuja 4, 2, 5, 1, 3, tilattava kuljetusjärjestys on 1, 2, 3, 4, 5.
Ennen tilausta Traversal
Ennen tilausta matkaa käy nykyisen solmu ensin, sitten vasen alivuokralainen, jota seuraa oikea alivuokralainen. Se on hyödyllinen kopioida puita tai luoda etuliitteen ilmaisuja.
Esimerkki: Käyttämällä samaa puuta, ennakkotilausjärjestys on 4, 2, 1, 3, 5.
Tilauksen jälkeinen Traversal
Tilauksen jälkeinen matka käy vasemmalla ala-, oikealla ala- ja sitten nykyinen solmu. Sitä käytetään usein puiden poistamiseen tai postfix-ilmaisujen arviointiin.
Esimerkki: Samalle puulle tilauksen jälkeinen jakso on 1, 3, 2, 5, 4.
Graafinen algoritmit
Graafinen traversaalialgoritmit tutkivat solmuja kaaviossa. Kaksi päämenetelmää ovat Breadth-First Search (BFS) ja Syvyys-First Search (DFS). Niitä käytetään verkkoanalyysissä, polkujen etsimisessä ja muissa.
Ensimmäinen haku (BFS)
BFS tutkii naapureita tasolta alkaen lähdesolmusta. Se käyttää jonoa seuratakseen solmuja seuraavaksi.
Esimerkki: Aloitetaan solmusta A kaaviossa, BFS käy solmuissa järjestyksessä: A, B, C, D, E, niiden läheisyyden perusteella.
Syvyys-ensimmäinen haku (DFS)
DFS tutkii mahdollisimman pitkälle kunkin haaran läpi ennen takaperin jäljittämistä. Se käyttää pinoa tai rekursiota hallitakseen matkaa.
Esimerkki: Aloitetaan solmusta A, DFS saattaa käydä solmuissa järjestyksessä: A, B, D, E, C.