

Scientific publications
Master's thesis




Evolution
Metsola
Pseudoart


|
[Päivitetty Fri Sep 5 17:16:15 1997]
Moduuli digraph.h
Peruskytkentä. Ei painoa, tms.
| Connection | () |
| | Connection | (Node& src, Node& trg) |
| virtual void | make | (Node& src, Node& trg) | Initialisaattori. Sama kuin tuo 2. konstruktosi. Asettaa kytkennän yhdistämään kaksi solmua. Tarkoitettu käytettäväksi silloin kun kytkentä on alustettu käyttäen peruskonstruktoria.
| void | reroute | (Node& target) | Siirtää kytkennän uuteen kohteeseen.
| bool | operator== | (const Connection& other) const | Vertailuoperaattori. Kertoo ovatko kytkennät identtisiä isäntä- ja kohdesolmunsa suhteen. Lähinnä solmuluokan sisäiseen käyttöön; esimerkiksi Node::operator- () kutsuu tätä funktiota saadakseen selville josko kytkentä on jo olemassa.
| bool | connectedTo | (const Node& other) const | Kertoo onko kytkennän kohde sama kuin annettu
| virtual ostream& | operator>> | (ostream& out) const | Tulostaa kytkennän virtaan
| const Node& | getTarget | () const | Palauttaa kohdesolmun
|

Kytkentä, jolla on kokonaislukupaino. Vaatii, että kytketyt solmut ovat PlanarNode:ja.
| WghtConnection | () |
| | WghtConnection | (Node& src, Node& trg) |
| void | make | (Node& src, Node& trg) | Uudelleenmääritelty, jotta voidaan laskea parametrisolmujen välinen fyysinen etäisyys.
| WeightType | operator= | (WeightType newvalue) | Painon asetus
| WeightType | getWeight | () const | Painon nouto
| ostream& | operator>> | (ostream&) const | Tulostaa painon
|

Perussolmu
| Node | () |
| | Node | (const CString& connclass) |
| void | make | (const CString& connclass) | Sama kuin 2. konstruktori yllä
| virtual void | ask | (istream&, ostream&) | Kysyy yksikön tiedot interaktiivisesti (vain ajettaessa komentoriviltä)
| virtual void | readFrom | (ArrayIter<CString>& iter) | Lukee solmun tiedot iteraattorista (ei kytkentöjä)
| virtual CString | toString | () const | Palauttaa solmun sisältöä kuvaavan merkkijonon (ei kytkentöjä)
| Connection& | connectTo | (Node& target) | Kytkee solmun toiseen, palauttaa tuloksena syntyneen kytkennän. Mikäli solmujen välillä jo oli kytkentä, palautetaan vanha kytkentä.
| Node& | operator>> | (ostream&) | Tulostaa solmun datan haluttuun virtaan tekstimuodossa.
| Connection& | operator- | (Node&) | Sokeroitu kytkentäoperaatio kahdelle solmulle. Käyttö: Node a, b; a-b = 5; cout << (a-b);
Jossa solmut a ja b kytketään toisiinsa ja kytkennän painoksi asetetaan 5; Palauttaa: luodun kytkennän. Itse asiassa tämä ei saisi luoda kytkentää, vaan sitä varten tulisi olla oma operaationsa operator+, tms.
| Connection* | getConn | (const Node& other) const | Palauttaa kytkennän kohdesolmuun, tai NULL jos ei ole.
| ArrayIter<Connection>* | enumConns | () const | Palauttaa iteraattorin kytkentöihin. Iteraattori tuhottava käytön jälkeen.
| const CArray<Connection>& | getConns | () const | Palauttaa viittauksen kytkentävektoriin
| Palauttaa kahden solmun välisen painon WeightType weight (Node&);
| Connection& | operator | (Node&) | Katkaisee kahden solmun välisen kytkennän
| Connection& | reroute | (Node&) | Asettaa solmun ainoan (!) kytkennän haluttuun solmuun. Tämä on hyödyllinen operaatio kauppamiehen matkustusongelmassa, jossa löydetyn reitin graafinen tulostus tapahtuu
|

Tasokoordinaatistossa oleva solmu
int | x, y | Tasokoordinaatit
| void | ask | (istream&, ostream&) | Kysyy yksikön tiedot interaktiivisesti
| void | readFrom | (ArrayIter<CString>& iter) | Lukee tiedot iteraattorista
| int | dist | (const PlanarNode& other) const | Laskee etäisyyden toiseen solmuun
| CString | toString | () const | Palauttaa "x,y"
|
Lista solmujen indeksejä. Digraph-luokan TSP-algoritmi käyttää tätä paitsi sisäisessä käytössä, myös TSP-ketjun tulosten palauttamiseen.
int | size | Tämänhetkinen listan pituus
| | NodeList | (int n) | Konstruktorin parametrina listan maksimipituus
| const int& | operator[] | (int i) const | Noutaa alkion
| int& | operator[] | (int i) |
| void | operator= | (const NodeList& o) | Kopiointioperaatio
| void | push | (int value) | Lisäys
|
Yleinen digraafi, riippumaton sisäisestä muodosta. Tätä ei nyt niin kauheasti vielä hyödynnetä.
| GenericDigraph | () |
| | GenericDigraph | (int, int) |
| virtual void | make | (int number_of_nodes) | Alustusoperaatio. Ottaa parametrikseen solmujen lukumäärän.
|

Graafit (Graph-luokka) on määritelty rakentuvan kahdentyyppisistä objekteista; solmuista (Node) ja yksisuuntaisista kytkennöistä (Connection).
| Digraph | () |
| | Digraph | (const CMap<CString,CString>& map) | Konstruktorikuorrutus vastaavalle make:lle
| | ~Digraph | () |
| virtual void | make | (int number_of_nodes) | Alustusoperaatio. Ottaa parametrikseen solmujen lukumäärän.
| bool | make | (const CMap<CString,CString>& map) | Luo graafin sopivat kentät sisältävästä mapista (HTML-query)
| CString | toString | (const NodeList* path=NULL) const | Muuntaa graafin HTML-query-tyyppiseksi merkkijonoksi. Mikäli solmupolku on annettu, kyseiset kytkennät merkitään "M"-kirjaimella.
| void | edit | (istream& in, ostream& out) | Streamipohjainen interaktiivinen editori
| void | clean | (int r) | Siistii graafin visuaalisen esityksen jos graafi on luotu satunnaisesti. Se muuttelee solmujen koordinaatteja siten että ne ovat toisistaan vähintään etäisyydellä r.
| const Node& | operator[] | (int i) const | Noutaa graafin solmun sen indeksinumeron perusteella
| Node& | operator[] | (int i) |
| int | size | () const | Palauttaa solmujen määrän
| int | length | (const NodeList& path) const | Laskee annettujen solmujen kuvaaman reitin pituuden kokonaislukuna
| void | connarr | (const NodeList& path) | Kytkee graafin solmut parametrina annetun vektoriesityksen kuvaamalla tavalla.
| NodeList* | travel | () const | Ratkaisee kauppamatkustajan ongelman (kts. algoritmin kuvaus) graafille ja palauttaa ratkaisun edellämainitun tyyppisenä solmuvektorina. (!!!!!!?????) Huom! Ei suostu väkisinkään ajamaan yli 10:lle solmulle! Jos on yli 10 solmua, vain 8 ensimmäistä käsitellään, loput solmut jätetään ulkopuolelle.
| NodeList* | floyds | (const Node& src, const Node& trg, bool trace = 0) const | Palauttaa lyhimmän reitin pituuden kahden solmun välillä
|

Kompaktimpi esitysmuoto digraafille, jossa oletetaan kaikista solmuista olevan kytkentä kaikkiin solmuihin (myös itseensä). Erityisesti Floyd'sin algoritmi käyttää tätä esitysmuotoa. Huom! Solmuilla ei ole esitystä tässä graafimuodossa, eli ne eivät voi sisältää mitään erityistä dataa.
| TableDigraph | () |
| | TableDigraph | (const Digraph& other) |
| | ~TableDigraph | () |
| void | make | (int nodes) | Luo annetun kokoisen graafin. Huom. Tilantarve on solmujen määrän neliö.
| void | make | (const Digraph& other) | Muunnos tuosta toisesta tyypistä
| NodeList* | floyds | (int src, int trg, bool trace = 0) | Palauttaa lyhimmän reitin pituuden kahden solmun välillä
| void | print | () const |
|
Tämä dokumentti on generoitu automaattisella
h2html-dokumenttigeneraattorilla, © 1995 Marko Grönroos.
|