Informatikaufgabe 48

Im Moment stehe ich mit meinen Schülern aus der Q11 mal wieder beim Thema “Binäre Suchbäume”. Dabei ist es ganz schön, mal völlig neue Ansätze zu hören und neue Methoden bei den Schülern zu finden. Wie die folgende Aufgabe:

Aufgabe

Die Position eines Knoten in einem binären Suchbaum kann durch eine Sequenz von “L” und “R”, beginnend bei der Wurzel, angegeben werden.

Implementiere eine Funktion String gibPosition(int zahl), weche die Position einer Zahl in einem binären Suchbaum in der Form “LRRRLLLLRR” zurückgibt. Für die Wurzel würde “” zurückgegeben werden. Ist die Zahl nicht vorhanden, so wird Null zurückgegeben.

Eine schöne Ergänzung der Aufgabe wäre eine Umformatierung der Zeichenkette “LRRRLLLLRR” in der Form “1xLinks, 3xRechts, 4xLinks, 2xRechts” mit Hilfe von Zählwiederholungen und/oder bedingten Wiederholungen.

Wer im Ürbigen eine Implementierung mit grafischer Darstellung und Dateiimport benötigt, kann ja mal in meine Lösung reinschauen: BinBaumZeichnen

Beteilige dich an der Unterhaltung

2 Kommentare

  1. Bei Aufgaben dieser Art finde ich es schade, dass der Sinn der Aufgabe nicht recht klar wird. Warum sollte es mich als Schüler motivieren, eine derartige Funktion zu erstellen? Und wenn wir im Bereich der OOP sind: Ist es etwa eine Methode? Und wenn ja, in welcher Klasse?

    1. Der Sinn der Aufgabe….die Idee kam von einem Schüler. Da er keine grafische Darstellung für die Binärbäume hatte, wollte er eine textuelle Darstellung für die Position von Knoten im Baum haben. Er kam daher auf die Idee mit “2xRechts,3xLinks,R,L” etc.
      Zum Thema OOP: Das würde natürlich als Methode rekursiv mit Hilfe des Kompositum-Musters implementiert werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Durch die weitere Nutzung der Seite (Scrollen, Navigieren) stimmen Sie der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen