Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Baum in java » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Baum in java
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Batista
unregistriert
Baum in java Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
 /** Klasse, die einen Knoten des Baumes speichert */
  protected static class Knoten<INHALT> {
    /** Gespeichterte Daten */
    protected INHALT daten;

    /** Linker und rechter Sohn */
    protected Knoten<INHALT> links, rechts;

    /** Konstruktor fuer Knoten */
    public Knoten(INHALT daten, Knoten<INHALT> links, Knoten<INHALT> rechts) {
      this.daten = daten;
      this.links = links;
      this.rechts = rechts;
    }
  
 public suche (Knoten imBaum) {
....
...
}




Darf man auch
public suche (Knoten<INHALT> imBaum) {

so schreiben?

Ich habe beides versucht und es gehen beide, allerdings wann es essentiell Knoten<INHALT> zuschreiben und wann nicht?
09.05.2015 19:08
Batista
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

die Methode anzahlKnoten(), die berechnet aus wie vielen Knoten<INHALT>der Baum besteht, welche Komplexitat hat sie?

ich würde sagen O(2^n), dabei entsprecht 2 die höhe des Baumes
09.05.2015 19:20
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Generics sollen Typsicherheit geben. Wenn du keinen Typ angibst, bekommst du diese Sicherheit nicht, was der Compiler prompt mit einer Warning quittiert.
Knoten is a raw type. References to generic type Knoten<INHALT> should be parameterized

Und dieser Code lässt sich ausführen:
code:
1:
2:
3:
4:
5:
public static void main(String[] args) {
	Knoten<Integer> k1 = new Knoten<Integer>(3, null, null);
	Knoten<Float> k2 = new Knoten<Float>(3.2f, null, null);
	k1.suche(k2);
}

du siehst, ich habe Integer und Float vermischt. Wenn du den generischen Typ angibst (also Knoten<INHALT>), funktioniert das nicht.
The method suche(Knoten<Integer>) in the type Knoten<Integer> is not applicable for the arguments (Knoten<Float>)

Eine class kann nicht protected sein, nur die Member. Und static class mag Java (anders als C#) auch nicht.
Bei suche fehlt ein Rückgabetyp.

Eine interessante Art, die Laufzeit anzugeben. Ist richtig (für balancierten Baum), ich hätte O(n) gesagt, mit n = Anzahl der Einträge im Baum.

__________________
Syntax Highlighting fürs Board (Link)
09.05.2015 20:23 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Baum in java