Datentypen nicht lineare STATISCHE Datenstruktur?

Hallo,

ich beschäftige mich gerade mit den verschiedenen Arten von Datenstrukturen. Habt ihr ein Beispiel für eine nicht lineare STATISCHE Datenstruktur?

Gruß und Danke
 
@schnatter

Reden wir vom selben?
Datenstruktur ? Wikipedia
Static


Theoretisch kannst du fast jede Methode oder Variable auf static setzen.
Der Unterschied macht sich nur beim Aufrufen bemerkbar. Statische $Irgendwas brauchen keine Instanzen, während nicht-Statische $Irgendwas einen Compilerfehler erzeugen, wenn sie ohne Instanz aufgerufen werden.

Klassische non-static-Methoden sind z.B. getter und setter:
Java:
class Person{
private String name;
// Konstruktor
public Person(String name){
this.name = name;
}

public String getName(){
return this.name();
}

public static void main(String[]args){

Person schnatter = new Person("schnatter");
schnatter.getName();

}

}
Die Methode get-Name holt sich die benötigten Werte von demjenigen, der sie aufgerufen hat("this"), braucht also zwingend "Irgendjemanden", der sie aufruft.


Eine klassische static-Methode wäre z.B. die main-Methode, die du brauchst, um ein Programm überhaupt ausführen zu können. Eine Funktion ähnlich getName sähe als static so aus:
Java:
class Person{
private static String name = "schnatter";


public static void main(String[]args){
name();

}

public static String name(){
return name;
}


}
Es gibt hier keine Instanz der Klasse Person oder irgendeiner anderen Klasse, die Methode funktioniert "einfach so".
 
Zuletzt bearbeitet:
Hallo,

nein. Ich meinte eigentlich folgendes:

Ein Array wird ja als lineare statische Datenstruktur angesehen (fester Speicherbedarf). Dann gibt es ja auch noch dynamische lineare Strukturen wie Listen und nicht lineare dynamische Strukturen wie Bäume.

Gibt es auch nicht lineare statische Strukturen? Das hat jetzt also nix mit dem Schlüsselwort "static" zu tun.

Gruß und Danke
 
Wenn du einen Baum mit fixer Größe vorgibst dann hast du deine "nicht lineare statische" Datenstruktur.
Ob es dafür spezielle Namen gibt -> keine Ahnung. Ob so etwas Sinnvoll wäre sei dahin gestellt.
 
Ein Array wird ja als lineare statische Datenstruktur angesehen (fester Speicherbedarf). Dann gibt es ja auch noch dynamische lineare Strukturen wie Listen und nicht lineare dynamische Strukturen wie Bäume.

Gibt es auch nicht lineare statische Strukturen? Das hat jetzt also nix mit dem Schlüsselwort "static" zu tun.

Mir ist nicht ganz klar was eine statische Datenstruktur sein soll. Ist sie statisch im Sinne von unveränderbar also immutable oder ist sie statisch im Sinne von als Literal hinschreibbar oder ist sie statisch weil sich ihre Größe nicht ändert?

Unveränderbare Datenstrukturen bzw. unveränderbare Views von Datenstrukturen kann man mit ImmutableCollections machen.

Eine Datenstruktur, die kein Array ist und ihre Größe nicht ändert ist eine perfekte Hash-Tabelle. Die wird von Compilern meist dafür benutzt, um die Keywords der Programmiersprache zu speichern, weil die sich bei dem betreffenden Compiler nicht ändern also quasi statisch sind.
 
Mir ist nicht ganz klar was eine statische Datenstruktur sein soll. Ist sie statisch im Sinne von unveränderbar also immutable oder ist sie statisch im Sinne von als Literal hinschreibbar oder ist sie statisch weil sich ihre Größe nicht ändert?
.

In diesem Fall ist mit
Code:
statischer Datenstruktur
eine Datenstruktur gemeint, welche sich in der Größe nicht ändert. Im Falle von Java wäre das einfächste Beispiel das Arraya 🙂
 

Zurück
Oben