2017-01-15 3 views
0

Ich lerne gerade C in Uni, aber aus irgendeinem Grund ist es einfach so schwierig für mich. Ich konnte keine einfache Schritt für Schritt Anleitung finden und alles, was im Internet ist, ist einfach so komplex und ohne viel Erklärung. Ich sollte dieses Programm schreiben:Wörter aus einer Datei in einen Binärbaum einfügen (C)

‚Mit dem binären Baum und Liste schreibt ein Programm, das eine Textdatei und druckt in die Ausgabedatei die Worte in alphabetischer Reihenfolge alle zusammen mit den Zeilennummern liest, in denen das Wort kommt vor.

Und ich weiß einfach nicht, wie man es beginnt. Ich kann Dateien öffnen, über die Befehlszeile ausführen, aber ich habe keine Ahnung, wie man einen Binärbaum erstellt, die Wörter aus einer Datei holt und sie dort ablegt und dann eine Liste innerhalb des Binärbaums erstellt. Alle Beispiele, die ich gefunden habe, sind so unterschiedlich, dass ich nicht weiß, wie ich sie umschreiben soll, damit sie für mich arbeiten. Könnte jemand helfen? Schon ein paar Codezeilen, die mich in die richtige Richtung lenken würden, würden mir sehr helfen!

+0

Recherchieren und Code schreiben. Sie werden entflammt, wenn Sie um Hilfe bitten, ohne Initiative zu zeigen. – nicomp

+0

Ich stimme ab, diese Frage als Off-Topic zu schließen, weil wir kein Code-Schreibdienst sind. – chrisaycock

+0

@nicomp Ich fühle mich wie ich das halbe Internet gelesen habe, das ist das Problem. Ich habe versucht, es jetzt für ungefähr 2 Stunden zu schreiben, und ich habe zur Zeit ungefähr 20 Tabs mit verschiedenen Erklärungen und Codes geöffnet, aber alles springt einfach direkt hinein, ich konnte nichts finden, was Binärbäume oder Listen in einem erklären würde So würde mir beibringen, wie man sie schreibt. – Aglek

Antwort

0

Für Starter, binary-search tree, (spezielle Art von Binärbaum), die für das gegebene Problem erforderlich ist.

Ein binary search tree, ist ein Binärbaum, der mit vergleichbare Objekte wie Zahlen bestückt ist. Bedeutung gegeben zwei Zahlen x und y, die folgenden drei boolean conditions kann ohne Zweideutigkeit beantwortet werden.

x greater than y 

x less than y 

x equal to y 

Jetzt ist ein binary search tree auf den obigen booleschen Bedingungen aufgebaut. Die Analogie hier ist, dass die Wörter auch vergleichbar sind, die dort in einem typischen Oxforder Wörterbuch Ordnung entscheidet. Wie apple < box und daher apple vor box in alphabetischer Reihenfolge kommt.

Wie bekommt man die alphabetische Reihenfolge der Wörter?

Sobald Sie Ihren Baum bevölkert haben, ein einfaches inorder traversal erledigt den Rest, das heißt, die Wörter in alphabetischer Reihenfolge auflistet. Denken Sie daran, auch eine Variable für Zeilennummern zu haben, die gleichzeitig mit dem Aufbau Ihres Baums gespeichert werden können, der später beim Drucken der Wörter in der richtigen Reihenfolge abgerufen werden kann.

Nehmen Sie den Code als Übung.

+0

Vielen Dank! Die Links sehen viel einfacher zu verstehen als das, was ich gesehen habe! Das ist genau das, wonach ich gesucht habe. Nicht für jedermann, um es für mich zu schreiben, tut mir leid, wenn es so schien. – Aglek

Verwandte Themen