Algorytmy i struktury danych/Wyszukiwanie: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Walen (dyskusja | edycje)
Nie podano opisu zmian
Walen (dyskusja | edycje)
Linia 23: Linia 23:


TODO
TODO
'''function WyszukiwanieBinarne(''x'', ''A''[1..''n''])
{ zakładamy, że tablica A, jest uporządkowana rosnąco }
'''begin'''
  l:=1;r:=n;
  '''while''' (l<=r) '''do''' '''begin'''
    m:=(l+r) '''div''' 2;
    '''if''' (A[m]<x) '''then''' l:=m+1
    '''else if''' (A[m]>x) '''then''' r:=m-1;
    '''else''' { A[m]=x }  '''return''' ''m''
  '''end''';
  '''return''' ''brak poszukiwanego elementu''
'''end'''


== Drzewa poszukiwań binarnych ==
== Drzewa poszukiwań binarnych ==

Wersja z 08:55, 22 lip 2006

Wyszukiwanie


W niniejszym wykładzie opiszemy podstawowe techniki dotyczące wyszukiwania. Zajmiemy się również prostymi strukturami słownikowymi, które oprócz wyszukiwania, umożliwiają dodawanie i usuwanie elementów.


Wyszukiwanie liniowe

TODO

function Szukaj(x, A[1..n])
begin
  for i:=1 to n do
    if A[i]=x return i
  return brak poszukiwanego elementu
end

Wyszukiwanie binarne

TODO

function WyszukiwanieBinarne(x, A[1..n])
{ zakładamy, że tablica A, jest uporządkowana rosnąco }
begin
  l:=1;r:=n;
  while (l<=r) do begin
    m:=(l+r) div 2;
    if (A[m]<x) then l:=m+1
    else if (A[m]>x) then r:=m-1;
    else { A[m]=x }  return m
  end;
  return brak poszukiwanego elementu
end

Drzewa poszukiwań binarnych

TODO

Haszowanie

TODO