praktikum10
Class MinuGraaf

java.lang.Object
  extended by graaf.Graaf
      extended by praktikum10.MinuGraaf

public class MinuGraaf
extends Graaf

Klassi Graaf uute meetoditega laiendatud alamklass.

Version:
15.04.2009
Author:
Ülli Õpilane,
Jüri Kiho (esialgne variant)

Field Summary
 
Fields inherited from class graaf.Graaf
kaared, tipud
 
Constructor Summary
MinuGraaf(Graaf g)
          Konstruktor.
 
Method Summary
 MinuGraaf koopia()
          Koopia tegemine.
private  void kärpida()
           
private  boolean kärpida1()
           
static void main(String[] args)
          Peameetod.
private  void märkidaSaavutatavad(Tipp t, int nr)
          Abimeetod, saavutatavate märkimine.
 int märkidaSidususkomponendid()
          Siduduskomponentide märkimine.
 String[][] naabrusmaatriks()
          Naabrusmaatriksi koostamine.
 boolean onTsükliteta()
          Kas graaf on atsükliline.
 Vector<Graaf> sidususkomponendid()
          Siduduskomponentide eraldamine.
static MinuGraaf sisestadaTabelist(String fnimi)
          Sisestamine failist.
 void sümmeetriliseks()
          Selle graafi (kaarte) sümmeetriliseks tegemine.
 
Methods inherited from class graaf.Graaf
aste, eemaldada, graaf, indeks, indeks, juhugraaf, kaar, kaar, kaared, lisada, lisada, m, n, naabrid, sisendaste, sisenevad, tipp, tipud, toString, väljastadaTabelina, väljuvad
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MinuGraaf

public MinuGraaf(Graaf g)
Konstruktor. MinuGraaf isendi tegemiseks antud graafi põhjal.

Method Detail

sisestadaTabelist

public static MinuGraaf sisestadaTabelist(String fnimi)
Sisestamine failist.

Parameters:
fnimi - faili täis- või lihtnimi, kus on graaf tabelina.
Returns:
Vastav MinuGraaf isend.

koopia

public MinuGraaf koopia()
Koopia tegemine.

Overrides:
koopia in class Graaf
Returns:
Selle graafi koopia.

naabrusmaatriks

public String[][] naabrusmaatriks()
Naabrusmaatriksi koostamine. Naabrusmaatriksi element a[i][j]: kui kaart i-ndast tipust j-ndasse ei ole, siis on elemendiks "0"; kui kaar leidub, siis on elemendiks kaare mittetühi nimi, või "1" -- juhul kui kaare nimi on tühisõne.

Returns:
Selle graafi naabrusmaatriks.

sümmeetriliseks

public void sümmeetriliseks()
Selle graafi (kaarte) sümmeetriliseks tegemine. Kui leidub kaar a-->b ja ei ole kaart b-->a, siis viimane tehakse (sama nimega, mis kaarel a-->b).


onTsükliteta

public boolean onTsükliteta()
Kas graaf on atsükliline. Eeldus: see graaf on sidus ja sümmeetriline.

Returns:
See graaf on tsükliteta (true) või leidub tsükleid (false).

kärpida

private void kärpida()

kärpida1

private boolean kärpida1()

märkidaSidususkomponendid

public int märkidaSidususkomponendid()
Siduduskomponentide märkimine. Selle graafi tippudele lisatakse väli "kompNr", mille väärtuseks on sidususkomponendi number (1, 2, ... ).

Returns:
Selle graafi sidususkomponentide arv.

märkidaSaavutatavad

private void märkidaSaavutatavad(Tipp t,
                                 int nr)
Abimeetod, saavutatavate märkimine. Eeldus: igal tipul on väli "kompNr". Antud tipu ja kõikidele sellest saavutatavate tippude väljale omistatud antud arv (komponendi number).

Parameters:
t - lähtetipp
nr - arv, millega märkida saavutatav

sidususkomponendid

public Vector<Graaf> sidususkomponendid()
Siduduskomponentide eraldamine. Kopeeritakse selle graafi iga sidususkomponent omaette graafiks.

Returns:
Selle graafi sidususkomponentide vektor.

main

public static void main(String[] args)
Peameetod. Graafi(de) vaatamiseks-toimetamiseks.