Autor Beitrag
kailisa
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Mi 07.05.08 10:09 
Hallo,

wir müssen für den Infounterricht ein referat zum thema linäre und binäre suche
machen. Was das theoretisch bedeutet, haben wir verstanden und könnten es auch vorstellen. Unser problem liegt allerdings im Progammierbeispiel!!

Ehrlich gesagt haben wir bis jetzt leere Felder und wissen weder, wie die Form aussehen soll, noch was wir ind die Units schreiben sollen.

Wäre es möglich, dass uns irgendjemand versucht zu erklären, was wir wo hinschrieben müssen??

vielen dank schonmal im vorraus,

Kailisa
Jann1k
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 866
Erhaltene Danke: 43

Win 7
TurboDelphi, Visual Studio 2010
BeitragVerfasst: Mi 07.05.08 10:27 
Ich würd euch vorschlagen, dass ihr mal mit der Suchfunktion (oder google) nach Tutorials oder ähnlichen Fragen zu Binärbäumen und einfach/doppelt verketteten Listen sucht.

Was ihr für euer Programm braucht ist ein Binärbaum und eine einfach/doppelt verkettete Liste. Dann noch ein paar Eingabefelder um diese/n Liste/Baum mit Daten zu füllen und schliesslich ein Suchen-Button der nach einem Eintrag sucht und ausgibt wie lange es bei der jeweiligen Liste/Baum gedauert hat.
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8554
Erhaltene Danke: 481

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mi 07.05.08 10:48 
Öhm...Für die Binärsuche braucht man erstmal keine Bäume oder so. Wir machen hier schließlich Informatik, und kein Bio. :mrgreen: Listen eigentlich auch nicht.

Binärsuche geht ganz prima auf einem Array (Feld), was man vorher sortiert hat. Eine Forensuche nach Binärsuche sollte einiges liefern. Eine lineare Suche geht einfach so

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
type TIntegerArray = Array of Integer;


function LinSearch(aArray: TIntegerArray; aWert: Integer);
var i: Integer;
begin
  result := -1;
  for i := 0 to length(aArray)-1 do
    if aArray[i] = aWert then 
      result := i;
end;

_________________
We are, we were and will not be.