TI2 N08


Technologia Informacyjna
Temat 8: Przykłady algorytmów
Przeszukiwanie liniowe
Zwane też wyszukiwaniem sekwencyjnym.
Pozwala znalezć pierwsze wystąpienie
zadanego elementu w podanym ciągu danych.
Przeszukiwanie liniowe
Function Znajdz(klucz)
i = 1
While i <= n do
if tablica[i] = klucz then
znaleziony = i;
break
End if
Loop
Znajdz = znaleziony
End Function
Sortowanie bąbelkowe
Jedna z najprostszych metod sortowania.
Polega na sukcesywnym porównywaniu
sąsiadujących elementów i ich zamianie gdy
jest to konieczne.
Sortowanie bąbelkowe
A = lista elementów do posortowania
n = liczba_elementów(A)
do
for i = 0 to n-1
if A[i] > A[i+1] then
swap(A[i], A[i+1])
end if
Next i
n = n-1
while n > 1
Sortowanie szybkie
Zwane także QuickSort.
Jest to algorytm rekurencyjny, jeden z
najszybszych, choć nie w każdych warunkach.
Sortowanie szybkie
Sub QuickSort(l, r)
If li = PodzielTablice(l, r)
QuickSort(l, i-1)
QuickSort(i, r)
End if
End Sub
Sortowanie szybkie
Pojawiająca się w przykładzie funkcja
PodzielTablice ma na celu wyznaczenie
tzw. elementu osiowego, a następnie
rozdzielenie danych w tablicy tak aby mniejsze
niż element osiowy znajdowały się po lewej
stronie, a większe po prawej. Wartością
zwracaną jest indeks elementu osiowego w
tablicy A.
Algorytm Euklidesa
Algorytm Euklidesa  pozwala znalezć
największy wspólny dzielnik dwóch liczb
naturalnych.
Algorytm Euklidesa
Function NWD(a, b) As Integer
While b <> 0
c = a mod b
a = b
b = c
Loop
NWD = a
End Function


Wyszukiwarka

Podobne podstrony:
dyd inz n08
TI2 N09
L IMF N08
TI2 N06
n08

więcej podobnych podstron