• Keine Ergebnisse gefunden

In einer linearen Liste soll das erste Element um k Stellen in der Liste nach hinten verschoben werden ( move ). Kann nicht um k Elemente verschoben werden, sollen das Element hinten angehängt werden.

N/A
N/A
Protected

Academic year: 2022

Aktie "In einer linearen Liste soll das erste Element um k Stellen in der Liste nach hinten verschoben werden ( move ). Kann nicht um k Elemente verschoben werden, sollen das Element hinten angehängt werden."

Copied!
8
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Lineare Liste

In einer linearen Liste soll das erste Element um k Stellen in der Liste nach hinten verschoben werden ( move ). Kann nicht um k Elemente verschoben werden, sollen das Element hinten angehängt werden.

Verwenden Sie dazu folgende Definition der Liste:

class List { Node head;

void move(int k) {}

}

class Node {

Node next;

String value;

}

Beispiel:

aList.move(2);

A B C D E F

A

B C D E F

(2)

Durchlauf durch Binärbaum

Geben Sie den Baum "in order", "pre order" und "post order" aus.

*

/

4.0 2.0

*

/ 3.0

40.0 5.0

6.0

+

(3)

Binärer Suchbaum (1)

Ein Kaufhaus hat eine Vielzahl von Artikeln im Angebot. Diese Artikel haben einen bestimmten Preis und eine Beschreibung, die in folgender Datenstruktur verwaltet werden:

class ItemNode { // Ein Artikel ItemNode left, right;

String description;

double price; //Preis des Artikels

void printItem() //Ausgabe des Artikels //(description + price)

}

Die Artikel werden in einem binären Suchbaum (sortiert nach dem Preis) verwaltet:

class InventoryTree { ItemNode root;

void printCheapest(double maxPrice) {...}

}

(4)

Binärer Suchbaum (2)

Das Kaufhaus möchte nun sein Image als Ramsch-Laden loswerden, weshalb alle billigen Artikel abtransportiert werden sollen. Gesucht ist die Implementierung für die angegebene Methode printCheapest, die die billigsten Artikel sortiert bis zu einem bestimmten Gesamtpreis ausgibt.

Beispiel:

Waschmaschine 210 EUR E-Herd

120 EUR Waschmaschine

100 EUR

E-Herd 210 EUR

Waschmaschine 450 EUR

E-Herd 600 EUR

Anm.: Achten Sie auf eine effiziente Implementierung (es sollen möglichst wenige Knoten im Baum besucht werden). Nutzen Sie dazu die printCheapest(250)

liefert bei nebenstehendem Baum als Ergebnis:

Waschmaschine, 100 EUR E-Herd, 120 EUR

(5)

Hashtabelle (1)

Gesucht:

intersect (Schnittmenge)

isSubsetOf (Ist Teilmenge von) class Node {

boolean deleted;

String value;

Node(String val) { value = val;

} }

public class Hashtable { Node[] table;

int nOfElements, nOfDeleted;

public Hashtable intersect (Hashtable t) {...}

public boolean isSubsetOf(Hashtable t) {...}

// Weitere Methoden (zur freien Verwendung) public Hashtable(int initSize) {...}

public void insert(String val) {...}

public void delete(String val) {...}

public boolean contains(String val) {...}

}

(6)

Hashtabelle (2)

res = t1.intersect(t2);

S [null] U F M H [null] D [null] X

t1.table

W

[null] M L X

K [null] S H [null] D

t2.table

[null] E [null]

[null] [null] [null] S [null] [null]

res.table

[null] M [null] [null] [null]

Bsp:

// res.isSubsetOf(t2) true res.insert("K");

(7)

Graphen (1)

Gegeben sei ein zusammenhängender, gerichteter Graph mit Zyklen. Es sollen in diesem Graph alle Zyklen entfernt werden.

class Node {

Node[] neighbours; // Direkte Nachbarn // Entfernt die Kante zu Knoten n

public void removeNeighbour(Node n);

}

Gestartet wird von einem ausgezeichneten Knoten (root), bei dem sichergestellt ist, dass alle anderen Knoten erreicht werden können.

Gesucht ist eine Methode breakCycles(), der den Graphen nach Zyklen durchsucht und diese durch Entfernen der Kante, durch die der Zyklus gefunden wurde, auflöst.

public class Graph { private Node root;

public boolean breakCycles() {...}

}

(8)

Graphen (2)

Beispiele:

Mit Zyklen nach Ausführung von breakCycles() Hinweis: Es können den Knoten noch weitere Attribute hinzugefügt werden.

Referenzen

ÄHNLICHE DOKUMENTE

Die Teilnahme an der Zwischenprüfung ist nach dem Berufsbildungsgesetz und der Verordnung über die Berufs- ausbildung zur Medizinischen Fachan- gestellten eine der

Das richtige Verhältnis Omega-3- und Omega-6-Fett- säuren sind Vorläufer von Bo- tenstoffen im Körper, die unter anderem an der Regulierung des Blutdrucks, aber auch an

Sollten Sie vor beenden der aktuellen Sitzung jede Gelegenheit verpasst haben den Schlüssel herunterzuladen, wird das System Sie in der nächsten Sitzung noch einmal dazu

Der Termin für den vom Soziale Stadt Büro Bürgertreff West geplante Sommertagsumzug muss verschoben werden.. Die Veranstaltung war für

Die Ausschreibung der Bauarbeiten hatte allerdings zum Ergebnis, dass selbst das niedrigste Angebot wesentlich höher lag als die Baukosten, die der Stadtrat im Jahr 2012 genehmigte.

Die Schreibwerkstatt ist Auftakt für den Arno Reinfrank Jugend- Literaturwettbewerb, bei dem sich junge Menschen aus der Heimatstadt des Ludwigshafener Autors alle zwei

Die Sprechstunde des ehrenamtlichen Behindertenbeauftragten der Stadt Ludwigshafen, Hans- Joachim Weinmann, fällt am Donnerstag, 16. Sie wird

Aus organisatorischen Gründen wurde der Beginn der folgenden Kurse an der Volkshochschule Ludwigshafen verschoben: "Nähen für Anfängerinnen und Anfänger vom Schnitt bis zum