Informatyka A. Algorytmy
|
|
- Damian Czerwiński
- 5 lat temu
- Przeglądów:
Transkrypt
1 Informatyka A Algorytmy Spis algorytmów 1 Algorytm Euklidesa Rozszerzony algorytm Euklidesa Wyszukiwanie min w tablicy Jednoczesne wyszukiwanie min i max w tablicy Schemat Hornera Potęgowanie binarne Zamiana z systemu dziesiętnego na system o innej podstawie Rozwiązywanie liniowego równania diofantycznego Wyszukiwanie liniowe (sekwencyjne) Wyszukiwanie z wartownikiem Wyszukiwanie binarne Sortowanie bąbelkowe Sortowanie przez wybieranie (selekcję) Sortowanie przez wstawianie Sortowanie przez zliczanie Sortowanie przez scalanie Scalanie tablic Sortowanie szybkie (quicksort) Obliczanie miejsca zerowego metodą połowienia Obliczanie miejsca zerowego metodą siecznych Sito Eratostenesa Algorytm obliczania n-tego wyrazu ciągu Fibonacciego Rekurencyjny algorytm Euklidesa Rekurencyjne podnoszenie do potęgi Wyszukiwanie binarne - wersja rekurencyjna Szybkie podnoszenie do potęgi Wyszukiwanie min w tablicy - wersja rekurencyjna Algorytm obliczania n-tego wyrazu ciągu Fibonacciego - wersja wstępująca Algorytm obliczania n-tego wyrazu ciągu Fibonacciego - wersja zstępująca
2 Algorytm 1: Algorytm Euklidesa Dane: a, b N + Wynik: NW D(a, b) while b 0 do c = a mod b a = b b = c Pisz a Algorytm 2: Rozszerzony algorytm Euklidesa Dane: a, b N + Wynik: d = NW D(a, b), {u, v} takie, że ua + vb = d (u 1, r 1, u 2, r 2 ) = (1, a, 0, b) while r 2 > 0 do q = r1 r 2 (u 1, r 1, u 2, r 2 ) = (u 2, r 2, u 1 q u 2, r 1 q r 2 ) Pisz d = r 1, {u, v} = (u 1, r 1 u 1 a b ) Algorytm 3: Wyszukiwanie min w tablicy Dane: T [1... n] Wynik: min(t [1],..., T [n]) min = 1 for i = 2,..., n do if T [i] < T [min] then min = i Pisz T [min] 2
3 Algorytm 4: Jednoczesne wyszukiwanie min i max w tablicy Dane: T [1... n] Wynik: min(t [1],..., T [n]), max(t [1],..., T [n]) 1. Jeśli n = 1, to min = max = T [1] 2. W kolejnych parach elementów umieść na pozycji nieparzystej element lżejszy, na parzystej element cięższy. Jeśli n jest nieparzyste, to ostatni element ciągu oznacz przez e 3. Szukamy elementu minimalnego dla indeksów nieparzystych, elementu maksymalnego dla indeksów parzystych 4. Jeśli n jest nieparzyste, to porównaj otrzymane wartości z e Algorytm 5: Schemat Hornera Dane: f(x) = a 0 X n + a 1 X n a n 1 X + a n, x 0 R Wynik: f(x 0 ) w = a 0 for i = 1,..., n do w = w x 0 + a i Pisz w Algorytm 6: Potęgowanie binarne Dane: b R, n N {0} Wynik: b n x = 1 z = b i = n while i > 0 do if i mod 2 = 1 then x = x z z = z z i = i 2 Pisz x Algorytm 7: Zamiana z systemu dziesiętnego na system o innej podstawie Dane: n N liczba w systemie dziesiętnym, p N podstawa systemu Wynik: n w systemie o podstawie p // T [1... log p n + 1] - tablica z cyframi liczby n w systemie o podstawie p k = 1 while n > 0 do T [k] = n mod p k = k + 1 n = n p for i = k 1,..., 1 do Pisz T [i] 3
4 Algorytm 8: Rozwiązywanie liniowego równania diofantycznego Dane: a, b, c Z takie, że ax + by = c Wynik: Rozwiązanie ogólne równania ax + by = c (d, u, v) = RozszerzonyAlgorytmEuklidesa(a, b) if c mod d = 0 then Pisz x = c u d + t b d Pisz y = c v d t a d Pisz Brak rozwiązań Algorytm 9: Wyszukiwanie liniowe (sekwencyjne) Dane: T 1,..., T n, K poszukiwany element Wynik: Indeks i {1,..., n} taki, że T i = K. W przypadku, gdy takie i nie istnieje zwracamy 1 1. i = 1 2. Jeśli K = T i, to zakończ działanie algorytmu i zwróć i 3. i = i Jeśli i n, to wróć do 2 w przeciwnym razie zakończ działanie algorytmu i zwróć 1 Algorytm 10: Wyszukiwanie z wartownikiem Dane: T 1,..., T n, K poszukiwany element Wynik: Indeks i {1,..., n} taki, że T i = K. W przypadku, gdy takie i nie istnieje zwracamy 1 1. i = 1, T n+1 = K 2. Jeśli T i = K, to idź do 4 3. i = i + 1, idź do 2 4. Jeśli i n, to zwróć i, w przeciwnym przypadku 1 4
5 Algorytm 11: Wyszukiwanie binarne Dane: A posortowana tablica, v poszukiwany element, l, r zakres w jakim poszukujemy Wynik: Indeks poszukiwanego elementu, w przypadku nie znalezienia elementu zwracamy 1 while r l do m = l+r 2 if v = A[m] then return m if v < A[m] then r = m 1 l = m + 1 return 1 Algorytm 12: Sortowanie bąbelkowe Dane: T [1... n] Wynik: Posortowana tablica T for j = 1,..., n 1 do for i = 1,..., n 1 do if T [i] > T [i + 1] then zamień(t [i], T [i + 1]) Algorytm 13: Sortowanie przez wybieranie (selekcję) Dane: T [1... n] Wynik: Posortowana tablica T for i = 1,..., n 1 do min = i for j = i + 1,..., n do if T [j] < T [min] then min = j zamień(t [i], T [min]) Algorytm 14: Sortowanie przez wstawianie Dane: T [1... n] Wynik: Posortowana tablica T for i = 2,... n do x = T [i] j = i 1 while j > 0 and x < T [j] do T [j + 1] = T [j] j = j 1 T [j + 1] = x 5
6 Algorytm 15: Sortowanie przez zliczanie Dane: A[1... n] tablica liczb naturalnych z przedziału [1, k] Wynik: Posortowana tablica A // B[1... n] - tablica posortowana // C[1... k] - tablica pomocnicza for i = 1,..., k do C[i] = 0 for i = 1,..., n do C[A[i]] = C[A[i]] + 1 for i = 2,..., k do C[i] = C[i] + C[i 1] for i = 1,..., n do B[C[A[i]]] = A[i] C[A[i]] = C[A[i]] 1 // C[i] liczba elementów = i // C[i] liczba elementów i Algorytm 16: Sortowanie przez scalanie Dane: A[1... n] tablica liczb naturalnych Wynik: Posortowana tablica A MergeSort(A, n) M sort(a, 1, n) M sort(a, l, r) if l < r then m = l+r 2 M sort(a, l, m) M sort(a, m + 1, r) Scalaj(A, l, m, r) 6
7 Algorytm 17: Scalanie tablic Dane: A[1... n] tablica liczb naturalnych, m - rozmiar tablicy Wynik: Posortowana tablica A Scalaj(A, l, m, r) C //- tablica pomocnicza i = l; j = m + 1; k = l; while i m and j r do if A[i] A[j] then C[k] = A[i] i = i + 1 C[k] = A[j] j = j + 1 k = k + 1 while i m do C[k] = A[i] i = i + 1 k = k + 1 while j r do C[k] = A[j] j = j + 1 k = k + 1 for k = l to r do A[k] = C[k] 7
8 Algorytm 18: Sortowanie szybkie (quicksort) Dane: T [1... n] Wynik: Posortowana tablica T Quicksort(A, n) Q sort(a, 1, n) Q sort(a, l, r) if l < r then j =Podział(A, l, r) Q sort(a, l, j 1) Q sort(a, j + 1, r) Podział(A, l, r) x = A[l] i = l + 1 j = r koniec = false while not koniec do while j > l and x A[j] do j = j 1 while i < r and x > A[i] do i = i + 1 if i < j then zamień(a[i], A[j]) j = j 1 i = i + 1 koniec = true A[l] = A[j] A[j] = x return j 8
9 Algorytm 19: Obliczanie miejsca zerowego metodą połowienia Dane: Funkcja ciągła f, końce przedziału a, b R, f(a)f(b) < 0 Wynik: x 0 R takie, że f(x 0 ) = 0 // ε dokładność z jaką chcemy liczyć miejsce zerowe f a = f(a) f b = f(b) while a b > ε do x 0 = a+b 2 f 0 = f(x 0 ) if f 0 = 0 then break if f a f 0 < 0 then b = x 0 a = x0 Pisz x 0 f a = f 0 9
10 Algorytm 20: Obliczanie miejsca zerowego metodą siecznych Dane: Funkcja ciągła f, końce przedziału x 1, x 2 R Wynik: x 0 R takie, że f(x 0 ) = 0 // ε dokładność z jaką chcemy liczyć miejsce zerowe // n maksymalna ilość przebiegów algorytmu f 1 = f(x 1 ) f 2 = f(x 2 ) i = n while i > 0 and x 1 x 2 > ε do x x 0 = x 1 f 1 x 2 1 f 1 f 2 f 0 = f(x 0 ) x 2 = x 1 f 2 = f 1 x 1 = x 0 f 1 = f 0 i = i 1 if i = 0 then Pisz Przekroczony limit przebiegów Pisz x 0 Algorytm 21: Sito Eratostenesa Dane: n N Wynik: Tablica zawierająca liczby pierwsze n Utwórz listę L = {1,..., n} L[1] = 0 k = n for i = 2,..., k do if L[i] 0 then for j = i 2, i 2 + i, i 2 + 2i,..., n do L[j] = 0 for i = 2,..., n do if L[i] 0 then Pisz i 10
11 Algorytm 22: Algorytm obliczania n-tego wyrazu ciągu Fibonacciego Dane: n N Wynik: n-ty wyraz ciągu Fibonacciego Function Fibonacci(n N) if ((n = 0) or (n = 1) ) then return n return Fibonacci (n 1)+Fibonacci (n 2) Algorytm 23: Rekurencyjny algorytm Euklidesa Dane: a, b N Wynik: NW D(a, b) Function Euklides(a N, b N) if (b = 0) then return a return Euklides (b, a mod b) Algorytm 24: Rekurencyjne podnoszenie do potęgi Dane: a, n N Wynik: a n Function Potega(a N, n N) if (n = 1) then return a if (n mod 2 = 0) then p =Potega(a, n/2) return p p p =Potega(a, (n 1)/2) return p p a 11
12 Algorytm 25: Wyszukiwanie binarne - wersja rekurencyjna Dane: A posortowana tablica, v poszukiwany element, l, r zakres w jakim poszukujemy Wynik: Indeks poszukiwanego elementu, w przypadku nie znalezienia elementu zwracamy 1 Function wysz-binarne(a, v N, l N, r N) if l r then return 1 m = l+r 2 if v = A[m] then return m if v < A[m] then return wysz-binarne(a, v, l, m 1) return wysz-binarne(a, v, m + 1, r) Algorytm 26: Szybkie podnoszenie do potęgi Dane: a, n N Wynik: a n Function szybkie-potega(a N, n N) if (n = 1) then return a m = n 2 p = szybkie-potega(a, m) p = p p if (n mod 2 = 1) then p = p a return p Algorytm 27: Wyszukiwanie min w tablicy - wersja rekurencyjna Dane: T [1... n], l, r N, gdzie l, r to odpowiednio prawy i lewy koniec tablicy Wynik: min(t [1],..., T [n]) Function minimum(t [1 n], l, r) if l r = 0 then return T [l] m = l+r 2 x =minimum(t, l, m) y =minimum(t, m + 1, r) if x < y then return x return y 12
13 Algorytm 28: Algorytm obliczania n-tego wyrazu ciągu Fibonacciego - wersja wstępująca Dane: n N Wynik: n-ty wyraz ciągu Fibonacciego Function Fibonacci-wstępujący(n N) F [0] = 0 F [1] = 1 for i = 2 to n do F [i] = F [i 1] + F [i 2] Algorytm 29: Algorytm obliczania n-tego wyrazu ciągu Fibonacciego - wersja zstępująca Dane: n N Wynik: n-ty wyraz ciągu Fibonacciego Function Fibonacci-zstępujący(n N) if F [n] = 0 then t = n if n > 1 then t=fibonacci-zstępujący(n 1)+Fibonacci-zstępujący(n 2) F [n] = t return F [n] 13
Analiza algorytmów zadania podstawowe
Analiza algorytmów zadania podstawowe Zadanie 1 Zliczanie Zliczaj(n) 1 r 0 2 for i 1 to n 1 3 do for j i + 1 to n 4 do for k 1 to j 5 do r r + 1 6 return r 0 Jaka wartość zostanie zwrócona przez powyższą
Bardziej szczegółowoPodstawowe algorytmy i ich implementacje w C. Wykład 9
Wstęp do programowania 1 Podstawowe algorytmy i ich implementacje w C Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 9 Element minimalny i maksymalny zbioru Element minimalny
Bardziej szczegółowoAnaliza algorytmów zadania podstawowe
Analiza algorytmów zadania podstawowe 15 stycznia 2019 Zadanie 1 Zliczanie Zliczaj(n) 1 r 0 2 for i 1 to n 1 3 do for j i + 1 to n 4 do for k 1 to j 5 do r r + 1 6 return r P Jaka wartość zostanie zwrócona
Bardziej szczegółowoJeszcze o algorytmach
Jeszcze o algorytmach Przykłady różnych, podstawowych algorytmów 11.01.2018 M. Rad Plan Powtórka Znajdowanie najmniejszego elementu Segregowanie Poszukiwanie przez połowienie Wstawianie Inne algorytmy
Bardziej szczegółowoProgramowanie w VB Proste algorytmy sortowania
Programowanie w VB Proste algorytmy sortowania Sortowanie bąbelkowe Algorytm sortowania bąbelkowego polega na porównywaniu par elementów leżących obok siebie i, jeśli jest to potrzebne, zmienianiu ich
Bardziej szczegółowoProgramowanie Proceduralne
Programowanie Proceduralne Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 1 Bożena Woźna-Szcześniak (AJD) Programowanie Proceduralne Wykład 1 1 / 59 Cel wykładów z programowania
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Wykład 5 Podstawowe techniki programownia w przykładach Janusz Szwabiński Plan wykładu: Metoda babilońska wyliczania pierwiastka Liczby pierwsze i sito Eratostenesa Metoda bisekcji
Bardziej szczegółowoWPROWADZENIE DO ALGORYTMÓW Zadania
WPROWADZENIE DO ALGORYTMÓW Zadania mgr Zofia Makara 11 maja 2004 1 Algorytmy liniowe Napisz algorytm, przedstaw go przy użyciu schematu blokowego i zaimplementuj w dowolnym języku programowania (np. w
Bardziej szczegółowoZadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.
Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy
Bardziej szczegółowoRekurencja. Rekurencja zwana także rekursją jest jedną z najważniejszych metod konstruowania rozwiązań i algorytmów.
Rekurencja Rekurencja zwana także rekursją jest jedną z najważniejszych metod konstruowania rozwiązań i algorytmów. Zgodnie ze znaczeniem informatycznym algorytm rekurencyjny to taki który korzysta z samego
Bardziej szczegółowoFUNKCJA REKURENCYJNA. function s(n:integer):integer; begin if (n>1) then s:=n*s(n-1); else s:=1; end;
Rekurencja Wykład: rekursja, funkcje rekurencyjne, wywołanie samej siebie, wyznaczanie poszczególnych liczb Fibonacciego, potęgowanie, algorytm Euklidesa REKURENCJA Rekurencja (z łac. recurrere), zwana
Bardziej szczegółowoSortowanie przez scalanie
Sortowanie przez scalanie Wykład 2 12 marca 2019 (Wykład 2) Sortowanie przez scalanie 12 marca 2019 1 / 17 Outline 1 Metoda dziel i zwyciężaj 2 Scalanie Niezmiennik pętli - poprawność algorytmu 3 Sortowanie
Bardziej szczegółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Metoda Dziel i zwyciężaj. Problem Sortowania, cd. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 2 Bożena Woźna-Szcześniak (AJD) Algorytmy
Bardziej szczegółowoWykład 5. Sortowanie w czasie liniowologarytmicznym
Wykład 5 Sortowanie w czasie liniowologarytmicznym 1 Sortowanie - zadanie Definicja (dla liczb): wejście: ciąg n liczb A = (a 1, a 2,, a n ) wyjście: permutacja (a 1,, a n ) taka, że a 1 a n 2 Zestawienie
Bardziej szczegółowoTechnologie informacyjne Wykład VII-IX
Technologie informacyjne -IX A. Matuszak 19 marca 2013 A. Matuszak Technologie informacyjne -IX Rekurencja A. Matuszak (2) Technologie informacyjne -IX Gotowanie jajek na miękko weż czysty garnek włóż
Bardziej szczegółowoPodstawy programowania. Podstawy C# Przykłady algorytmów
Podstawy programowania Podstawy C# Przykłady algorytmów Proces tworzenia programu Sformułowanie problemu funkcje programu zakres i postać danych postać i dokładność wyników Wybór / opracowanie metody rozwiązania
Bardziej szczegółowoWstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 9. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 9 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Zasada dziel i zwyciężaj Przykłady znajdowanie
Bardziej szczegółowoInstrukcje pętli przykłady. Odgadywanie hasła. 1) Program pyta o hasło i podaje adres, gdy hasło poprawne lub komunikat o błędnym haśle.
Instrukcje pętli przykłady. Odgadywanie hasła. 1) Program pyta o hasło i podaje adres, gdy hasło poprawne lub komunikat o błędnym haśle. Sub Hasla1() Dim wzor_hasla As String Dim haslo As String Dim adres
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Algorytmy na tablicach Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk (Wydział Fizyki) WP w. III Jesień 2013 1 / 23 Dwadzieścia pytań Zasady 1 Osoba 1 wymyśla hasło z ustalonej
Bardziej szczegółowoStrategia "dziel i zwyciężaj"
Strategia "dziel i zwyciężaj" W tej metodzie problem dzielony jest na kilka mniejszych podproblemów podobnych do początkowego problemu. Problemy te rozwiązywane są rekurencyjnie, a następnie rozwiązania
Bardziej szczegółowoZadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.
Zadania do wykonania Rozwiązując poniższe zadania użyj pętlę for. 1. apisz program, który przesuwa w prawo o dwie pozycje zawartość tablicy 10-cio elementowej liczb całkowitych tzn. element t[i] dla i=2,..,9
Bardziej szczegółowoProgramowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni. Wykład 3. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni Wykład 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Co to jest algorytm? Zapis algorytmów Algorytmy
Bardziej szczegółowoPodstawy Informatyki. Metalurgia, I rok. Wykład 5 Rekurencja
Podstawy Informatyki Metalurgia, I rok Wykład 5 Rekurencja Rekurencja z łacińskiego oznacza to przybiec z powrotem - osiągniesz rzecz wielką, jeśli zawrócisz po to, by osiągnąć rzeczy małe Przykład: Małe
Bardziej szczegółowoPodstawy Informatyki. Metalurgia, I rok. Rekurencja. skomplikowane zadanie. Rekurencja
Podstawy Informatyki Metalurgia, I rok Rekurencja z łacińskiego oznacza to przybiec z powrotem - osiągniesz rzecz wielką, jeśli zawrócisz po to, by osiągnąć rzeczy małe Małe dziecko otrzymuje polecenie
Bardziej szczegółowoSortowanie danych. Jolanta Bachan. Podstawy programowania
Sortowanie danych Podstawy programowania 2013-06-06 Sortowanie przez wybieranie 9 9 9 9 9 9 10 7 7 7 7 7 10 9 1 3 3 4 10 7 7 10 10 10 10 4 4 4 4 4 4 3 3 3 3 2 2 2 2 2 2 2 3 1 1 1 1 1 1 Gurbiel et al. 2000
Bardziej szczegółowoAlgorytmy sortujące i wyszukujące
Algorytmy sortujące i wyszukujące Zadaniem algorytmów sortujących jest ułożenie elementów danego zbioru w ściśle określonej kolejności. Najczęściej wykorzystywany jest porządek numeryczny lub leksykograficzny.
Bardziej szczegółowoTechnologie Informatyczne Wykład VII
Technologie Informatyczne Wykład VII A. Matuszak (1) 22 listopada 2007 A. Matuszak (1) Technologie Informatyczne Wykład VII A. Matuszak (2) Technologie Informatyczne Wykład VII (Rekursja) albo rekursja
Bardziej szczegółowoEGZAMIN MATURALNY Z INFORMATYKI MAJ 2014 POZIOM ROZSZERZONY CZĘŚĆ I WYBRANE: Czas pracy: 90 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY
Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu. Układ graficzny CKE 201 KOD WPISUJE ZDAJĄCY PESEL Miejsce na naklejkę z kodem EGZAMIN MATURALNY Z INFORMATYKI POZIOM ROZSZERZONY
Bardziej szczegółowoAlgorytmy i Struktury Danych, 2. ćwiczenia
Algorytmy i Struktury Danych, 2. ćwiczenia 2015-10-09 Spis treści 1 Szybkie potęgowanie 1 2 Liczby Fibonacciego 2 3 Dowód, że n 1 porównań jest potrzebne do znajdowania minimum 2 4 Optymalny algorytm do
Bardziej szczegółowoAlgorytm i złożoność obliczeniowa algorytmu
Algorytm i złożoność obliczeniowa algorytmu Algorytm - przepis postępowania, którego wykonanie prowadzi do rozwiązania określonego problemu określa czynności, jakie należy wykonać wyszczególnia wszystkie
Bardziej szczegółowoAlgorytm selekcji Hoare a. Łukasz Miemus
Algorytm selekcji Hoare a Łukasz Miemus 1 lutego 2006 Rozdział 1 O algorytmie 1.1 Problem Mamy tablicę A[N] różnych elementów i zmienną int K, takie że 1 K N. Oczekiwane rozwiązanie to określenie K-tego
Bardziej szczegółowoPodstawy algorytmiki i programowania - wykład 6 Sortowanie- algorytmy
1 Podstawy algorytmiki i programowania - wykład 6 Sortowanie- algorytmy Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com
Bardziej szczegółowoStruktury danych i złożoność obliczeniowa Wykład 2. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 2. Prof. dr hab. inż. Jan Magott Metody konstrukcji algorytmów: Siłowa (ang. brute force), Dziel i zwyciężaj (ang. divide-and-conquer), Zachłanna (ang.
Bardziej szczegółowoAlgorytmy i struktury danych. Wykład 4
Wykład 4 Różne algorytmy - obliczenia 1. Obliczanie wartości wielomianu 2. Szybkie potęgowanie 3. Algorytm Euklidesa, liczby pierwsze, faktoryzacja liczby naturalnej 2017-11-24 Algorytmy i struktury danych
Bardziej szczegółowoZadanie 1. Korale (8 pkt) Rozważamy następującą rekurencyjną procedurę Korale, której parametrem jest dodatnia liczba całkowita n.
Zadanie 1. Korale (8 pkt) Rozważamy następującą rekurencyjną procedurę Korale, której parametrem jest dodatnia liczba całkowita n. Korale(n) 1. Jeżeli n = 1, to 1.1. nawlecz czarny koralik na prawy koniec
Bardziej szczegółowoPodstawy algorytmiki i programowania - wykład 3 Funkcje rekurencyjne Wyszukiwanie liniowe i binarne w tablicy
1 Podstawy algorytmiki i programowania - wykład 3 Funkcje rekurencyjne Wyszukiwanie liniowe i binarne w tablicy Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania.
Bardziej szczegółowoPodstawy Informatyki
Podstawy Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 7 i 8 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 7 i 8 1 / 44 Struktura danych - tablica
Bardziej szczegółowoAlgorytmy i złożoność obliczeniowa. Wojciech Horzelski
Algorytmy i złożoność obliczeniowa Wojciech Horzelski 1 Tematyka wykładu Ø Ø Ø Ø Ø Wprowadzenie Poprawność algorytmów (elementy analizy algorytmów) Wyszukiwanie Sortowanie Elementarne i abstrakcyjne struktury
Bardziej szczegółowoSortowanie bąbelkowe
1/98 Sortowanie bąbelkowe (Bubble sort) prosty i nieefektywny algorytm sortowania wielokrotnie przeglądamy listę elementów, porównując dwa sąsiadujące i zamieniając je miejscami, jeśli znajdują się w złym
Bardziej szczegółowoZagadnienia - równania nieliniowe
Zagadnienia - równania nieliniowe Sformułowanie zadania poszukiwania pierwiastków. Przedział izolacji. Twierdzenia o istnieniu pierwiastków. Warunki zatrzymywania algorytmów. Metoda połowienia: założenia,
Bardziej szczegółowoRekurencja. Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Przykład: silnia: n! = n(n-1)!
Rekurencja Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Przykład: silnia: n! = n(n-1)! Pseudokod: silnia(n): jeżeli n == 0 silnia = 1 w przeciwnym
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Rekurencja, metoda dziel i zwyciężaj Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk(Wydział Fizyki) WP w. VIII Jesień 2014 1 / 27 Rekurencja Recursion See Recursion. P. Daniluk(Wydział
Bardziej szczegółowoDefinicja. Ciąg wejściowy: Funkcja uporządkowująca: Sortowanie polega na: a 1, a 2,, a n-1, a n. f(a 1 ) f(a 2 ) f(a n )
SORTOWANIE 1 SORTOWANIE Proces ustawiania zbioru elementów w określonym porządku. Stosuje się w celu ułatwienia późniejszego wyszukiwania elementów sortowanego zbioru. 2 Definicja Ciąg wejściowy: a 1,
Bardziej szczegółowoAlgorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2
Algorytmy i struktury danych Wykład 6 Tablice rozproszone cz. 2 Na poprzednim wykładzie Wiele problemów wymaga dynamicznych zbiorów danych, na których można wykonywać operacje: wstawiania (Insert) szukania
Bardziej szczegółowonp. dla p=1 mamy T1(N) N/2 średni czas chybionego wyszukiwania z prawdopodobieństwem q:
Wykład 4 Wyszukiwania w tablicach posortowanych 1. Wyszukiwanie sekwencyjne w tablicy posortowanej 2. Wyszukiwanie binarne bez powtórzeń 3. Wyszukiwanie binarne z powtórzeniami 1 2 3 4 5 6 7 8 9 10 11
Bardziej szczegółowoWieczorowe Studia Licencjackie Wrocław, Wykład nr 6 (w oparciu o notatki K. Lorysia, z modyfikacjami) Sito Eratostenesa
Wieczorowe Studia Licencjackie Wrocław, 7.11.2006 Wstęp do programowania Wykład nr 6 (w oparciu o notatki K. Lorysia, z modyfikacjami) Sito Eratostenesa Zaprezentujemy teraz algorytm na wyznaczanie wszystkich
Bardziej szczegółowoLaboratoria nr 1. Sortowanie
Laboratoria nr 1 Sortowanie 1. Sortowanie bąbelkowe (BbS) 2. Sortowanie przez wstawianie (IS) 3. Sortowanie przez wybieranie (SS) 4. Sortowanie przez zliczanie (CS) 5. Sortowanie kubełkowe (BS) 6. Sortowanie
Bardziej szczegółowoSortowanie w czasie liniowym
Sortowanie w czasie liniowym 1 Sortowanie - zadanie Definicja (dla liczb): wejście: ciąg n liczb A = (a 1, a 2,, a n ) wyjście: permutacja (a 1,, a n ) taka, że a 1 a n Po co sortować? Podstawowy problem
Bardziej szczegółowoWykład 3. Metoda dziel i zwyciężaj
Wykład 3 Metoda dziel i zwyciężaj 1 Wprowadzenie Technika konstrukcji algorytmów dziel i zwyciężaj. przykładowe problemy: Wypełnianie planszy Poszukiwanie (binarne) Sortowanie (sortowanie przez łączenie
Bardziej szczegółowoMatematyka dyskretna - wykład - część Podstawowe algorytmy kombinatoryczne
A. Permutacja losowa Matematyka dyskretna - wykład - część 2 9. Podstawowe algorytmy kombinatoryczne Załóżmy, że mamy tablice p złożoną z n liczb (ponumerowanych od 0 do n 1). Aby wygenerować losową permutację
Bardziej szczegółowoRoman Mocek Zabrze 01.09.2007 Opracowanie zbiorcze ze źródeł Scholaris i CKE
Różnice między podstawą programową z przedmiotu Technologia informacyjna", a standardami wymagań będącymi podstawą przeprowadzania egzaminu maturalnego z przedmiotu Informatyka" I.WIADOMOŚCI I ROZUMIENIE
Bardziej szczegółowo1. Znajdowanie miejsca zerowego funkcji metodą bisekcji.
1. Znajdowanie miejsca zerowego funkcji metodą bisekcji. Matematyczna funkcja f ma być określona w programie w oddzielnej funkcji języka C (tak, aby moŝna było łatwo ją zmieniać). Przykładowa funkcja to:
Bardziej szczegółowoWybrane algorytmy tablicowe
Wybrane algorytmy tablicowe Algorytmy i struktury danych Wykład 2. Rok akademicki: 2009/2010 Sortowanie przez wybieranie for (int i = 0; i < liczby.length - 1; i++) k = i; for (int j = i; j < liczby.length;
Bardziej szczegółowoWybrane zagadnienia teorii liczb
Wybrane zagadnienia teorii liczb Podzielność liczb NWW, NWD, Algorytm Euklidesa Arytmetyka modularna Potęgowanie modularne Małe twierdzenie Fermata Liczby pierwsze Kryptosystem RSA Podzielność liczb Relacja
Bardziej szczegółowoWybrane wymagania dla informatyki w gimnazjum i liceum z podstawy programowej
Wybrane wymagania dla informatyki w gimnazjum i liceum z podstawy programowej Spis treści Autor: Marcin Orchel Algorytmika...2 Algorytmika w gimnazjum...2 Algorytmika w liceum...2 Język programowania w
Bardziej szczegółowoINFORMATYKA SORTOWANIE DANYCH.
INFORMATYKA SORTOWANIE DANYCH http://www.infoceram.agh.edu.pl SORTOWANIE Jest to proces ustawiania zbioru obiektów w określonym porządku. Sortowanie stosowane jest w celu ułatwienia późniejszego wyszukania
Bardziej szczegółowoPrzykładowe zadania z teorii liczb
Przykładowe zadania z teorii liczb I. Podzielność liczb całkowitych. Liczba a = 346 przy dzieleniu przez pewną liczbę dodatnią całkowitą b daje iloraz k = 85 i resztę r. Znaleźć dzielnik b oraz resztę
Bardziej szczegółowoKlasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny
Klasa 2 INFORMATYKA dla szkół ponadgimnazjalnych zakres rozszerzony Założone osiągnięcia ucznia wymagania edukacyjne na poszczególne oceny Algorytmy 2 3 4 5 6 Wie, co to jest algorytm. Wymienia przykłady
Bardziej szczegółowoMetody rozwiązywania równań nieliniowych
Metody rozwiązywania równań nieliniowych Rozwiązywanie równań nieliniowych Ogólnie równanie o jednej niewiadomej x można przedstawić w postaci f ( x)=0, x R, (1) gdzie f jest wystarczająco regularną funkcją.
Bardziej szczegółowoAlgorytmy i Struktury Danych, 2. ćwiczenia
Algorytmy i Struktury Danych, 2. ćwiczenia 2017-10-13 Spis treści 1 Optymalne sortowanie 5 ciu elementów 1 2 Sortowanie metodą Shella 2 3 Przesunięcie cykliczne tablicy 3 4 Scalanie w miejscu dla ciągów
Bardziej szczegółowoMatematyka stosowana i metody numeryczne
Ewa Pabisek Adam Wosatko Piotr Pluciński Matematyka stosowana i metody numeryczne Konspekt z wykładu 6 Rozwiązywanie równań nieliniowych Rozwiązaniem lub pierwiastkiem równania f(x) = 0 lub g(x) = h(x)
Bardziej szczegółowoInformatyka wprowadzenie do algorytmów (II) dr hab. inż. Mikołaj Morzy
Informatyka wprowadze do algorytmów (II) dr hab. inż. Mikołaj Morzy plan wykładu cechy algorytmów sposoby zapisu algorytmów klasyfikacja algorytmów przykłady algorytmów sumowa przeszukiwa ciągu liczb sortowa
Bardziej szczegółowoPoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj
Bardziej szczegółowoWstęp do programowania
wykład 6 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018 Losowanie liczb całkowitych Dostępne biblioteki Najprostsze losowanie liczb całkowitych można wykonać za pomocą funkcji
Bardziej szczegółowoWstęp do programowania. Dziel i rządź. Piotr Chrząstowski-Wachtel
Wstęp do programowania Dziel i rządź Piotr Chrząstowski-Wachtel Divide et impera Starożytni Rzymianie znali tę zasadę Łatwiej się rządzi, jeśli poddani są podzieleni Nie chodziło im jednak bynajmniej o
Bardziej szczegółowoWymagania edukacyjne i sposoby sprawdzania edukacyjnych osiągnięć uczniów z informatyki - klasy II zakres rozszerzony
Wymagania edukacyjne i sposoby sprawdzania edukacyjnych osiągnięć uczniów z informatyki - klasy II zakres rozszerzony I. Cele kształcenia wymagania ogólne 1. Bezpieczne posługiwanie się komputerem i jego
Bardziej szczegółowoWYMAGANIA EGZAMINACYJNE Egzamin maturalny z INFORMATYKI
WYMAGANIA EGZAMINACYJNE Egzamin maturalny z INFORMATYKI 1. Cele ogólne Podstawowym celem kształcenia informatycznego jest przekazanie wiadomości i ukształtowanie umiejętności w zakresie analizowania i
Bardziej szczegółowo1. Algorytmika. WPROWADZENIE DO ALGORYTMIKI Wprowadzenie do algorytmów. Pojęcie algorytmu.
Wymagania edukacyjne z informatyki poziom rozszerzony w klasie 2 Społecznego Liceum Ogólnokształcącego Splot im. Jana Karskiego w Nowym Sączu 1. Algorytmika TREŚCI NAUCZANIA WPROWADZENIE DO ALGORYTMIKI
Bardziej szczegółowoOkręgowa Komisja Egzaminacyjna w Krakowie 1
Okręgowa Komisja Egzaminacyjna w Krakowie 1 Egzamin maturalny Egzamin maturalny, zastąpi dotychczasowy egzamin dojrzałości, czyli tzw. starą maturę i przeprowadzany będzie: od roku 2005 dla absolwentów
Bardziej szczegółowoZaawansowane algorytmy i struktury danych
Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań praktycznych z egzaminów. Strona 1 z 12 Pytania praktyczne z kolokwium zaliczeniowego z 19 czerwca 2014 (studia dzienne)
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Podstawowe konstrukcje programistyczne Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk (Wydział Fizyki) WP w. II Jesień 2013 1 / 34 Przypomnienie Programowanie imperatywne Program
Bardziej szczegółowoRozdział 4. Algorytmy sortowania 73 Rozdział 5. Typy i struktury danych 89 Rozdział 6. Derekursywacja i optymalizacja algorytmów 147
Spis treści Przedmowa 9 Rozdział 1. Zanim wystartujemy 17 Jak to wcześniej bywało, czyli wyjątki z historii maszyn algorytmicznych 18 Jak to się niedawno odbyło, czyli o tym, kto wymyślił" metodologię
Bardziej szczegółowoPoszukiwanie liniowe wśród liczb naturalnych
Poszukiwanie liniowe wśród liczb naturalnych Wiele problemów, dotyczących liczb naturalnych, można rozwiązać idąc w góręodzera(lubczasemodinnejliczby)isprawdzając,czyjuż. Przykład: (zadane reszty z dzielenia)
Bardziej szczegółowoEfektywna metoda sortowania sortowanie przez scalanie
Efektywna metoda sortowania sortowanie przez scalanie Rekurencja Dla rozwiązania danego problemu, algorytm wywołuje sam siebie przy rozwiązywaniu podobnych podproblemów. Metoda dziel i zwycięŝaj Dzielimy
Bardziej szczegółowoWybrane metody przybliżonego. wyznaczania rozwiązań (pierwiastków) równań nieliniowych
Wykład trzeci 1 Wybrane metody przybliżonego wyznaczania rozwiązań pierwiastków równań nieliniowych 2 Metody rozwiązywania równań nieliniowych = 0 jest unkcją rzeczywistą zmiennej rzeczywistej Rozwiązanie
Bardziej szczegółowoZadania do samodzielnego rozwiązania
Zadania do samodzielnego rozwiązania I. Podzielność liczb całkowitych 1. Pewna liczba sześciocyfrowa a kończy się cyfrą 5. Jeśli tę cyfrę przestawimy na miejsce pierwsze ze strony lewej, to otrzymamy nową
Bardziej szczegółowoPRZEDMIOTOWY SYSTEM OCENIANIA INFORMATYKA.
PRZEDMIOTOWY SYSTEM OCENIANIA INFORMATYKA. KLASA 3e I. Główne założenia PSO Ocenianie uczniów na lekcjach informatyki: spełnia założenia wewnątrzszkolnego systemu oceniania; powinno być systematyczne;
Bardziej szczegółowoMetody numeryczne I Równania nieliniowe
Metody numeryczne I Równania nieliniowe Janusz Szwabiński szwabin@ift.uni.wroc.pl Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/66 Równania nieliniowe 1. Równania nieliniowe z pojedynczym pierwiastkiem
Bardziej szczegółowoProgramowanie Równoległe i Rozproszone. Algorytm Kung a. Algorytm Kung a. Programowanie Równoległe i Rozproszone Wykład 8. Przygotował: Lucjan Stapp
Programowanie Równoległe i Rozproszone Lucjan Stapp Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska (l.stapp@mini.pw.edu.pl) 1/34 PRiR Algorytm Kunga Dany jest odcinek [a,b] i ciągła funkcja
Bardziej szczegółowo1.1. Uzupełnij poniższą tabelę: i wynik(i)
Zadanie 1. Krzysztof, Kamil Wiązka zadań Ciągi rekurencyjne Dana jest następująca funkcja rekurencyjna: funkcja wynik( i ) jeżeli i < 3 zwróć 1 i zakończ; w przeciwnym razie jeżeli i mod 2 = 0 zwróć wynik(i
Bardziej szczegółowo1 Równania nieliniowe
1 Równania nieliniowe 1.1 Postać ogólna równania nieliniowego Często występującym, ważnym problemem obliczeniowym jest numeryczne poszukiwanie rozwiązań równań nieliniowych, np. algebraicznych (wielomiany),
Bardziej szczegółowoStruktury Danych i Złożoność Obliczeniowa
Struktury Danych i Złożoność Obliczeniowa Zajęcia 2 Algorytmy wyszukiwania, sortowania i selekcji Sortowanie bąbelkowe Jedna z prostszych metod sortowania, sortowanie w miejscu? Sortowanie bąbelkowe Pierwsze
Bardziej szczegółowoAlgorytmy przeszukiwania
Algorytmy przeszukiwania Przeszukiwanie liniowe Algorytm stosowany do poszukiwania elementu w zbiorze, o którym nic nie wiemy. Aby mieć pewność, że nie pominęliśmy żadnego elementu zbioru przeszukujemy
Bardziej szczegółowoAlgorytmy. Programowanie Proceduralne 1
Algorytmy Programowanie Proceduralne 1 Przepis Warzenie piwa Brunświckiego Programowanie Proceduralne 2 Przepis Warzenie piwa Brunświckiego składniki (dane wejściowe): woda, słód, itd. wynik: beczka piwa
Bardziej szczegółowoWstęp do informatyki Ćwiczenia. Piotr Fulmański
Wstęp do informatyki Ćwiczenia Piotr Fulmański Piotr Fulmański 1 e-mail 1: fulmanp@math.uni.lodz.pl Wydział Matematyki i Informatyki, Uniwersytet Łódzki Banacha 22, 90-238, Łódź Polska Data ostaniej modyfikacji:
Bardziej szczegółowoRekurencja/rekursja. Iluzja istnienia wielu kopii tego samego algorytmu (aktywacji) Tylko jedna aktywacja jest aktywna w danej chwili
rekurencja 1 Rekurencja/rekursja Alternatywny dla pętli sposób powtarzania pewnych czynności; kolejny etap podzadanie poprzedniego Rekursja może być zamieniona na iteracje Cechy rekurencji Rozłożenie problemu
Bardziej szczegółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Problem Sortowania. Metoda Dziel i zwyciężaj - cd. dr hab. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 5 Bożena Woźna-Szcześniak (AJD) Algorytmy
Bardziej szczegółowo2:8,7 3:9,4 / \ / \ / \ / \ 4:7,3 5:8 6:9,2 7:4
Wykład: Sortowanie III Drzewa Turniejowe 1:9,8 2:8,7 3:9,4 4:7,3 5:8 6:9,2 7:4 8: 3 9:7 12:9 13:2 Insert(x,S) 1) tworzymy dwa nowe liście na ostatnim poziomie, 2) do jednego wstawiamy x a do drugiego wartość
Bardziej szczegółowoWykład 4. Sortowanie
Wykład 4 Sortowanie 1 Sortowanie - zadanie Definicja (dla liczb): wejście: ciąg n liczb A = (a 1, a 2,, a n ) wyjście: permutacja (a 1,, a n ) taka, że a 1 a n Po co sortować? Podstawowy problem dla algorytmiki
Bardziej szczegółowoWykład 2. Poprawność algorytmów
Wykład 2 Poprawność algorytmów 1 Przegląd Ø Poprawność algorytmów Ø Podstawy matematyczne: Przyrost funkcji i notacje asymptotyczne Sumowanie szeregów Indukcja matematyczna 2 Poprawność algorytmów Ø Algorytm
Bardziej szczegółowoProblemy porządkowe zadania
Problemy porządkowe Problemy porządkowe zadania Problemy porządkowe to zbiór różnych zadań obliczeniowych związanych z porządkowaniem zbioru danych i wyszukiwaniem informacji na takim zbiorze. Rodzaje
Bardziej szczegółowoTeraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1.
Teraz bajty. Informatyka dla szkół ponadpodstawowych. Zakres rozszerzony. Część 1. Grażyna Koba MIGRA 2019 Spis treści (propozycja na 2*32 = 64 godziny lekcyjne) Moduł A. Wokół komputera i sieci komputerowych
Bardziej szczegółowoProgramowanie Funkcyjne. Marcin Kubica Świder,
Programowanie Funkcyjne Marcin Kubica Świder, 28-04-2015 Czym jest programowanie funkcyjne? Obliczalne pojęcia matematyczne. Definicje stałych i funkcji i relacji. Wszystkie definicje są konstruktywne,
Bardziej szczegółowoAlgorytmy sortujące 1
Algorytmy sortujące 1 Sortowanie Jeden z najczęściej występujących, rozwiązywanych i stosowanych problemów. Ułożyć elementy listy (przyjmujemy: tablicy) w rosnącym porządku Sortowanie może być oparte na
Bardziej szczegółowoZłożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to
Złożoność obliczeniowa algorytmu ilość zasobów komputera jakiej potrzebuje dany algorytm. Pojęcie to wprowadzili J. Hartmanis i R. Stearns. Najczęściej przez zasób rozumie się czas oraz pamięć dlatego
Bardziej szczegółowoPROSTE RACHUNKI WYKONYWANE ZA POMOCĄ KOMPUTERA
PROSTE RACHUNKI WYKONYWANE ZA POMOCĄ KOMPUTERA WPROWADZENIE DO ALGORYTMIKI Maciej M. Sysło Uniwersytet Wrocławski Uniwersytet UMK w Toruniu syslo@ii.uni.wroc.pl informatyka + 2 Algorytm, algorytmika Algorytm
Bardziej szczegółowoZłożoność algorytmów. Wstęp do Informatyki
Złożoność algorytmów Złożoność pamięciowa - liczba i rozmiar struktur danych wykorzystywanych w algorytmie Złożoność czasowa - liczba operacji elementarnych wykonywanych w trakcie przebiegu algorytmu Złożoność
Bardziej szczegółowoMetody numeryczne. dr Artur Woike. Ćwiczenia nr 2. Rozwiązywanie równań nieliniowych metody połowienia, regula falsi i siecznych.
Ćwiczenia nr 2 metody połowienia, regula falsi i siecznych. Sformułowanie zagadnienia Niech będzie dane równanie postaci f (x) = 0, gdzie f jest pewną funkcją nieliniową (jeżeli f jest liniowa to zagadnienie
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Złożoność obliczeniowa, poprawność programów Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XII Jesień 2013 1 / 20 Złożoność obliczeniowa Problem Ile czasu
Bardziej szczegółowoRekurencja. Przykład. Rozważmy ciąg
Rekurencja Definicje rekurencyjne Definicja: Mówimy, iż ciąg jest zdefiniowany rekurencyjnie, jeżeli: (P) Określony jest pewien skończony zbiór wyrazów tego ciągu, zwykle jest to pierwszy wyraz tego ciągu
Bardziej szczegółowo