kolokwium1sciaga, Studia Informatyka 2011, Semestr 2, Algorytmy i struktury danych


Procedura rekurencyjna- procedura która wywouje sama siebie pośrednio lub bezpośrednio.

Złożoność pamięciowa- Pamięć potrzebna do wykonania algorytmu jako funkcji rozmiaru zadania.

Lista (rekurencyjnie)- struktura zdefiniowana na skończonym zbiorze elementów, która albo nie zawiera żadnego elementu i jest nazywana listą pustą, albo jest połączeniem elementów i listy.

Spójny graf niekierowany - to taki, którego para wierzchołków jest połączona ścieżką.

Wierzchołek stosu- ostatni element położony na stosie, jedyny który można pobrać ze stosu w danym momencie.

Algorytm - pewien przepis (sposob postępowania), który ma prowadzić do rozwiązania określonego zadania.

Algorytmiczna dziedzina - zbior obiektow i dostępnych w algorytmie pierwotnych operacji.

Algorytmu określoność - wymog, aby każda operacja w algorytmie była sformułowana w sposob zapewniający jej jednoznaczną interpretację.

Algorytmu skończoność - algorytm powinien zakończyć swoje działanie po wykonaniu skończonej liczby operacji.

Algorytmu wejście - pewne dane pobierane przez

algorytm w celu ich przetworzenia.

Algorytmu wyjście - wynik działania algorytmu.

Algorytmu wykonywalność - pisząc algorytm, wystarczy się jedynie posłużyć dostępnymi poleceniami.

Cykl w grafie nieskierowanym - droga, dla ktorej

wierzchołek początkowy jest tym samym wierzchołkiem, co wierzchołek końcowy, wszystkie wierzchołki są rożne, a ich ilość jest większa lub rowna 2.

Cykl w grafie skierowanym - droga, dla ktorej

wierzchołek początkowy jest tym samym wierzchołkiem, co wierzchołek końcowy.

Drzewo binarne - drzewo, ktorego każdy węzeł posiada co najwyżej dwoch synow, z ktorych da się wyrożnić lewy i prawy.

Drzewo binarne (definicja rekurencyjna) - struktura

zdefiniowana na skończonym zbiorze węzłow w ten

sposob, że albo nie zawiera żadnych węzłow i jest

nazywana drzewem pustym, albo składa się z trzech

rozłącznych zbiorow węzłow: korzenia, lewego

poddrzewa i prawego poddrzewa.

Drzewo niezorientowane - graf nieskierowany, ktory jest spojny, acykliczny i posiada wyrożniony wierzchołek nazywany korzeniem.

Drzewo pełne - binarne drzewo, w ktorym istnieje liczba k taka, że dla każdego węzła o głębokości mniejszej niż k występują oba węzły będące jego synami, a każdy węzeł o głębokości k jest liściem.

Drzewo przeszukiwań binarnych (BST) - drzewo binarne, w ktorym wartości kluczy są przechowywane w taki sposob, aby spełniały tzw. własność drzewa BST, zgodnie z ktorą dla dowolnego węzła x, jeśli y jest węzłem jego lewego poddrzewa, to key[y] ≤ key[x], a jeśli y jest węzłem jego prawego poddrzewa, to key[y] ≥ key[x].

Drzewo regularne - binarne drzewo, w ktorym każdy z

węzłow jest albo liściem, albo posiada jednocześnie

lewego i prawego syna.

Drzewo uporządkowane - drzewo, w ktorym zbior synow każdego węzła jest uporządkowany.

Drzewo zorientowane (skierowane) - acykliczny

skierowany graf, posiadający dokładnie jeden

wierzchołek, do ktorego nie dochodzi żadna krawędź

(korzeń drzewa). Dla dowolnego wierzchołka w drzewie tym istnieje droga prowadząca od korzenia do tego wierzchołka i jest to droga jedyna. Każdy wierzchołek nie będący drzewem ma dokładnie jedną krawędź wchodzącą do niego.

Głębokość węzła - długość drogi od korzenia do tego

węzła.

Graf - para zbirow G = (V, E), gdzie V jest skończonym zbiorem wierzchołkow, a E jest zbiorem krawędzi.

Graf acykliczny - graf nie zawierający cykli.

Infiksowy zapis matematyczny - tradycyjny zapis

matematyczny, gdzie operandy są oddzielone znakiem

operacji, np. 5*(((9 + 8)*(4 * 6)) + 7).

Kolejka - struktura z ograniczonym dostępem, dla której określono początek i koniec. Elementy są obsługiwane według porządku „pierwszy przyszedł, pierwszy wyszedł”.

Kolejka proprytetowa - struktura przechowująca S

elementow, z ktorych każdy ma przyporządkowaną

wartość klucza.

Kopiec (heap) - struktura, ktora może być rozpatrywana jako rodzaj „prawie pełnego” drzewa binarnego. Drzewo to jest pełne w tym sensie, że jest wypełnione na wszystkich poziomach z wyjątkiem bić może najniższego, ktory jest wypełniony od lewej do prawej do pewnego miejsca.

Korzeń drzewa - wierzchołek drzewa skierowanego, do ktorego nie dochodzi żadna krawędź.

Lista - skończony ciąg elementow należących do pewnego zbioru.

Lista (definicja rekurencyjna) - struktura zdefiniowana na skończonym zbiorze elementow, ktora albo nie zawiera żadnych elementow i jest nazywana listą pustą, albo jest połączeniem elementu i listy.

Liść - węzeł nie posiadający potomkow.

Operacje dominujące - operacje charakterystyczne dla

danego algorytmu, a ich liczba jest proporcjonalna do

liczby wykonań wszystkich operacji jednostkowych w

dowolnej realizacji komputerowej danego algorytmu.

Poddrzewo - pewien węzeł v (określony tu jako korzeń

tego poddrzewa) wraz ze wszystkimi swoimi potomkami.

Porządek całkowity (liniowy) - częściowy porządek relacji R na zbiorze S, taki, że dla dowolnej pary elementow tego zbioru (a, b) zachodzi aRb lub bRa.

Porządek częściowy - relacja R na zbiorze S, posiadająca właściwości: zwrotność, przechodniość,

antysymetryczność.

Postfiksowy zapis matematyczny (odwrotny zapis polski) - pośrednia postać zapisu matematycznego, w której operandy występują zawsze przed znakiem operacji, np. 5 9 8 + 4 6 * * 7 + *. Idealny zapis pośredni dla wyrażeń arytmetycznych, ktore mają być obliczane za pomocą stosu.

Potomek węzła - węzeł w dla węzła v, jeśli w drzewie

zorientowanym istnieje droga prowadząca od węzła v do węzła w. Dla drzewa niezorientowanego, węzeł v jest położony wyżej w strukturze drzewa, niż węzeł w.

Przodek węzła - węzeł v dla węzła w, jeśli w drzewie

zorientowanym istnieje droga prowadząca od węzła v do węzła w. Dla drzewa niezorientowanego, węzeł v jest położony wyżej w strukturze drzewa, niż węzeł w.

Rekurencja - procedura, ktora bezpośrednio lub

pośrednio wywołuje samą siebie.

Rodzic wierzchołka - węzeł v dla wierzchołka w w

krawędzi (v, w) є E w drzewie zorientowanym. W

drzewie niezorientowanym, węzeł v jest węzłem

położonym o jeden poziom wyżej w strukturze drzewa,

niż węzeł w.

Rozmiar zadania (wejścia) - konkretna liczba

charakteryzująca objętość danych wejściowych.

Spojność grafu nieskierowanego - każda para

wierzchołkow jest połączona ścieżką (drogą).

Silna spojność grafu skierowanego - każde dwa

wierzchołki są osiągalne jeden z drugiego.

Sterowanie - zmiana kolejności elementow pewnego

ciągu tak, aby zostały one ustawione w porządku

niemalejącym lub nierosnącym.

Stopień wierzchołka w grafie nieskierowanym - liczba incydentnych z nim krawędzi.

Stopień wejściowy - liczba krawędzi wchodzących.

Stopień wyjściowy - liczba krawędzi wychodzących.

Stos - struktura posiadająca ustalony element nazywany

wierzchołkiem, ktory jest jedynym dostępnym w danej

chwili jej składnikiem. Elementy są obsługiwane według porządku „ostatni przyszedł, pierwszy wyszedł”.

Sumator - rejestr r0, pełniący w obliczeniach specjalną

rolę.

Syn wierzchołka - węzeł w dla wierzchołka v w krawędzi (v, w) є E w drzewie zorientowanym. W drzewie niezorientowanym, węzeł v jest węzłem położonym o jeden poziom wyżej w strukturze drzewa, niż węzeł w.

Ścieżka (droga) w grafie - ciąg kolejnych wierzchołkow, przez ktore przechodzimy, kierując się od wierzchołka początkowego do wierzchołka końcowego.

Taśma wejściowa - ciąg klatek, z ktorych każda może

zawierać liczbę całkowitą. Każdorazowo, kiedy z taśmy

wejściowej zostanie odczytana liczba, głowica czytająca

jest przesuwana o jedną pozycję w prawo.

Taśma wyjściowa - ciąg klatek (na początku pustych), do ktorych maszyna może tylko zapisywać. Po zapisie do kolejnej klatki głowica zapisująca jest przesuwana o

jedną klatkę w prawo.

Węzeł - wierzchołek drzewa.

Wysokość drzewa - wysokość jego korzenia.

Wysokość węzła - maksymalna długość drogi od tego

węzła do liścia.

Złożoność czasowa - czas potrzebny na wykonanie

algorytmu jako funkcja rozmiaru zadania, za jednostkę

przyjmuje się wykonanie jednej operacji dominującej.

Złożoność czasowa asymptotyczna - charakter złożoności czasowej przy dążeniu do wartości granicznej wraz ze wzrostem rozmiaru zadania.

Złożoność oczekiwana - pewna „średnia” złożoność dla wszystkich możliwych wejść danego rozmiaru.

Złożoność pamięciowa - pamięć potrzebna do wykonania algorytmu jako funkcja rozmiaru zadania, za jednostkę przyjmuje się słowo pamięci maszyny.

Złożoność pamięciowa asymptotyczna - charakter

złożoności pamięciowej przy dążeniu do wartości

granicznej wraz ze wzrostem rozmiaru zadania.

Złożoność pesymistyczna - największa ze złożoności dla wszystkich możliwych wejść danego rozmiaru.

Typy operandów:

=i - liczba całkowita i; operand tego typu nazywamy

literałem; v(=i) = i,

i - zawartość rejestru o numerze i (i powinno być

nieujemne); v(i) = c(i),

*i - wartością operandu jest zawartość rejestru j, gdzie j

jest liczbą nieujemną przechowywaną w rejestrze i

(adresacja pośrednia); v(*i) = c(c(i)).

Opis poleceń maszyny RAM:

LOAD a - c(0) ← v(a), co oznacza zapis wartości operandu

a do rejestru 0 (sumatora),

STORE i - c(i) ← c(0),

STORE *i - c(c(i)) ← c(0),

ADD a - c(0) ← c(0) + v(a),

SUB a - c(0) ← c(0) - v(a),

MULT a - c(0) ← c(0) × v(a),

DIV a - c(0) ← c(0) / v(a),

READ i - c(i) ← kolejny symbol wejściowy,

READ *i - c(c(i)) ← kolejny symbol wejściowy,

WRITE a - v(a) jest zapisywane do tej klatki taśmy

wyjściowej, przy ktorej aktualnie znajduje się głowica,

JUMP b - licznik rozkazow jest ustawiany na komendę z etykietą b,

JGTZ b - jeśli c(0) > 0, to licznik rozkazow jest ustawiany na komendę z etykietą b; w przeciwnym razie na komendę następną,

JZERO b - jeśli c(0) = 0, to licznik rozkazow jest ustawiany na komendę z etykietą b; w przeciwnym razie na komendę następną,

HALT - zatrzymanie programu.

Podstawowe operatory pseudokodu:

Nadawanie wartości: zmienna ← wyrażenie,

Operator warunkowy: jeśli warunek to operator(y)

inaczej operator(y),

Operator pętli „dopoki”: dopóki warunek wykonuj

operator(y),

Operator pętli „powtarzaj”: powtarzaj operator(y) aż_do warunek,

Operator pętli „dla”: dla zmienna ← wartość_początkowa

[w_dół_]do wartość_końcowa wykonuj operator(y).

Wagi logarytmiczne operandów:

=i - l(i),

i - l(i) + l(c(i)),

*i - l(i) + l(c(i)) + l(c(c(i))).

Wagi logarytmiczne komend:

LOAD a - t(a),

STORE i - l(c(0)) + l(i),

STORE *i - l(c(0)) + l(i) + l(c(i)),

ADD a - l(c(0)) + t(a),

SUB a - l(c(0)) + t(a),

MULT a - l(c(0)) + t(a),

DIV a - l(c(0)) + t(a),

READ i - l(wejście) + l(i),

READ *i - l(wejście) + l(i) + l(c(i)),

WRITE a - t(a),

JUMP b - 1,

JGTZ b - l(c(0)),

JZERO b - l(c(0)),

HALT - 1.

Umieszczanie elementu x na stosie S :

PUSH(S,x)

1 top[S] ← top[S] + 1

2 S[top[S]] ← x

Zdejmowanie elementu x ze stosu S :

POP(S)

1 jeśli STOS-PUSTY(S)

2 to błąd „niedomiar”

3 inaczej { top[S] ← top[S] - 1

4 zwróć S[top[S] + 1] }



Wyszukiwarka

Podobne podstrony:
Pojęcia algorytmy, Studia Informatyka 2011, Semestr 2, Algorytmy i struktury danych, algorytmy sciag
AIDS w7listy, studia, Semestr 2, Algorytmy i struktury danych AISD, AIDS
W10seek, studia, Semestr 2, Algorytmy i struktury danych AISD, AIDS
ZestawA, studia, Semestr 2, Algorytmy i struktury danych AISD, AIDS
AIDS w6geom, studia, Semestr 2, Algorytmy i struktury danych AISD, AIDS
w8grafy alg, studia, Semestr 2, Algorytmy i struktury danych AISD, AIDS
AIDS w5 rekur, studia, Semestr 2, Algorytmy i struktury danych AISD, AIDS
AIDS w3 sort1, studia, Semestr 2, Algorytmy i struktury danych AISD, AIDS
w8grafy, studia, Semestr 2, Algorytmy i struktury danych AISD, AIDS
AIDS K2 cwiczenia, studia, Semestr 2, Algorytmy i struktury danych AISD, AIDS
AIDS w7listy, studia, Semestr 2, Algorytmy i struktury danych AISD, AIDS
Zegar sciaga, Studia Informatyka 2011, Semestr 1, Architektura systemów komputerowych, Ściągi
sciaga, Studia Informatyka 2011, Semestr 1, Architektura systemów komputerowych, Zaliczenie z ASK
sciaga grafika, Studia Informatyka 2011, Semestr 1, Architektura systemów komputerowych, Ściągi
tabelku do kolok A, Studia Informatyka 2011, Semestr 2, Matematyka dyskretna, labolatoria Dmytryszyn
klawiatura, Studia Informatyka 2011, Semestr 1, Architektura systemów komputerowych, Sprawozdania
arch zal, Studia Informatyka 2011, Semestr 1, Architektura systemów komputerowych, Zaliczenie z ASK

więcej podobnych podstron