AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Funktion optimieren

Ein Thema von Pseudemys Nelsoni · begonnen am 30. Aug 2005 · letzter Beitrag vom 6. Sep 2005
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#11

Re: Funktion optimieren

  Alt 31. Aug 2005, 23:28
@alzeimar: Irgendwie funktioniert es bei mir schon.
Bei folgendem Aufruf
showmessage(AddIt3('wort111;wort222', 'wort', ';', False)); bekomme ich
"wort111;wort222;wort"
ausgegeben weil wort eben noch nicht in der Zeischenfolge vorkam. Oder wie meintest du das?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: Funktion optimieren

  Alt 31. Aug 2005, 23:32
Zitat von SirThornberry:
bei deinem Beispiel ist output aber auch leer so das die funktion so gut wie nix macht
Beim ersten Aufruf von insgesamt 10001 ist output leer, beim Zweiten nicht mehr.

Zitat:
1. Die Funktionen funktionieren alle nicht, weil sie auch für den Fall 'Wort111;Wort222' fälschlicherweise das 'Wort' finden. Das ist aber gar nicht in der Liste.
Sorry, aber hast du das irgendwie überprüft? Mein Ansatz mit Pos findet ein Wort NUR, wenn davor und dahinter ein Seperator steht.

Zitat:
3. Abschließend ist das Testverfahren keins.
Warum nicht? Kann man nicht annehmen, dass der zu bearbeitende String mit der Zeit größer wird?
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#13

Re: Funktion optimieren

  Alt 31. Aug 2005, 23:41
@Dani: habs bemerkt. Hab jetzt auch mal dein Testverfahren genutzt (was ja keins ist (frag mich nicht warum))
AppendStringIfUnique: 30.828 s
AddIt3: 22.766 s
AddIt2: 17.703 s

@alzaimar: Deine Funktion stimmt auch nicht. Erstens fehlt der Parameter/die Möglichkeit Casesensitive zu ignorieren und zweitens werden mehrere Trennzeischen hintereinander zugelassen.
Ansonsten ist die Funktion von dir mit 4.359 recht gut in der Zeit (so gut war meine bevor ich das Casesensitive eingebaut hatte und die doppelten Trennzeischen beseitigt hatte glaub ich nicht)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#14

Re: Funktion optimieren

  Alt 1. Sep 2005, 10:24
Hi Sir Thornberry, hi Dani...
Erstmal Tschuldigung für den Schnellschuss... Natürlich klappen die Routinen Probiert hatte ich es nicht, sondern in einem Anfall von Überarbeitung, Senilität und Altersschwachsinn (daher der Nick) zu schnell geschossen...

Zu Deiner Kritik:
Ich hatte geschrieben, das Gross/Kleinschreibung nicht ignoriert wird. Es ging mir nur um das Verfahren (linear).
Wieso sollen doppelte Trennzeichen (also leere Wörter in der Liste) weggeschmissen werden? Das kostet wirklich Zeit, aber ich habs mal eingebaut.

Dann hatte ich als Ordnung für deinen Algorithmus O(n*m) angegeben, was quark ist, wenn m die Länge des Wortes ist.
Dein Algo ist von der Ordnung O(n*m), wobei n die Länge der Liste und m ist die ANZAHL der Wörter und damit ist dein Algo nicht mehr soooo schlecht .

Zum Testverfahren von Dani: Das prüft nur den Fall, das ein Wort nicht gefunden wird, also ein worst-case. Wenn Du Quicksort mit einem Worst-Case testest, wird es langsamer als Bubblesort sein, insofern muss man schon aufpassen.

Ich habe mal ein Testprogramm geschrieben. Es erzeugt die schon erwähnte Wortliste, allerdings mit Random-Zeichen.
Ich habe auch eingebaut, das Wegschnippeln der ;; zu unterbinden. Leider kackt Thornies Algo dann ab, und ich hab keine Ahnung warum.
Angehängte Dateien
Dateityp: rar testaddstringunique_864.rar (177,5 KB, 3x aufgerufen)
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#15

Re: Funktion optimieren

  Alt 6. Sep 2005, 08:00
Ganz vergessen hier zu posten

Danke für den Code, sieht ja hammer aus
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz