Równoleg le sortowanie przez scalanie

Wielkość: px
Rozpocząć pokaz od strony:

Download "Równoleg le sortowanie przez scalanie"

Transkrypt

1 Równoleg le sortowanie przez scalanie Bartosz Zieliński 1 Zadanie Napisanie programu sortuj acego przez scalanie tablicȩ wygenerowanych losowo liczb typu double w którym każda z procedur scalania odbywa siȩ w innym procesie. Tablica do posortowania, jak również pomocnicza tablica (liczb uint), umieszczone s a w dzielonym segmencie pamiȩci. Procesy synchronizuj a swoje dzia lanie przy pomocy semaforów i komunikatów ipc. Podtablice o rozmiarze mniejszym od ustalonego powinny być sortowane przez wybór (najmniejszego elementu) w pojedyńczym procesie, zamiast bycia dalej dzielonymi i scalanymi. Dziȩki dodatkowej tablicy można uczynić z wyjściowej tablicy listȩ jednokierunkow a. Program powinien 1. Wylosować a nastȩpnie wypisać wylosowan a tablicȩ liczb double. 2. Dokonać niezbȩdnych inicjalizacji. 3. Rozwidlić siȩ na tyle procesów ile jest potrzebnych scaleń i sortowań przez wybór. 4. Posortować tablicȩ w możliwie najbardziej równoleg ly sposób. 5. Wypisać na ekranie posortowan a tablicȩ. 6. Pozostawić po sobie porz adek, tzn. żadnych zombi ani nieużywanych obiektów ipc po zakończeniu programu. Program wzorcowy mia l ok. 300 linii. Szczegó ly i wskazówki poniżej. 2 Tablice jako listy jednokierunkowe Zalet a list jest możliwość wstawiania lub usuwania elementów z wnȩtrza listy lokalnie. Gdy chcemy wstawić albo usun ać elementy z wnȩtrza tablicy, tak aby zachować kolejność pozosta lych elementów musimy przesun ać wszystkie pozosta le elementy stoj ace po prawej stronie usuwanego/wstawianego elementu. Jeśli jednak zależy nam na tym 1

2 aby elementy listy przechowywane by ly w pamiȩci dzielonej nie możemy przydzielać im pamiȩci przy pomocy funkcji malloc() zwracaj acej wskaźnik na pocz atek bloku pamiȩci znajduj acej siȩ w niedzielonej stercie. Rozwi azaniem jest przechowywanie wartości które chcemy u lożyć w listȩ w tablicy T elementów typu double w segmencie dzielonym, oraz zastosowanie pomocniczej tablicy (również w segmencie dzielonym) NEXT elementów uint. Aby otrzymać listȩ należy teraz zapisać w tablicy NEXT indeksy elementów w tablicy T, tak by T[NEXT[i]] by l elementem nastȩpuj acym bezpośrednio w otrzymanej liście po elemencie T[i]. Na przyk lad tablice T i NEXT podane w poniższej tabelce: reprezentuj a listȩ i T[i] # NEXT[i] NULL Wartość T[0] jest niewykorzystywana, a NEXT[0] przechowuje indeks g lowy listy. Dziȩki temu, ponieważ pod indeksem 0 nie jest przechowywana żadna wartość (st ad #), można użyć 0 jako NULL, tzn. NEXT[i]==0 oznacza że T[i] jest ostatnim elementem listy. Aby usun ać z listy element nastȩpuj acy po T[i] wystarczy wykonać NEXT[i]=NEXT[NEXT[i]]; Nastȩpuj acy kod wstawia element T[j] za elementem T[i]: NEXT[j]=NEXT[i]; NEXT[i]=j; 3 Sortowanie list przez scalanie Dana jest lista L do posortowania i rozmiar listy poniżej którego powinno siȩ stosować inny algorytm: 1. Podziel listȩ na dwie po lowy. Otrzymujemy dwie listy L1,L2. 2. Jeśli rozmiar L1 jest mniejszy od podanego to sortuj inn a metod a (tutaj: przez wybór). W przeciwnym wypadku sortuj L1 przez scalanie. 3. Jeśli rozmiar L2 jest mniejszy od podanego to sortuj inn a metod a (tutaj: przez wybór). W przeciwnym wypadku sortuj L2 przez scalanie. 4. Scal L1 i L2. Scalanie L1 i L2 do listy L: 2

3 1. Pocz atkowo L jest pusta. 2. Powtarzaj 3-6 dopóki L1 lub L2 jest niepusty. 3. Jeśli L1 pusty to k = 2,w przeciwnym przypadku jeśli L2 pusty lub g lowa(l1) g lowa(l2) to k = 1, a jeśli g lowa(l2) < g lowa(l1) to k = x = wartość w g lowie(lk) 5. Usuń pierwszy element z Lk. 6. Wstaw x na końcu L. Innymi s lowy sortowanie przez scalanie można zilustrować na przyk ladzie sortowania talii kart wed lug wartości: 1. Podziel taliȩ na dwa stosy. 2. Posortuj każdy ze stosów. 3. Po l acz oba stosy, wybieraj ac za każdym razem mniejsz a z kart leż acych na szczytach obu stosów. 4 Sortowanie list przez wybór Dana jest lista L do posortowania, listȩ wynikow a oznaczmy L. 1. List L jest pusta. 2. Znajdź najmniejszy element x w liście L. 3. Usuń x z L. 4. Wstaw x na koniec L. 5. Powtarzaj 2-4 dopóki lista L jest niepusta. 5 Pe lne drzewa binarne Dowolna sekwencja liczb od 1 do n ma naturaln a strukturȩ pe lnego drzewa binarnego. Pe lne drzewo binarne to drzewo binarne w którym wszystkie poziomy (za wyj atkiem być może ostatniego) s a wype lnione. Ostatnia warstwa w drzewie nie musi być pe lna, ale nie może mieć dziur: innymi s lowy jeśli w ostatniej warstwie pojawia siȩ NULL to musi być NULL do końca. Rys. 1 i 2 powinny wyjaśnić niejasności. 3

4 Rys.1 Przyk lad pe lnego drzewa binarnego Rys.2 To nie jest pe lne drzewo binarne. Oczywiście ponumerować można wȩz ly każdego drzewa. Rzecz w tym że w przypadku pe lnego drzewa binarnego, dla wȩz la nr i numery wȩz lów jego rodzica i prawego i lewego dziecka (jeśli istniej a) można otrzymać przy pomocy bardzo prostych wzorów: PARENT(i) = i/2, LEFT(i) = 2i, RIGHT(i) = 2i + 1. (1) Wzory te okaż a sie potrzebne w tym zadaniu ponieważ nasz program bȩdzie rozwidla l siȩ rekurencyjnie tworz ac pe lne drzewo binarne (każdy wȩze l to proces) a do każdego procesu poza korzeniem przypisany bȩdzie semafor. Podobnie do każdego procesu poza procesami z najniższego rzȩdu przypisany bȩdzie typ komunikatu. Zarówno typ komunikatu jak i nr semafora w tablicy to kolejne liczby i bȩdziemy stosować wzory (1) do przypisania semafora i rodzaju komunikatu do procesu. 6 Rozwidlanie i synchronizacja Pocz atkowo kolejność elementów w liście do posortowania pokrywa siȩ z kolejności a elementów w tablicy T, tzn. NEXT[i]=i+1. Jeśli rozmiar tablicy do posortowania wynosi N to proces g lówny rozdziela pocz atkow a listȩ elementów na po lowȩ, wykonuj ac instrukcjȩ NEXT[N/2]=0; 4

5 Mamy teraz dwie listy w podtablicach T[1..N/2] i T[N/2+1..N]. Program g lówny rozwidla siȩ dwukrotnie, a jego dzieci sortuj a podtablice odpowiednio T[1..N/2] i T[N/2+1..N]. Dzieci rozwidlaj a siȩ dalej rekurencyjnie. Rozwidlanie kończy to pokolenie które otrzymuje do posortowania tablicȩ o wymiarze mniejszym od ustalonego wymiaru MIN SIZE. Proces który otrzyma do postortowania podtablicȩ o wymiarze mniejszym od MIN SIZE wykonuje sortowanie przez wstawianie bez dalszego rozwidlania siȩ. Proces który rozwidli l siȩ scala listy posortowane przez jego dzieci. W tym celu dzieci przesy laj a przy pomocy kolejki komunikatów indeksy elementów które stan a siȩ g lowami posortowanych podlist. Pocz atkowo g low a podlisty by l pierwszy element podtablicy, ale o ile nie by l on elementem najmniejszym, po posortowaniu bȩdzie to jakiś inny element. Należy zwrócić uwagȩ na fakt że oba algorytmy: sortowania przez scalanie i przez wybór, buduj a posortowan a listȩ w taki spoób że kolejny element do l aczany jest do wynikowej listy zawsze na końcu i nie zmienia potem swojej pozycji. Z kolei algorytm scalania potrzebuje w każdym kroku tylko pocz atkowych elementów scalanych podlist. St ad jeśli procesy sortuj ace bȩd a sygnalizow ly swoim rodzicom umieszczenie na w laściwym miejscu kolejnego elementu sortowanej podlisty, proces rodzic bȩdzie móg l wykonać scalenie kolejnego elementu bez czekania na zakończenie procesu dzieci. Przypomina to problem producenta i konsumenta. Szczegó ly powinny zostać wyjaśnione przez przyk lad na Rys. 3 i 4. P 2 S T [1..25] T [26..50] P 1 S T [1..50] T [ ] P 3 S T [51..75] T [ ] P 4 S T [1..12] T [13..25] P 5 S T [26..37] T [38..50] P 6 S T [51..62] T [63..75] P 7 S T [76..87] T [ ] P 8 W (T [1..12]) P 9 W (T [13..25]) P 10 W (T [26..37]) P 11 W (T [38..50]) P 12 W (T [51..62]) P 13 W (T [63..75]) P 14 W (T [76..87]) P 15 W (T [ ]) Rys.3 Przyk lad rozwidlenia na procesy sortuj ace gdy ilość elementów do posortowania wynosi N = 100 a rozmiar MIN SIZE poniżej którego stosuje siȩ sortowanie przez wybór to 20. S oznacza scalanie podanych podtablic, W sortowanie podtablicy przez wybór. 5

6 Semafory Typy komuniktów Z każdym procesem poza P 1 zwi azane Z procesami P 1,..., P 7, tzn. z s a semafory S 0,..., S 13, i.e z procesem każdym procesem wykonuj acym sortowanie P i zwi azany jest semafor S i 2. Proces przez scalanie, zwi azany jest P i sygnalizuje semafor S i 2 gdy typ komunikatu. Typem komunikatu umieści na w laściwym miejscu element zwi azanego z procesem P i jest i. sortowanej przez siebie podlisty. Z kolei Używana jest pojedyńcza kolejka komunikatów proces P i jeśli wykonuje sortowanie ipc. Proces P i wysy la do przez scalanie czeka pod semaforami S LEFT(i) 2 lub S RIGHT(i) 2 przed scaleniem kolejki komunikat typu PARENT(i) z informacj a o indeksie g lowy sortowanej kolejnych elementów z list sortowanych przez niego podtablicy, i.e. o indeksie przez procesy P LEFT(i) i P RIGHT(i). najmniejszego elementu w podtabl- icy. Proces PARENT(i) odbiera komunikaty od swoich dzieci, dziȩki czemu może rozpocz ać scalanie. Rys.4 Semafory i kolejki komunikatów w przyk ladzie z Rys. 3. 6

Strategia "dziel i zwyciężaj"

Strategia 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ółowo

Sortowanie. LABORKA Piotr Ciskowski

Sortowanie. LABORKA Piotr Ciskowski Sortowanie LABORKA Piotr Ciskowski main Zaimplementuj metody sortowania przedstawione w następnych zadaniach Dla każdej metody osobna funkcja Nagłówek funkcji wg uznania ale wszystkie razem powinny być

Bardziej szczegółowo

Kolejka priorytetowa. Często rozważa się kolejki priorytetowe, w których poszukuje się elementu minimalnego zamiast maksymalnego.

Kolejka priorytetowa. Często rozważa się kolejki priorytetowe, w których poszukuje się elementu minimalnego zamiast maksymalnego. Kolejki Kolejka priorytetowa Kolejka priorytetowa (ang. priority queue) to struktura danych pozwalająca efektywnie realizować następujące operacje na zbiorze dynamicznym, którego elementy pochodzą z określonego

Bardziej szczegółowo

Rekurencja. 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)! 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ółowo

Niesimpleksowe metody rozwia zywania zadań PL. Seminarium Szkoleniowe Edyta Mrówka

Niesimpleksowe metody rozwia zywania zadań PL. Seminarium Szkoleniowe Edyta Mrówka Niesimpleksowe metody rozwia zywania zadań PL Seminarium Szkoleniowe Metoda Simplex: wady i zalety Algorytm SIMPLEX jest szeroko znany i stosowany do rozwi azywania zadań programowania liniowego w praktyce.

Bardziej szczegółowo

Geometria odwzorowań inżynierskich perspektywa wnȩtrza 06C

Geometria odwzorowań inżynierskich perspektywa wnȩtrza 06C Scriptiones Geometrica Volumen I (2014), No. 6C, 1 8. Geometria odwzorowań inżynierskich perspektywa wnȩtrza 06C Edwin Koźniewski Zak lad Informacji Przestrzennej 1. Perspektywa czo lowa wnȩtrza Rys. 6C-01:

Bardziej szczegółowo

Typy danych. 2. Dane liczbowe 2.1. Liczby całkowite ze znakiem i bez znaku: 32768, -165, ; 2.2. Liczby rzeczywiste stało i zmienno pozycyjne:

Typy danych. 2. Dane liczbowe 2.1. Liczby całkowite ze znakiem i bez znaku: 32768, -165, ; 2.2. Liczby rzeczywiste stało i zmienno pozycyjne: Strona 1 z 17 Typy danych 1. Dane tekstowe rozmaite słowa zapisane w różnych alfabetach: Rozwój metod badawczych pozwala na przesunięcie granicy poznawania otaczającego coraz dalej w głąb materii: 2. Dane

Bardziej szczegółowo

Analiza algorytmów zadania podstawowe

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ółowo

Programowanie w VB Proste algorytmy sortowania

Programowanie 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ółowo

Przyk ladowe Kolokwium z Algorytmów i Struktur Danych (Zad. obu kolokwiach)

Przyk ladowe Kolokwium z Algorytmów i Struktur Danych (Zad. obu kolokwiach) Dr hab. Andreas Zastrow, Prof. UG Sem. Zim. 2017/18 Przyk ladowe Kolokwium z Algorytmów i Struktur Danych (Zad. obu kolokwiach) Dla wszystkich zadań: Proszȩ uzasadnić wszystkie odpowiedzi. Proszȩ albo

Bardziej szczegółowo

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy Wykład 3 Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy Dynamiczne struktury danych Lista jest to liniowo uporządkowany zbiór elementów, z których dowolny element

Bardziej szczegółowo

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 INFORMATYKA W SZKOLE Dr inż. Grażyna KRUPIŃSKA grazyna@fis.agh.edu.pl D-10 pokój 227 Podyplomowe Studia Pedagogiczne Sortowanie Dane wejściowe : trzy liczby w dowolnym porządku Dane wyjściowe: trzy liczby

Bardziej szczegółowo

Laboratorium nr 7 Sortowanie

Laboratorium nr 7 Sortowanie Laboratorium nr 7 Sortowanie 1. Sortowanie bąbelkowe (BbS) 2. Sortowanie przez wstawianie (IS) 3. Sortowanie przez wybieranie (SS) Materiały Wyróżniamy następujące metody sortowania: 1. Przez prostą zamianę

Bardziej szczegółowo

Sortowanie danych. Jolanta Bachan. Podstawy programowania

Sortowanie 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ółowo

Metoda Simplex bez użycia tabel simplex 29 kwietnia 2010

Metoda Simplex bez użycia tabel simplex 29 kwietnia 2010 R. Rȩbowski 1 WPROWADZENIE Metoda Simplex bez użycia tabel simplex 29 kwietnia 2010 1 Wprowadzenie Powszechnie uważa siȩ, że metoda simplex, jako uniwersalny algorytm pozwalaj acyznaleźć rozwi azanie optymalne

Bardziej szczegółowo

Wstęp do programowania

Wstę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ółowo

Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku

Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku Matematyka Dyskretna Andrzej Szepietowski 25 czerwca 2002 roku Rozdział 1 Struktury danych 1.1 Listy, stosy i kolejki Lista to uporz adkowany ci ag elementów. Przykładami list s a wektory lub tablice

Bardziej szczegółowo

Niech X bȩdzie dowolnym zbiorem. Dobry porz adek to relacja P X X (bȩdziemy pisać x y zamiast x, y P ) o w lasnościach:

Niech X bȩdzie dowolnym zbiorem. Dobry porz adek to relacja P X X (bȩdziemy pisać x y zamiast x, y P ) o w lasnościach: Teoria miary WPPT IIr semestr zimowy 2009 Wyk lad 4 Liczby kardynalne, indukcja pozaskończona DOBRY PORZA DEK 14/10/09 Niech X bȩdzie dowolnym zbiorem Dobry porz adek to relacja P X X (bȩdziemy pisać x

Bardziej szczegółowo

Sortowanie przez scalanie

Sortowanie 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ółowo

Sortowanie zewnętrzne

Sortowanie zewnętrzne Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Sortowanie zewnętrzne 1 Wstęp Bardzo często

Bardziej szczegółowo

Wykład 5. Sortowanie w czasie liniowologarytmicznym

Wykł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ółowo

Rozdzia l 2. Najważniejsze typy algebr stosowane w logice

Rozdzia l 2. Najważniejsze typy algebr stosowane w logice Rozdzia l 2. Najważniejsze typy algebr stosowane w logice 1. Algebry Boole a Definicja. Kratȩ dystrybutywn a z zerem i jedynk a, w której dla każdego elementu istnieje jego uzupe lnienie nazywamy algebr

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Stosy, kolejki, drzewa Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. VII Jesień 2013 1 / 25 Listy Lista jest uporządkowanym zbiorem elementów. W Pythonie

Bardziej szczegółowo

Drzewa BST i AVL. Drzewa poszukiwań binarnych (BST)

Drzewa BST i AVL. Drzewa poszukiwań binarnych (BST) Drzewa ST i VL Drzewa poszukiwań binarnych (ST) Drzewo ST to dynamiczna struktura danych (w formie drzewa binarnego), która ma tą właściwość, że dla każdego elementu wszystkie elementy w jego prawym poddrzewie

Bardziej szczegółowo

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA Rekurencja - zdolność podprogramu (procedury) do wywoływania samego (samej) siebie Wieże Hanoi dane wejściowe - trzy kołki i N krążków o różniących się średnicach wynik - sekwencja ruchów przenosząca krążki

Bardziej szczegółowo

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium Nr 4

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium Nr 4 Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Algorytmy i struktury danych Laboratorium Nr 4 Algorytmy sortowania zewnętrznego 1 Wstęp Bardzo często przy rozwiązywaniu praktycznych

Bardziej szczegółowo

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski Algorytmy i struktury danych Wykład 5: Drzewa Dr inż. Paweł Kasprowski pawel@kasprowski.pl Drzewa Struktury przechowywania danych podobne do list ale z innymi zasadami wskazywania następników Szczególny

Bardziej szczegółowo

Algorytmy i Struktury Danych

Algorytmy i Struktury Danych Algorytmy i Struktury Danych Kopce Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych Wykład 11 1 / 69 Plan wykładu

Bardziej szczegółowo

Jeszcze o algorytmach

Jeszcze 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ółowo

Struktury Danych i Złożoność Obliczeniowa

Struktury 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ółowo

Tablice. Monika Wrzosek (IM UG) Podstawy Programowania 96 / 119

Tablice. Monika Wrzosek (IM UG) Podstawy Programowania 96 / 119 Tablice Tablica to struktura danych, która może przechowywać wiele wartości tego samego typu. Na przykład tablica może zawierać: 10 wartości typu int opisujących liczbę studentów przyjętych na kierunek

Bardziej szczegółowo

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce. POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 204/205 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 2 : Drzewa BST c.d., równoważenie

Bardziej szczegółowo

Algorytmy i Struktury Danych.

Algorytmy 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ółowo

Rekurencja. Przykład. Rozważmy ciąg

Rekurencja. 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

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,

Bardziej szczegółowo

Definicja. 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 )

Definicja. 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ółowo

Wykład 1_2 Algorytmy sortowania tablic Sortowanie bąbelkowe

Wykład 1_2 Algorytmy sortowania tablic Sortowanie bąbelkowe I. Struktury sterujące.bezpośrednie następstwo (A,B-czynności) Wykład _2 Algorytmy sortowania tablic Sortowanie bąbelkowe Elementy języka stosowanego do opisu algorytmu Elementy Poziom koncepcji Poziom

Bardziej szczegółowo

MATEMATYKA DYSKRETNA - wyk lad 1 dr inż Krzysztof Bryś. Wprowadzenie

MATEMATYKA DYSKRETNA - wyk lad 1 dr inż Krzysztof Bryś. Wprowadzenie 1 MATEMATYKA DYSKRETNA - wyk lad 1 dr inż Krzysztof Bryś Wprowadzenie Istniej a dwa różne kryteria mówi ace, które narzȩdzia matematyczne należy zaliczyć do matematyki dyskretnej. Pierwsze definiuje matematykȩ

Bardziej szczegółowo

Algorytm selekcji Hoare a. Łukasz Miemus

Algorytm 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ółowo

Paradygmaty programowania. Paradygmaty programowania

Paradygmaty programowania. Paradygmaty programowania Paradygmaty programowania Paradygmaty programowania Dr inż. Andrzej Grosser Cz estochowa, 2013 2 Spis treści 1. Zadanie 2 5 1.1. Wprowadzenie.................................. 5 1.2. Wskazówki do zadania..............................

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych ĆWICZENIE 2 - WYBRANE ZŁOŻONE STRUKTURY DANYCH - (12.3.212) Prowadząca: dr hab. inż. Małgorzata Sterna Informatyka i3, poniedziałek godz. 11:45 Adam Matuszewski, nr 1655 Oliver

Bardziej szczegółowo

Sortowanie. Bartman Jacek Algorytmy i struktury

Sortowanie. Bartman Jacek Algorytmy i struktury Sortowanie Bartman Jacek jbartman@univ.rzeszow.pl Algorytmy i struktury danych Sortowanie przez proste wstawianie przykład 41 56 17 39 88 24 03 72 41 56 17 39 88 24 03 72 17 41 56 39 88 24 03 72 17 39

Bardziej szczegółowo

Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera

Wyk lad 7 Metoda eliminacji Gaussa. Wzory Cramera Wyk lad 7 Metoda eliminacji Gaussa Wzory Cramera Metoda eliminacji Gaussa Metoda eliminacji Gaussa polega na znalezieniu dla danego uk ladu a x + a 2 x 2 + + a n x n = b a 2 x + a 22 x 2 + + a 2n x n =

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Algorytmy zachłanne, algoritme Dijkstry Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XI Jesień 2013 1 / 25 Algorytmy zachłanne Strategia polegająca na

Bardziej szczegółowo

Struktury danych: stos, kolejka, lista, drzewo

Struktury danych: stos, kolejka, lista, drzewo Struktury danych: stos, kolejka, lista, drzewo Wykład: dane w strukturze, funkcje i rodzaje struktur, LIFO, last in first out, kolejka FIFO, first in first out, push, pop, size, empty, głowa, ogon, implementacja

Bardziej szczegółowo

1. Liczby i w zapisie zmiennoprzecinkowym przedstawia się następująco

1. Liczby i w zapisie zmiennoprzecinkowym przedstawia się następująco 1. Liczby 3456.0012 i 0.000076235 w zapisie zmiennoprzecinkowym przedstawia się następująco a) 0.34560012 10 4 i 0.76235 10 4 b) 3.4560012 10 3 i 7.6235 10 5 c) 3.4560012 10 3 i 7.6235 10 5 d) po prostu

Bardziej szczegółowo

WYKŁAD 9. Algorytmy sortowania elementów zbioru (tablic) Programy: c4_1.c... c4_3.c. Tomasz Zieliński

WYKŁAD 9. Algorytmy sortowania elementów zbioru (tablic) Programy: c4_1.c... c4_3.c. Tomasz Zieliński WYKŁAD 9 Algorytmy sortowania elementów zbioru (tablic) Programy: c4_1.c... c4_3.c Tomasz Zieliński /* Przyklad 4.1 - SORTOWANIE TABLIC - metoda najprostsza */ #include #define ROZMIAR 11 void

Bardziej szczegółowo

WYKŁAD 10. Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo. Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5

WYKŁAD 10. Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo. Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5 WYKŁAD 10 Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5 Tomasz Zieliński ZMIENNE O ZŁOŻONEJ BUDOWIE (1) Zmienne

Bardziej szczegółowo

Wyk lad 7: Drzewa decyzyjne dla dużych zbiorów danych

Wyk lad 7: Drzewa decyzyjne dla dużych zbiorów danych Wyk lad 7: Drzewa decyzyjne dla dużych zbiorów danych Funkcja rekurencyjna buduj drzewo(u, dec, T): 1: if (kryterium stopu(u, dec) = true) then 2: T.etykieta = kategoria(u, dec); 3: return; 4: end if 5:

Bardziej szczegółowo

ALGORYTMY I STRUKTURY DANYCH

ALGORYTMY I STRUKTURY DANYCH ALGORYTMY I STRUKTURY DANYCH Temat : Drzewa zrównoważone, sortowanie drzewiaste Wykładowca: dr inż. Zbigniew TARAPATA e-mail: Zbigniew.Tarapata@isi.wat.edu.pl http://www.tarapata.strefa.pl/p_algorytmy_i_struktury_danych/

Bardziej szczegółowo

POCHODNA KIERUNKOWA. DEFINICJA Jeśli istnieje granica lim. to granica ta nazywa siȩ pochodn a kierunkow a funkcji f(m) w kierunku osi l i oznaczamy

POCHODNA KIERUNKOWA. DEFINICJA Jeśli istnieje granica lim. to granica ta nazywa siȩ pochodn a kierunkow a funkcji f(m) w kierunku osi l i oznaczamy POCHODNA KIERUNKOWA Pochodne cz astkowe funkcji f(m) = f(x, y, z) wzglȩdem x, wzglȩdem y i wzglȩdem z wyrażaj a prȩdkość zmiany funkcji w kierunku osi wspó lrzȩdnych; np. f x jest prȩdkości a zmiany funkcji

Bardziej szczegółowo

Po wprowadzeniu zmiennych uzupe lniaj acych otrzymamy równoważny mu problem w postaci kanonicznej:

Po wprowadzeniu zmiennych uzupe lniaj acych otrzymamy równoważny mu problem w postaci kanonicznej: ROZDZIA L Metoda sympleksowa Motto: Matematyka nie może wype lnić życia ale jej nieznajomość już niejednemu je wype lni la H Steinhaus Tablica sympleksowa Rozważmy ZPL w postaci klasycznej maksymalizować

Bardziej szczegółowo

Geometria odwzorowań inżynierskich rzut środkowy 06A

Geometria odwzorowań inżynierskich rzut środkowy 06A Scriptiones Geometrica Volumen I (2014), No. 6A, 1 10. Geometria odwzorowań inżynierskich rzut środkowy 06A Edwin Koźniewski Zak lad Informacji Przestrzennej 1. Rzut środkowy i jego niezmienniki Przyjmijmy

Bardziej szczegółowo

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy) Rok akademicki 2012/2013, Wykład nr 2 2/25 Plan wykładu nr 2 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2012/2013

Bardziej szczegółowo

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie: Rekurencje Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie: T(n) = Θ(1) (dla n = 1) T(n) = 2 T(n/2) + Θ(n) (dla n

Bardziej szczegółowo

Wykład 3. Metoda dziel i zwyciężaj

Wykł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ółowo

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 5b: Model danych oparty na listach http://kiwi.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Słowem wstępu Listy należą do najbardziej

Bardziej szczegółowo

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują

Bardziej szczegółowo

Geometria odwzorowań inżynierskich Zadania 01

Geometria odwzorowań inżynierskich Zadania 01 Scriptiones Geometrica Volumen I (2007), No. Z1, 1 4. Geometria odwzorowań inżynierskich Zadania 01 Edwin Koźniewski Instytut Inżynierii Budowlanej, Politechnika Bia lostocka 1. Twierdzenie o punkcie wȩz

Bardziej szczegółowo

Geometria odwzorowań inżynierskich. 1. Perspektywa odbić w zwierciad lach p laskich 06F

Geometria odwzorowań inżynierskich. 1. Perspektywa odbić w zwierciad lach p laskich 06F Scriptiones Geometrica Volumen I (2014), No. 6F, 1 10. Geometria odwzorowań inżynierskich Perspektywa odbić w zwierciad lach p laskich 06F Edwin Koźniewski Zak lad Informacji Przestrzennej 1. Perspektywa

Bardziej szczegółowo

Drzewa podstawowe poj

Drzewa podstawowe poj Drzewa podstawowe poj ecia drzewo graf reprezentujacy regularna strukture wskaźnikowa, gdzie każdy element zawiera dwa lub wiecej wskaźników (ponumerowanych) do takich samych elementów; wez ly (albo wierzcho

Bardziej szczegółowo

Rozdzia l 3. Relacje binarne

Rozdzia l 3. Relacje binarne Rozdzia l 3. Relacje binarne 1. Para uporz adkowana. Produkt kartezjański dwóch zbiorów Dla pary zbiorów {x, y} zachodzi, jak latwo sprawdzić, równość {x, y} = {y, x}. To znaczy, kolejność wymienienia

Bardziej szczegółowo

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne Algorytmy i struktury danych Wykład VIII Elementarne techniki algorytmiczne Co dziś? Algorytmy zachłanne (greedyalgorithms) 2 Tytułem przypomnienia metoda dziel i zwyciężaj. Problem można podzielić na

Bardziej szczegółowo

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych

Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Algorytmy równoległe: ocena efektywności prostych algorytmów dla systemów wielokomputerowych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2014/15 Znajdowanie maksimum w zbiorze

Bardziej szczegółowo

Rozdzia l 8. Pojȩcie liczby porz adkowej

Rozdzia l 8. Pojȩcie liczby porz adkowej Rozdzia l 8. Pojȩcie liczby porz adkowej 1. Liczby naturalne a liczby porz adkowe Oto cztery pierwsze liczby naturalne zapisane wed lug różnych czterech notacji w porz adku od najmniejszej do najwiȩkszej:,

Bardziej szczegółowo

5040 =

5040 = 1 Podstawowe Twierdzenie Arytmetyki. Twierdzenie 0.1 Każd a liczbȩ naturaln a można przedstawiċ jako iloczyn liczb pierwszych. Taki rozk lad jest jedyny. Inaczej, jeżeli n jest liczb a naturaln a to istniej

Bardziej szczegółowo

Sortowanie. Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania:

Sortowanie. Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania: Sortowanie Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania: podać strukturę danych dla elementów dynamicznego skończonego multi-zbioru S, względem którego są wykonywane następujące

Bardziej szczegółowo

Algorytmy i Struktury Danych, 2. ćwiczenia

Algorytmy 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ółowo

ALGORYTMY I STRUKTURY DANYCH

ALGORYTMY I STRUKTURY DANYCH LGORTM I STRUKTUR DNH Temat 6: Drzewa ST, VL Wykładowca: dr inż. bigniew TRPT e-mail: bigniew.tarapata@isi.wat.edu.pl http://www.tarapata.strefa.pl/p_algorytmy_i_struktury_danych/ Współautorami wykładu

Bardziej szczegółowo

Rozdzia l 10. Najważniejsze normalne logiki modalne

Rozdzia l 10. Najważniejsze normalne logiki modalne Rozdzia l 10. Najważniejsze normalne logiki modalne 1. Logiki modalne normalne Definicja. Inwariantny zbiór formu l X jȩzyka modalnego L = (L,,,,, ) nazywamy logik a modaln a zbazowan a na logice klasycznej

Bardziej szczegółowo

Sterowalność liniowych uk ladów sterowania

Sterowalność liniowych uk ladów sterowania Sterowalność liniowych uk ladów sterowania W zadaniach sterowania docelowego należy przeprowadzić obiekt opisywany za pomoc a równania stanu z zadanego stanu pocz atkowego ẋ(t) = f(x(t), u(t), t), t [t,

Bardziej szczegółowo

Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe

Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe Algorytmy i złożoności Wykład 3. Listy jednokierunkowe Wstęp. Lista jednokierunkowa jest strukturą pozwalającą na pamiętanie danych w postaci uporzadkowanej, a także na bardzo szybkie wstawianie i usuwanie

Bardziej szczegółowo

Następnie zdefiniujemy utworzony szkic jako blok, wybieramy zatem jak poniżej

Następnie zdefiniujemy utworzony szkic jako blok, wybieramy zatem jak poniżej Zadanie 1 Wykorzystanie opcji Blok, Podziel oraz Zmierz Funkcja Blok umożliwia zdefiniowanie dowolnego złożonego elementu rysunkowego jako nowy blok a następnie wykorzystanie go wielokrotnie w tworzonym

Bardziej szczegółowo

Podstawowe algorytmy i ich implementacje w C. Wykład 9

Podstawowe 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ółowo

Podstawowe struktury danych

Podstawowe struktury danych Podstawowe struktury danych 1) Listy Lista to skończony ciąg elementów: q=[x 1, x 2,..., x n ]. Skrajne elementy x 1 i x n nazywamy końcami listy, a wielkość q = n długością (rozmiarem) listy. Szczególnym

Bardziej szczegółowo

Algorytmy sortujące i wyszukujące

Algorytmy 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ółowo

Struktury Danych i Złożoność Obliczeniowa

Struktury Danych i Złożoność Obliczeniowa Struktury Danych i Złożoność Obliczeniowa Zajęcia 1 Podstawowe struktury danych Tablica Najprostsza metoda przechowywania serii danych, zalety: prostota, wady: musimy wiedzieć, ile elementów chcemy przechowywać

Bardziej szczegółowo

Efektywna metoda sortowania sortowanie przez scalanie

Efektywna 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ółowo

176 Wstȩp do statystyki matematycznej = 0, 346. uczelni zdaje wszystkie egzaminy w pierwszym terminie.

176 Wstȩp do statystyki matematycznej = 0, 346. uczelni zdaje wszystkie egzaminy w pierwszym terminie. 176 Wtȩp do tatytyki matematycznej trści wynika że H o : p 1 przeciwko hipotezie H 3 1: p< 1. Aby zweryfikować tȩ 3 hipotezȩ zatujemy tet dla frekwencji. Wtedy z ob 45 1 150 3 1 3 2 3 150 0 346. Tymczaem

Bardziej szczegółowo

Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku

Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku Matematyka Dyskretna Andrzej Szepietowski 25 czerwca 2002 roku Rozdział 1 Rekurencja 11 Wieże Hanoi Rekurencja jest to zdolność podprogramu (procedury lub funkcji) do wywoływania samego siebie Zacznijmy

Bardziej szczegółowo

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania Celem ćwiczenia jest zapoznanie studentów z najprostszą dynamiczną strukturą

Bardziej szczegółowo

0.1 Sposȯb rozk ladu liczb na czynniki pierwsze

0.1 Sposȯb rozk ladu liczb na czynniki pierwsze 1 Temat 5: Liczby pierwsze Zacznijmy od definicji liczb pierwszych Definition 0.1 Liczbȩ naturaln a p > 1 nazywamy liczb a pierwsz a, jeżeli ma dok ladnie dwa dzielniki, to jest liczbȩ 1 i sam a siebie

Bardziej szczegółowo

Python: JPEG. Zadanie. 1. Wczytanie obrazka

Python: JPEG. Zadanie. 1. Wczytanie obrazka Python: JPEG Witajcie! Jest to kolejny z serii tutoriali uczący Pythona, a w przyszłości być może nawet Cythona i Numby Jeśli chcesz nauczyć się nowych, zaawansowanych konstrukcji to spróbuj rozwiązać

Bardziej szczegółowo

System liczbowy binarny.

System liczbowy binarny. 1 System liczbowy binarny. 0.1 Wstȩp Ogȯlna forma systemów pozycyjnych liczbowych ma postać wielomianu α n 1 ρ n 1 + α n 2 ρ n 2 + + α 2 ρ 2 + α 1 ρ + α 0, (1) gdzie liczbȩ naturaln a ρ 2 nazywamy podstaw

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Cel zajęć. Celem zajęć jest zapoznanie się ze sposobem działania popularnych. Wprowadzenie teoretyczne. Rozważana w ramach niniejszych zajęć

Bardziej szczegółowo

Listy, kolejki, stosy

Listy, kolejki, stosy Listy, kolejki, stosy abc Lista O Struktura danych składa się z węzłów, gdzie mamy informacje (dane) i wskaźniki do następnych węzłów. Zajmuje tyle miejsca w pamięci ile mamy węzłów O Gdzie można wykorzystać:

Bardziej szczegółowo

Geometria odwzorowań inżynierskich perspektywa boczna wnȩtrza 06E

Geometria odwzorowań inżynierskich perspektywa boczna wnȩtrza 06E Scriptiones Geometrica Volumen I (2014), No. 6E, 1 14. Geometria odwzorowań inżynierskich perspektywa boczna wnȩtrza 06E Edwin Koźniewski Zak lad Informacji Przestrzennej 1. Perspektywa boczna wnȩtrza

Bardziej szczegółowo

Programowanie generyczne w C++

Programowanie generyczne w C++ Bardzo szablonowa prezentacja Zak lad Metod Obliczeniowych Chemii UJ 1 wrzesnia 2005 1 2 3 4 Co to jest? Przyk lad Zastosowania 5 S lowniczek Plan Programowanie generyczne Polega na mo_zliwosci deniowania

Bardziej szczegółowo

Liczba 2, to jest jedyna najmniejsza liczba parzysta i pierwsza. Oś liczbowa. Liczba 1, to nie jest liczba pierwsza

Liczba 2, to jest jedyna najmniejsza liczba parzysta i pierwsza. Oś liczbowa. Liczba 1, to nie jest liczba pierwsza 1 SZKO LA PODSTAWOWA HELIANTUS 02-892 WARSZAWA ul. BAŻANCIA 16 3 Liczba 2, to jest jedyna najmniejsza liczba parzysta i pierwsza 2 1 0 1 2 3 x Oś liczbowa. Liczba 1, to nie jest liczba pierwsza MATEMATYKA

Bardziej szczegółowo

Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych

Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych Algorytmy równoległe: prezentacja i ocena efektywności prostych algorytmów dla systemów równoległych Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2018/19 Problem: znajdowanie

Bardziej szczegółowo

Wstę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 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ółowo

Definicja pliku kratowego

Definicja pliku kratowego Pliki kratowe Definicja pliku kratowego Plik kratowy (ang grid file) jest strukturą wspierająca realizację zapytań wielowymiarowych Uporządkowanie rekordów, zawierających dane wielowymiarowe w pliku kratowym,

Bardziej szczegółowo

Laboratoria nr 1. Sortowanie

Laboratoria 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ółowo

Teoria miary WPPT IIr. semestr zimowy 2009 Wyk lady 6 i 7. Mierzalność w sensie Carathéodory ego Miara Lebesgue a na prostej

Teoria miary WPPT IIr. semestr zimowy 2009 Wyk lady 6 i 7. Mierzalność w sensie Carathéodory ego Miara Lebesgue a na prostej Teoria miary WPPT IIr. semestr zimowy 2009 Wyk lady 6 i 7. Mierzalność w sensie Carathéodory ego Miara Lebesgue a na prostej 27-28/10/09 ZBIORY MIERZALNE WZGLȨDEM MIARY ZEWNȨTRZNEJ Niech µ bȩdzie miar

Bardziej szczegółowo

Wykład 6_1 Abstrakcyjne typy danych stos Realizacja tablicowa i za pomocą rekurencyjnych typów danych

Wykład 6_1 Abstrakcyjne typy danych stos Realizacja tablicowa i za pomocą rekurencyjnych typów danych Wykład 6_ Abstrakcyjne typy danych stos Realizacja tablicowa i za pomocą rekurencyjnych typów danych Abstrakcyjny typ danych Klient korzystający z abstrakcyjnego typu danych: o ma do dyspozycji jedynie

Bardziej szczegółowo

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10. ZAMIANA LICZB MIĘDZY SYSTEMAMI DWÓJKOWYM I DZIESIĘTNYM Aby zamienić liczbę z systemu dwójkowego (binarnego) na dziesiętny (decymalny) należy najpierw przypomnieć sobie jak są tworzone liczby w ww systemach

Bardziej szczegółowo

Matematyka dyskretna Arytmetyka

Matematyka dyskretna Arytmetyka Matematyka dyskretna Arytmetyka Andrzej Szepietowski 1 System dziesiȩtny Najpowszechniej używanym sposobem przedstawiania liczb naturalnych jest system dziesiȩtny, gdzie na przyk lad zapis: 178 przedstawia

Bardziej szczegółowo

Laboratoria nr 1. Sortowanie

Laboratoria 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ółowo

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew 1. ( pkt) Dany jest algorytm, który dla dowolnej liczby naturalnej n, powinien wyznaczyd sumę kolejnych liczb naturalnych mniejszych od n. Wynik algorytmu jest zapisany w zmiennej suma. Algorytm i=1; suma=0;

Bardziej szczegółowo