Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 20:40

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Baum Suchalgorithmus

Discussion on Baum Suchalgorithmus within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Nov 2008
Posts: 227
Received Thanks: 17
Baum Suchalgorithmus

Hey,

ich muss gerade eine Autovervollständigung Programieren und habe da ein paar fragen zu Bäumen. Momentan hab ich es so das ich ein String Array einfach über die Binäre suche immer nach denn jeweils schon getippten wörtern durchsuche. Das klappt auch gut würde aber nochmal gerne was anderes für mein Program ausprobieren und da wurde mir gesagt das sollte ich mit Bäumen machen leider hab ich davon keine ahnung.
Die aufgabe ist es das ich ein Array habe mit allen oder sehr vielen deutschen Wörtern. Wenn ich Jetzt z.b "Hal" schreibe durchsucht er das Array nach allen einträgen die mit "Hal" anfangen bzw soll er mir ale möglichen volgenden Buchstaben anzeigen. Damit will ich sowas wie im Navi realisieren wo er die Buchstaben speert die garnicht mehr vorkommen können.

Kann ich sowas mit Bäumen realisieren? Muss ich dann für jeden Buchstaben einen Baum anlegen oder wie würde das ablaufen? Oder kann Java anhand des Arrays das selber machen?
QFireball is offline  
Old 06/09/2017, 01:24   #2
 
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 573
Du könntest z.B. einen Baum konstruieren in welchem Pfade die Worte markieren. Jeder Knoten hält einen Boolean, der markiert das hier ein Wort endet, und jeder Knoten hat 26 Nachbarn, die den Buchstaben entsprechen. Ein Wort aus der Wörterliste ist dann die beschriftung des Pfades von der Wurzel zu einem Knoten dessen Markierung gesetzt ist. Knoten sind Blätter wenn es kein Wort gibt was sich aus der Verlängerung ihrer Wörter ergibt. Bei jedem Blatt sollte auch eine Markierung gesetzt sein, um unnütze Verzweigung zu vermeiden.

Um nun alle Worte mit einem entsprechendem Präfix zu finden musst du einfach für jeden Buchstaben des Präfixes den entsprechenden Pfad im Baum runtergehen, und vom letzten Knoten des Präfixes aus kannst du dann eine Breitensuche nach markierten Knoten durchführen.
warfley is offline  
Thanks
1 User
Old 06/09/2017, 02:15   #3
 
elite*gold: 0
Join Date: May 2015
Posts: 700
Received Thanks: 444
Das hatte ich vor einiger Zeit beschrieben und implementiert

Hilft dir das?
algernong is offline  
Thanks
1 User
Old 06/09/2017, 08:31   #4
 
elite*gold: 0
Join Date: Nov 2008
Posts: 227
Received Thanks: 17
Quote:
Originally Posted by algernong View Post
Das hatte ich vor einiger Zeit beschrieben und implementiert

Hilft dir das?
Mein Problem ist das ich mir denn Baum irgendwie nicht vorstellten kann und dadurch auch nicht wie die suche darin funktioniert. Hab zwar Beispiele gefunden diese wahren aber immer nur mir zahlen daher weiß ich nicht wie ich das auf Buchstaben umsetzen kann da es ja auch Wörter mit doppelten Buchstaben gibt aber ich brauche dann trotzdem nur einen Baum? Gucke mir gleich die ganzen Dateien die du gepostet hast ganz genau an.
Edit: Ok hab es zum laufen gekriegt und geht ja richtig gut das hilft mir schon wirklich sehr danke dafür.
Verstehe halt nur immer noch nicht so ganz wie der Baum wirklich aussieht und Funktioniert vorallem unterscheidet er ja jetzt auch noch groß und klein schreibung.
QFireball is offline  
Old 06/09/2017, 10:19   #5


 
Menan's Avatar
 
elite*gold: 0
The Black Market: 169/0/0
Join Date: Sep 2008
Posts: 9,484
Received Thanks: 3,109
@

Wenn du den Baum aufgebaut hast, kannst dir ja auch ne Ausgabe Funktion dafür schreiben, die dir den gesamten Baum einmal ausgibt. Gibt bereits fertige Baum Visualisierungsfunktionen im Netz.

Ich denke, dass der Baum sieht in etwa irgendwie so aus (nur ein sehr vereinfachtes Beispiel):



Die noch möglichen Wörter ergeben sich dann immer aus deiner aktuellen Position im Baum und allen Wegen bis zum Ende des Baumes.. Ich hoffe das wird dadurch irgendwie klar
Menan is offline  
Thanks
1 User
Old 06/09/2017, 11:08   #6
 
elite*gold: 0
Join Date: Nov 2008
Posts: 227
Received Thanks: 17
Quote:
Originally Posted by Menan View Post
@

Wenn du den Baum aufgebaut hast, kannst dir ja auch ne Ausgabe Funktion dafür schreiben, die dir den gesamten Baum einmal ausgibt. Gibt bereits fertige Baum Visualisierungsfunktionen im Netz.

Ich denke, dass der Baum sieht in etwa irgendwie so aus (nur ein sehr vereinfachtes Beispiel):



Die noch möglichen Wörter ergeben sich dann immer aus deiner aktuellen Position im Baum und allen Wegen bis zum Ende des Baumes.. Ich hoffe das wird dadurch irgendwie klar
Ok so hatte ich mir das auch vorgestellt nur hab ich dann einen
ganz großen Baum der alle wörter enthällt?
QFireball is offline  
Old 06/09/2017, 11:21   #7


 
Menan's Avatar
 
elite*gold: 0
The Black Market: 169/0/0
Join Date: Sep 2008
Posts: 9,484
Received Thanks: 3,109
Quote:
Originally Posted by QFireball View Post
Ok so hatte ich mir das auch vorgestellt nur hab ich dann einen
ganz großen Baum der alle wörter enthällt?
Ja, aber du durchsuchst ja nur die entsprechenden Teilbäume und diese werden mit jedem weiteren Buchstaben ja wesentlich kleiner.
Menan is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
Neopets | Money Tree Grabber | Geld Baum Grabber
05/16/2015 - General Gaming Discussion - 24 Replies
Hello, I used the Source from raredaredevil (Sorry for my bad English!!!) Changes to the Old Version: OLD HERE - Updated Login Procedure
[All ass on]Warrock Baum vs COD Black Ops Baum [Vergleich]
05/29/2011 - WarRock - 1 Replies
Huhu, hier kommt mein Vergleich zwischen dem Baum von Warrock http://img25.imageshack.us/img25/8011/wrcloudfore st.png und der von Kohl of Duiti Bleck Ops
Baum-Mann
11/25/2007 - Off Topic - 29 Replies
Mysteriöse Krankheit ''Baum-Mann'' darf nicht ausreisen - Panorama - sueddeutsche.de Und sein Land verbietet ihm hilfe anzunehmen... was soll man dazu sagen?
Baum des Lebens
09/20/2007 - World of Warcraft - 9 Replies
Weiß einer von euch wie ich die Baum des Lebens Datein finde? Tree of Life oder anderes kann ich einfach nicht finden, waere echt fett wenn mir das einer von euch sagen koennte. :) Am besten dann auch hier zum Download reinstellen :D Das changen uebernehm ich gerne selber, doch wie changen ohne gefundenes Model? :( Hoffe ihr koennt mir helfen.
Baum des Lebens (Druide)
08/21/2007 - WoW Exploits, Hacks, Tools & Macros - 2 Replies
1. Ihr braucht logischerweise das Talent Tree of Life 2. Ihr stellt euch vor einen Instanzeingang, Portal 3. Ihr wechselt in die Baum Form, jetzt lauft ihr das Portal zu und springt rein (zur selben zeit) klickt ihr mit der rechten Maus Taste auf Tree of Life (Nicht die Aura) 4. Jetzt solltet ihr auf der anderen Seite des Portals sein, ohne in der Form (Tree of Life) zu sein aber dennoch die Aura der Form haben. Stellt sicher das ihr rechts klickt auf die Form macht sobald ihr im...



All times are GMT +1. The time now is 20:40.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.