.! $ Stos jest list z trzema operacjami: dodawanie elementów na wierzch stosu, zdejmowanie elementu z wierzchu stosu, sprawdzanie czy stos jest pusty.
|
|
- Julian Jóźwiak
- 7 lat temu
- Przeglądów:
Transkrypt
1 !"! " #$%& '()#$$ &%$! #$ %$ &%$& &$&! %&'" )$$! *$$&%$! +,- +-.! $ Celem wiczenia jest zapoznanie studenta ze strukturami: lista, stos, drzewo oraz ich implementacja w jzyku ANSI C. Zrozumienie działania tych struktur pozwoli na napisanie programu kalkulatora liczcego w odwrotnej notacji polskiej. /! $'()# Lista to uporzdkowany cig elementów. Przykładami list s wektory lub tablice jednowymiarowe. W wektorach mamy dostp do dowolnego elementu, poprzez podanie indeksu tego elementu. Stos jest list z trzema operacjami: dodawanie elementów na wierzch stosu, zdejmowanie elementu z wierzchu stosu, sprawdzanie czy stos jest pusty. Na stosie dodajemy i odejmujemy elementy z samego koca. Taka organizacja obsługi listy okrelana jest LIFO (ang. last in first out ostatni wszedł, pierwszy wyjdzie). opracowała: mgr in. Izabela Skorupska 1
2 Struktura reprezentujca element stosu: struct stos char element; struct stos *wskaznik; ; struct stos *wskaznik; Deklaracja elementów stosu: struct stos *nowy, *stary; Procedura realizujca dodawanie elementów na stos: void na_stos(char znak) stary=nowy; nowy= malloc (sizeof(struct stos)); nowy->element=znak; nowy->wskaznik=stary; Procedura realizujca zdejmowanie elementów ze stosu: void ze_stosu(struct stos *wskaz_element) if (wskaz_element!=null) stary=wskaz_element->wskaznik; //printf("usunieto %c ", wskaz_element->element); free(wskaz_element); nowy=stary; Procedura usuwajca wszystkie elementy ze stosu: void oczysc_stos(void) stary=nowy; while (stary!=null) ze_stosu(stary); printf("\nstos oczyszczony."); Procedura drukujca zawarto stosu: void pokaz_stos(void) printf("zawartosc stosu \n"); stary=nowy; while (stary!=null) printf(" %c ", stary->element); stary=stary->wskaznik; Drzewo jest hierarchiczn struktur danych. Pierwszy element drzewa, zwany korzeniem jest wyróniony. Inne elementy s jego potomstwem lub potomstwem jego potomstwa itd. Elementy opracowała: mgr in. Izabela Skorupska 2
3 drzewa nazywa si wierzchołkami lub wzłami. Licie to wierzchołki nie majce potomstwa. Drzewa czsto przedstawia si w formie grafu, gdzie kady wierzchołek jest połczony krawdzi ze swoim ojcem i ze swoimi dziemi (swoim potomstwem). Dla kadego elementu w drzewie istnieje dokładnie jedna cieka prowadzca od korzenia do tego wierzchołka. Drzewa binarne to takie drzewa, w których kady wierzchołek ma co najwyej dwóch potomków. Struktura reprezentujca drzewo binarne: struct drzewo char element; struct drzewo *prawy; struct drzewo *lewy; ; Drzewa mog by zrównowaone i niezrównowaone. Drzewo jest zrównowaone, gdy rónica wysokoci obu poddrzew kadego wzła w drzewie wynosi 0 lub 1. Szczególnym przypadkiem drzewa niezrównowaonego jest stos.! ($$ Obliczenia arytmetyczne moemy zapisywa w notacji infiksowej, prefiksowej (notacja polska) lub postfiksowej (odwrotna notacja polska). Jeli dodawanie dwóch liczb a i b zapiszemy w postaci: a + b to mamy do czynienia z notacj infiksow, gdy nazwa funkcji została umieszczona pomidzy argumentami. W notacji prefiksowej działanie przybiera posta: + a b natomiast odwrotna notacja polska zostala przedstawiona przez polskiego logika J. Łukasiewicza i działanie opisujemy cigiem: a b + Odwrotna notacja polska jest stosowana w nowoczesnych kalkulatorach naukowych, gdy nie trzeba w niej uywa nawiasów i nie sprawia kłopotów przy wprowadzaniu wielu argumentów. Konwersja bardziej skomplikowanych wyrae przedstawionych w notacji infiksowej do postaci postfiksowej jest kłopotliwa zwłaszcza wtedy, gdy wyraenie oryginalne zawiera wiele zagniedonych nawiasów. 0! '%1$$, ()*)+,! Dla kolejnych zapisów wyraenia: opracowała: mgr in. Izabela Skorupska 3
4 jeeli element jest stał lub zmienn, to wkładamy jego warto na stos, jeeli element jest znakiem operacji, to: o zdejmujemy dwie wartoci z wierzchu stosu, o wykonujemy operacj na tych wartociach, o obliczon warto wkładamy na wierzch stosu, po przejciu całego wyraenia jego warto znajduje si na stosie. Przykład 1: Dany jest cig w notacji postfiksowej: a b c + * d e / + naley zamieni go w cig zapisany w notacji infiksowej: Krok 1. Kładziemy elementy a b c na stos Krok 2. Wykonujemy działanie + Krok 3. Wykonujemy działanie * Krok 4. Kładziemy elementy d e na stos Krok 5. Wykonujemy działanie / Krok 6. Wykonujemy działanie + Krok 1 Krok 2 Krok 3 Krok 4 Krok 5 Krok 6 c c+b (c+b)*a e e/d e/d+(c+b)*a b a d (c+d)*a a (c+d)*a W wyniku działania algorytmu otrzymamy wyraenie: e/d+(c+b)*a ()-)+, Dla kolejnych zapisów wyraenia, czytajc od koca wyraenia: pierwszy element stanowi wierzchołek drzewa, kolejny element stanowi jego prawego potomka, jeeli wstawiany element jest: o znakiem naley powtórzy operacj 2, o cyfr lub liter, naley wróci do najbliszego wierzchołka i sprawdzi czy ma on ju lewego potomka: jeli nie ma naley go utworzy i powtórzy operacje: 2 i 3, jeli ma wróci do najbliszego wierzchołka nie posiadajcego dwóch potomków i powtórzy operacje: 2 i 3. opracowała: mgr in. Izabela Skorupska 4
5 Wszystkie operacje wykonujemy do momentu wyczerpania elementów. Przykład 2: Obliczy warto wyraenia: * (metod stosu) Postpujemy zgodnie z opisanym algorytmem: Krok 1 Krok 2 Krok 3 Krok 4 Krok 5 Krok 6 2+3=5 5*4=20 5-1=4 4+20= Przykład 3: Cig: a b c + * d e / + za pomoc drzewa naley zamieni w cig zapisany w notacji infiksowej: Krok 1. Operator + stanowi korze drzewa, / jego prawego potomka. Poniewa / nie jest cyfr ani liter, staje si wierzchołkiem nowej gałzi. Jego prawym liciem bdzie e, które jest liter i nie moe mie swojego potomka. Naley wróci do najbliszego wierzchołka ( / ) i sprawdzi, czy ma on lewego potomka. W realizowanym przykładzie: / go nie ma, wic bdzie nim d. Ten element nie moe by wierzchołkiem nowej gałzi, dlatego szukamy najbliszego wierzchołka, który nie posiada jeszcze dwóch potomków. Warunek ten spełnia korze drzewa. Krok 2. Tworzymy lewego potomka wierzchołka +. Kolejny element cigu stanowi znak opeacji *, zatem moe by on nowym wierzchołkiem. Krok 3. Postpujemy analogicznie jak w kroku 1. Elementy: +, c, b bd stanowiły jego poddrzewo. opracowała: mgr in. Izabela Skorupska 5
6 Krok 4. Analogicznie jak w kroku 2. Tak zbudowane drzewo bdzie miało posta: Odczytywanie i obliczanie wartoci wyraenia rozpoczynamy od najniszego poziomu (poddrzewa) lewego potomka (od strony prawej do lewej) i wdrujemy ku górze a do wierzchołka, nastpnie powtarzamy operacj dla prawego potomka. Odczytane wyraenie bdzie miało posta: (c+b)*a+(e/d) Przykład 4: Obliczy warto wyraenia: * (metod drzewa) Tworzymy drzewo: Odczytujemy poszczególne składowe wyniku: opracowała: mgr in. Izabela Skorupska 6
7 2! 3$ Zadanie polega na napisaniu: programu kalkulator.c liczcego warto wyraenia podanego w odwrotnej notacji polskiej (notacji postfiksowej). Załoenia programu kalkulator: program przyjmuje tylko cyfry: 0..9 oraz symbole operacji: * / + - próba wprowadzenia innej wartoci oraz dzielenia przez zero powinna spowodowa wywietlenie odpowiedniego komunikatu i przerwanie operacji liczenia. q oznacza wyjcie z programu dozwolone s dwa sposoby wykonywania oblicze: o za pomoc stosu, o za pomoc drzewa. 4! * Przykładowe uruchomienie programu kalkulator: Wprowadz liczby: Wynik operacji: 4 Wprowadz liczby 1 a + a nie jest cyfra ani znakiem operacji. Wprowadz liczby: / Dzielenie przez 0. Wprowadz liczby: q Wyjscie z programu 5! )$ Sprawozdanie powinno zawiera nastpujce elementy: schemat blokowy działania programu, skomentowany plik ródłowy, plik makefile do kompilacji programu, w przypadku wykonywania oblicze na drzewie dokładny opis utworzonej struktury oraz funkcji, wnioski i uwagi. opracowała: mgr in. Izabela Skorupska 7
8 UWAGA: Program liczcy oparty o operacje wykonywane na drzewie bdzie wyej punktowany ni program wykorzystujcy obliczenia na stosie. 5! 6 1. A. Drozdek, D. L. Simon Struktury danych w jzyku C, WNT opracowała: mgr in. Izabela Skorupska 8
Odwrotna Notacja Polska
Odwrotna Notacja Polska Odwrotna Notacja Polska w skrócie ONP) jest sposobem zapisu wyrażeń arytmetycznych. Znak wykonywanej operacji umieszczany jest po operandach, argumentach tzw. zapis postfiksowy).
Bardziej szczegółowoTemat: Liniowe uporzdkowane struktury danych: stos, kolejka. Specyfikacja, przykładowe implementacje i zastosowania. Struktura słownika.
Temat: Liniowe uporzdkowane struktury danych: stos, kolejka. Specyfikacja, przykładowe implementacje i zastosowania. Struktura słownika. 1. Pojcie struktury danych Nieformalnie Struktura danych (ang. data
Bardziej szczegółowoDynamiczny 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ółowoMatematyka 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ółowoWykład X. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2016 Janusz Słupik
Wykład X Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2016 c Copyright 2016 Janusz Słupik Drzewa binarne Drzewa binarne Drzewo binarne - to drzewo (graf spójny bez cykli) z korzeniem (wyróżnionym
Bardziej szczegółowoWstę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ółowoProces tworzenia programu:
Temat 1 Pojcia: algorytm, program, kompilacja i wykonanie programu. Proste typy danych i deklaracja zmiennych typu prostego. Instrukcja przypisania. Operacje wejcia/wyjcia. Przykłady prostych programów
Bardziej szczegółowoMetody Kompilacji Wykład 3
Metody Kompilacji Wykład 3 odbywa się poprzez dołączenie zasad(reguł) lub fragmentów kodu do produkcji w gramatyce. Włodzimierz Bielecki WI ZUT 2 Na przykład, dla produkcji expr -> expr 1 + term możemy
Bardziej szczegółowoAbstrakcyjne struktury danych w praktyce
Abstrakcyjne struktury danych w praktyce Wykład 13 7.4 notacja polska A.Szepietowski Matematyka dyskretna rozdział.8 stos kompilacja rozłączna szablony funkcji Przypomnienie Drzewo binarne wyrażenia arytmetycznego
Bardziej szczegółowoAlgorytmy 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ółowo1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza
165 1) Grafy eulerowskie własnoci algorytmy 2) Problem chiskiego listonosza 166 Grafy eulerowskie Def. Graf (multigraf, niekoniecznie spójny) jest grafem eulerowskim, jeli zawiera cykl zawierajcy wszystkie
Bardziej szczegółowoPodstawy 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ółowoProjektowanie algorytmów rekurencyjnych
C9 Projektowanie algorytmów rekurencyjnych wiczenie 1. Przeanalizowa działanie poniszego algorytmu dla parametru wejciowego n = 4 (rysunek 9.1): n i i
Bardziej szczegółowoStruktury 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ółowoSamodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =
Systemy liczbowe Dla każdej liczby naturalnej x Î N oraz liczby naturalnej p >= 2 istnieją jednoznacznie wyznaczone: liczba n Î N oraz ciąg cyfr c 0, c 1,..., c n-1 (gdzie ck Î {0, 1,..., p - 1}) taki,
Bardziej szczegółowoWYKŁ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ółowoNotacja RPN. 28 kwietnia wyliczanie i transformacja wyrażeń. Opis został przygotowany przez: Bogdana Kreczmera.
1 wyliczanie i transformacja wyrażeń (wersja skrócona) Opis został przygotowany przez: Bogdana Kreczmera 28 kwietnia 2002 Strona 1 z 68 Zakład Podstaw Cybernetyki i Robotyki - trochę historii...............
Bardziej szczegółowoProgramowanie i struktury danych 1 / 44
Programowanie i struktury danych 1 / 44 Lista dwukierunkowa Lista dwukierunkowa to liniowa struktura danych skªadaj ca si z ci gu elementów, z których ka»dy pami ta swojego nast pnika i poprzednika. Operacje
Bardziej szczegółowoE S - uniwersum struktury stosu
Temat: Struktura stosu i kolejki Struktura danych to system relacyjny r I r i i I U,, gdzie U to uniwersum systemu, a i i - zbiór relacji (operacji na strukturze danych). Uniwersum systemu to zbiór typów
Bardziej szczegółowoTemat: Problem najkrótszych cieek w grafach waonych, cz. I: Algorytmy typu label - setting.
Temat: Problem najkrótszych cieek w grafach waonych, cz. I: Algorytmy typu label - setting.. Oznaczenia i załoenia Oznaczenia G = - graf skierowany z funkcj wagi s wierzchołek ródłowy t wierzchołek
Bardziej szczegółowodr inż. Paweł Myszkowski Wykład nr 11 ( )
dr inż. Paweł Myszkowski Politechnika Białostocka Wydział Elektryczny Elektronika i Telekomunikacja, semestr II, studia stacjonarne I stopnia Rok akademicki 2015/2016 Wykład nr 11 (11.05.2016) Plan prezentacji:
Bardziej szczegółowoTemat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe.
Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe. Oznaczenia G = V, E - graf bez wag, gdzie V - zbiór wierzchołków, E- zbiór krawdzi V = n - liczba wierzchołków grafu G E = m
Bardziej szczegółowoAlgorytmy zwiazane z gramatykami bezkontekstowymi
Algorytmy zwiazane z gramatykami bezkontekstowymi Rozpoznawanie j zyków bezkontekstowych Problem rozpoznawania j zyka L polega na sprawdzaniu przynale»no±ci sªowa wej±ciowego x do L. Zakªadamy,»e j zyk
Bardziej szczegółowoZakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska
1 Przykład wyliczania wyrażeń arytmetycznych Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Copyright
Bardziej szczegółowoWstp. Warto przepływu to
177 Maksymalny przepływ Załoenia: sie przepływow (np. przepływ cieczy, prdu, danych w sieci itp.) bdziemy modelowa za pomoc grafów skierowanych łuki grafu odpowiadaj kanałom wierzchołki to miejsca połcze
Bardziej szczegółowoWprowadzenie do kompilatorów
Wprowadzenie do kompilatorów Czy ja kiedykolwiek napisz jaki kompilator? Jakie zadania ma do wykonania kompilator? Czy jzyk formalny to rodzaj jzyka programowania? Co to jest UML?, Czy ja kiedykolwiek
Bardziej szczegółowoBash i algorytmy. Elwira Wachowicz. 20 lutego
Bash i algorytmy Elwira Wachowicz elwira@ifd.uni.wroc.pl 20 lutego 2012 Elwira Wachowicz (elwira@ifd.uni.wroc.pl) Bash i algorytmy 20 lutego 2012 1 / 16 Inne przydatne polecenia Polecenie Dziaªanie Przykªad
Bardziej szczegółowoPodstawy Informatyki. Wykład 6. Struktury danych
Podstawy Informatyki Wykład 6 Struktury danych Stałe i zmienne Podstawowymi obiektami występującymi w programie są stałe i zmienne. Ich znaczenie jest takie samo jak w matematyce. Stałe i zmienne muszą
Bardziej szczegółowoSzukanie najkrótszych dróg z jednym ródłem
Szukanie najkrótszych dróg z jednym ródłem Algorytm Dijkstry Załoenia: dany jest spójny graf prosty G z wagami na krawdziach waga w(e) dla kadej krawdzi e jest nieujemna dany jest wyróniony wierzchołek
Bardziej szczegółowoDrzewa 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ółowoPrzypomnij sobie krótki wstęp do teorii grafów przedstawiony na początku semestru.
Spis treści 1 Drzewa 1.1 Drzewa binarne 1.1.1 Zadanie 1.1.2 Drzewo BST (Binary Search Tree) 1.1.2.1 Zadanie 1 1.1.2.2 Zadanie 2 1.1.2.3 Zadanie 3 1.1.2.4 Usuwanie węzła w drzewie BST 1.1.2.5 Zadanie 4
Bardziej szczegółowowstęp do informatyki i programowania część testowa (25 pyt. / 60 min.)
egzamin podstawowy 7 lutego 2017 r. wstęp do informatyki i programowania część testowa (25 pyt. / 60 min.) Instytut Informatyki Uniwersytetu Wrocławskiego Paweł Rzechonek imię, nazwisko i nr indeksu:..............................................................
Bardziej szczegółowoPodstawy informatyki 2
Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne Rok akademicki 2006/2007 Wykład nr 2 (07.03.2007) Wykład nr 2 2/46 Plan wykładu nr 2 Argumenty funkcji main
Bardziej szczegółowoListy, 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ółowoPodstawy informatyki 2. Podstawy informatyki 2. Wykład nr 2 ( ) Plan wykładu nr 2. Politechnika Białostocka. - Wydział Elektryczny
Wykład nr 2 2/6 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia stacjonarne Rok akademicki 2006/2007 Plan wykładu nr 2 Argumenty funkcji main Dynamiczne struktury danych
Bardziej szczegółowoSposoby przekazywania parametrów w metodach.
Temat: Definiowanie i wywoływanie metod. Zmienne lokalne w metodach. Sposoby przekazywania parametrów w metodach. Pojcia klasy i obiektu wprowadzenie. 1. Definiowanie i wywoływanie metod W dotychczas omawianych
Bardziej szczegółowoZadania z kolokwiów ze Wst pu do Informatyki. Semestr II.
Zadania z kolokwiów ze Wst pu do Informatyki. Semestr II. Poni»sze zadania s wyborem zada«z kolokwiów ze Wst pu do Informatyki jakie przeprowadziªem w ci gu ostatnich lat. Marek Zawadowski Zadanie 1 Napisz
Bardziej szczegółowoAbstrakcyjne struktury danych - stos, lista, drzewo
Sprawozdanie Podstawy Informatyki Laboratoria Abstrakcyjne struktury danych - stos, lista, drzewo Maciej Tarkowski maciek@akom.pl grupa VII 1/8 1. Stos Stos (ang. Stack) jest podstawową liniową strukturą
Bardziej szczegółowoUNIWERSYTET GDAŃSKI MATERIAŁY DYDAKTYCZNE DO PRZEDMIOTU MATEMATYKA DYSKRETNA. pod redakcją: Hanna Furmańczyk Karol Horodecki Paweł Żyliński
UNIWERSYTET GDAŃSKI MATERIAŁY DYDAKTYCZNE DO PRZEDMIOTU MATEMATYKA DYSKRETNA pod redakcją: Hanna Furmańczyk Karol Horodecki Paweł Żyliński kierunek: Informatyka GDAŃSK 2019 Niniejsze materiały powstały
Bardziej szczegółowoLABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem
Bardziej szczegółowoODPOWIEDZI I SCHEMAT PUNKTOWANIA ZESTAW NR 2 POZIOM PODSTAWOWY. 1. x y x y
Nr zadania Nr czynnoci Przykadowy zestaw zada nr z matematyki ODPOWIEDZI I SCHEMAT PUNKTOWANIA ZESTAW NR POZIOM PODSTAWOWY Etapy rozwizania zadania. Podanie dziedziny funkcji f: 6, 8.. Podanie wszystkich
Bardziej szczegółowoPlanowanie adresacji IP dla przedsibiorstwa.
Planowanie adresacji IP dla przedsibiorstwa. Wstp Przy podejciu do planowania adresacji IP moemy spotka si z 2 głównymi przypadkami: planowanie za pomoc adresów sieci prywatnej przypadek, w którym jeeli
Bardziej szczegółowoSYSTEMY LICZBOWE 275,538 =
SYSTEMY LICZBOWE 1. Systemy liczbowe Najpopularniejszym systemem liczenia jest system dziesiętny, który doskonale sprawdza się w życiu codziennym. Jednak jego praktyczna realizacja w elektronice cyfrowej
Bardziej szczegółowowhile(wyrażenie) instrukcja
emat zajęć: Operatory i instrukcje w języku C - 2 Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (instrukcja cyklu: while) Do wykonywania cyklicznych obliczeń w języku C stosuje się instrukcje cyklu (pętli).
Bardziej szczegółowoWskaźniki. Przemysław Gawroński D-10, p marca Wykład 2. (Wykład 2) Wskaźniki 8 marca / 17
Wskaźniki Przemysław Gawroński D-10, p. 234 Wykład 2 8 marca 2019 (Wykład 2) Wskaźniki 8 marca 2019 1 / 17 Outline 1 Wskaźniki 2 Tablice a wskaźniki 3 Dynamiczna alokacja pamięci (Wykład 2) Wskaźniki 8
Bardziej szczegółowoTemat: Problem minimalnego drzewa Steinera. Definicja problemu. Zastosowania. Algorytm dokładny Hakimi. Algorytmy aproksymacyjne.
Temat: Problem minimalnego drzewa Steinera. Definicja problemu. Zastosowania. Algorytm dokładny Hakimi. Algorytmy aproksymacyjne. 1. Definicja problemu Wejcie: Graf spójny niezorientowany G =
Bardziej szczegółowoZASADY 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ółowoIV Powiatowy Konkurs Matematyka, Fizyka i Informatyka w Technice Etap finałowy 1 kwietnia 2016
IV Powiatowy Konkurs Matematyka, Fizyka i Informatyka w Technice Etap finałowy 1 kwietnia 2016 (imi i nazwisko uczestnika) (nazwa szkoły) Arkusz zawiera 8 zada. Zadania 1 i 2 bd oceniane dla kadego uczestnika,
Bardziej szczegółowoObliczenia na stosie. Wykład 9. Obliczenia na stosie. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 266 / 303
Wykład 9 J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 266 / 303 stos i operacje na stosie odwrotna notacja polska języki oparte na ONP przykłady programów J. Cichoń, P. Kobylański Wstęp
Bardziej szczegółowoDrzewa poszukiwań binarnych
1 Cel ćwiczenia Algorytmy i struktury danych Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet ielonogórski Drzewa poszukiwań binarnych Ćwiczenie
Bardziej szczegółowoWprowadzenie do algorytmów. START
1 / 15 ALGORYMIKA 2 / 15 ALGORYMIKA Wprowadzenie do algorytmów. SAR 1. Podstawowe okrelenia. Algorytmika dział informatyki, zajmujcy si rónymi aspektami tworzenia i analizowania algorytmów. we: a,b,c delta:=b
Bardziej szczegółowoDynamiczne struktury danych
Dynamiczne struktury danych 391 Dynamiczne struktury danych Przez dynamiczne struktury danych rozumiemy proste i złożone struktury danych, którym pamięć jest przydzielana i zwalniana na żądanie w trakcie
Bardziej szczegółowoGramatyki regularne i automaty skoczone
Gramatyki regularne i automaty skoczone Alfabet, jzyk, gramatyka - podstawowe pojcia Co to jest gramatyka regularna, co to jest automat skoczony? Gramatyka regularna Gramatyka bezkontekstowa Translacja
Bardziej szczegółowoZadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5.
Zadanie 1. Zmiana systemów. Zadanie 2. Szyfr Cezara. Zadanie 3. Czy liczba jest doskonała. Zadanie 4. Rozkład liczby na czynniki pierwsze Zadanie 5. Schemat Hornera. Wyjaśnienie: Zadanie 1. Pozycyjne reprezentacje
Bardziej szczegółowoWstęp do informatyki- wykład 2
MATEMATYKA 1 Wstęp do informatyki- wykład 2 Systemy liczbowe 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 Jerzy
Bardziej szczegółowoBazy danych. Plan wykładu. Metody organizacji pliku rekordów. Pojcie indeksu. Wykład 11: Indeksy. Pojcie indeksu - rodzaje indeksów
Plan wykładu Bazy Wykład 11: Indeksy Pojcie indeksu - rodzaje indeksów Metody implementacji indeksów struktury statyczne struktury dynamiczne Małgorzata Krtowska Katedra Oprogramowania e-mail: mmac@ii.pb.bialystok.pl
Bardziej szczegółowoSYSTEMY LICZBOWE. Zapis w systemie dziesiętnym
SYSTEMY LICZBOWE 1. Systemy liczbowe Najpopularniejszym systemem liczenia jest system dziesiętny, który doskonale sprawdza się w życiu codziennym. Jednak jego praktyczna realizacja w elektronice cyfrowej
Bardziej szczegółowoOperatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1
Operatory Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1 Przypomnienie: operatory Operator przypisania = przypisanie x = y x y Operatory arytmetyczne
Bardziej szczegółowoWYŻ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ółowoProgramowanie wspóªbie»ne
1 Zadanie 1: Bar Programowanie wspóªbie»ne wiczenia 6 monitory cz. 2 Napisz monitor Bar synchronizuj cy prac barmana obsªuguj cego klientów przy kolistym barze z N stoªkami. Ka»dy klient realizuje nast
Bardziej szczegółowoAlgorytmy 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ółowoUniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium 7. 2 Drzewa poszukiwań binarnych
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Algorytmy i struktury danych Laboratorium Drzewa poszukiwań binarnych 1 Cel ćwiczenia Ćwiczenie ma na celu zapoznanie studentów
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ółowoWykład 2. Drzewa zbalansowane AVL i 2-3-4
Wykład Drzewa zbalansowane AVL i -3-4 Drzewa AVL Wprowadzenie Drzewa AVL Definicja drzewa AVL Operacje wstawiania i usuwania Złożoność obliczeniowa Drzewa -3-4 Definicja drzewa -3-4 Operacje wstawiania
Bardziej szczegółowoTadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski
: idea Indeksowanie: Drzewo decyzyjne, przeszukiwania binarnego: F = {5, 7, 10, 12, 13, 15, 17, 30, 34, 35, 37, 40, 45, 50, 60} 30 12 40 7 15 35 50 Tadeusz Pankowski www.put.poznan.pl/~tadeusz.pankowski
Bardziej szczegółowoWykłady z Matematyki Dyskretnej
Wykłady z Matematyki Dyskretnej dla kierunku Informatyka dr Instytut Informatyki Politechnika Krakowska Wykłady na bazie materiałów: dra hab. Andrzeja Karafiata dr hab. Joanny Kołodziej, prof. PK Grafy
Bardziej szczegółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowoDrzewa czerwono-czarne.
Binboy at Sphere http://binboy.sphere.p l Drzewa czerwono-czarne. Autor: Jacek Zacharek Wstęp. Pojęcie drzewa czerwono-czarnego (red-black tree) zapoczątkował Rudolf Bayer w książce z 1972 r. pt. Symmetric
Bardziej szczegółowoTemat: Struktury do przechowywania danych w pamici zewntrznej. B - drzewa. B * - drzewa. B + - drzewa.
Temat: Struktury do przechowywania danych w pamici zewntrznej. B - drzewa. B * - drzewa. B + - drzewa. Podstawow jednostk w operacjach wejcia - wyjcia zwizanych z dyskiem (pamici zewntrzn) jest blok. czas
Bardziej szczegółowoMatematyka Dyskretna. Andrzej Szepietowski. 25 marca 2004 roku
Matematyka Dyskretna Andrzej Szepietowski 25 marca 2004 roku Rozdział 1 Stosy, kolejki i drzewa 1.1 Listy Lista to uporządkowany ciąg elementów. Przykładami list są tablice jednowymiarowe. W tablicach
Bardziej szczegółowoListy i operacje pytania
Listy i operacje pytania Iwona Polak iwona.polak@us.edu.pl Uniwersytet l ski Instytut Informatyki pa¹dziernika 07 Który atrybut NIE wyst puje jako atrybut elementów listy? klucz elementu (key) wska¹nik
Bardziej szczegółowoAlgorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek
Algorytmy i str ruktury danych Metody algorytmiczne Bartman Jacek jbartman@univ.rzeszow.pl Metody algorytmiczne - wprowadzenia Znamy strukturę algorytmów Trudność tkwi natomiast w podaniu metod służących
Bardziej szczegółowoBazy danych. Plan wykładu. Podstawy modeli relacyjnych. Diagramy ER. Wykład 3: Relacyjny model danych. SQL
Plan wykładu Bazy danych Wykład 3: Relacyjny model danych. SQL Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - podstawy Małgorzata Krtowska Katedra Oprogramowania e-mail:
Bardziej szczegółowoAlgorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne
Algorytmy i struktury danych Drzewa: BST, kopce Letnie Warsztaty Matematyczno-Informatyczne Drzewa: BST, kopce Definicja drzewa Drzewo (ang. tree) to nieskierowany, acykliczny, spójny graf. Drzewo może
Bardziej szczegółowoListy Inne przykªady Rozwi zywanie problemów. Listy w Mathematice. Marcin Karcz. Wydziaª Matematyki, Fizyki i Informatyki.
Wydziaª Matematyki, Fizyki i Informatyki 10 marca 2008 Spis tre±ci Listy 1 Listy 2 3 Co to jest lista? Listy List w Mathematice jest wyra»enie oddzielone przecinkami i zamkni te w { klamrach }. Elementy
Bardziej szczegółowoALGORYTMY 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ółowoWYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński
WYKŁAD 8 Funkcje i algorytmy rekurencyjne Proste przykłady Programy: c3_1.c..., c3_6.c Tomasz Zieliński METODY REKURENCYJNE (1) - program c3_1 ======================================================================================================
Bardziej szczegółowoRys1 Rys 2 1. metoda analityczna. Rys 3 Oznaczamy prdy i spadki napi jak na powyszym rysunku. Moemy zapisa: (dla wzłów A i B)
Zadanie Obliczy warto prdu I oraz napicie U na rezystancji nieliniowej R(I), której charakterystyka napiciowo-prdowa jest wyraona wzorem a) U=0.5I. Dane: E=0V R =Ω R =Ω Rys Rys. metoda analityczna Rys
Bardziej szczegółowoWskaźniki. Programowanie Proceduralne 1
Wskaźniki Programowanie Proceduralne 1 Adresy zmiennych Sterta 1 #include 2 3 int a = 2 ; 4 5 int main ( ) 6 { 7 int b = 3 ; 8 9 printf ( " adres zmiennej a %p\n", &a ) ; 10 printf ( " adres
Bardziej szczegółowoARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15
ARYTMETYKA MODULARNA Grzegorz Szkibiel Wiosna 2014/15 Spis tre±ci 1 Denicja kongruencji i jej podstawowe wªasno±ci 3 2 Systemy pozycyjne 8 3 Elementy odwrotne 12 4 Pewne zastosowania elementów odwrotnych
Bardziej szczegółowoProgram do konwersji obrazu na cig zero-jedynkowy
Łukasz Wany Program do konwersji obrazu na cig zero-jedynkowy Wstp Budujc sie neuronow do kompresji znaków, na samym pocztku zmierzylimy si z problemem przygotowywania danych do nauki sieci. Przyjlimy,
Bardziej szczegółowoPozostałe zadania UWAGA: Za kade poprawne i pełne rozwizanie przyznajemy maksymaln liczb punktów nalenych za zadanie. 1 p.
SCHEMAT PUNKTOWANIA GM - A1 LUTY 2004 Zadania WW 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 B C D B C C B A D B B D A C B C A A B A C A D D D Pozostałe zadania UWAGA: Za kade poprawne
Bardziej szczegółowoWykład 8. Drzewa AVL i 2-3-4
Wykład 8 Drzewa AVL i 2-3-4 1 Drzewa AVL Ø Drzewa AVL Definicja drzewa AVL Operacje wstawiania i usuwania Złożoność obliczeniowa Ø Drzewa 2-3-4 Definicja drzewa 2-3-4 Operacje wstawiania i usuwania Złożoność
Bardziej szczegółowoBazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych.
Plan wykładu azy danych Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych. Dokoczenie SQL Zalenoci wielowartociowe zwarta posta normalna Dekompozycja do 4NF Przykład sprowadzanie do
Bardziej szczegółowoAlgorytmy zachłanne. dr inż. Urszula Gałązka
Algorytmy zachłanne dr inż. Urszula Gałązka Algorytm zachłanny O Dokonuje wyboru, który w danej chwili wydaje się najkorzystniejszy. O Mówimy, że jest to wybór lokalnie optymalny O W rzeczywistości nie
Bardziej szczegółowoInstrukcje dla zawodników
Instrukcje dla zawodników Nie otwieraj arkusza z zadaniami dopóki nie zostaniesz o to poproszony. Instrukcje poniżej zostaną ci odczytane i wyjaśnione. 1. Arkusz składa się z 3 zadań. 2. Każde zadanie
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Sieci powiązań Paweł Daniluk Wydział Fizyki Jesień 2015 P. Daniluk (Wydział Fizyki) PO w. IX Jesień 2015 1 / 21 Sieci powiązań Można (bardzo zgrubnie) wyróżnić dwa rodzaje powiązań
Bardziej szczegółowo7a. Teoria drzew - kodowanie i dekodowanie
7a. Teoria drzew - kodowanie i dekodowanie Grzegorz Kosiorowski Uniwersytet Ekonomiczny w Krakowie zima 2016/2017 rzegorz Kosiorowski (Uniwersytet Ekonomiczny 7a. wteoria Krakowie) drzew - kodowanie i
Bardziej szczegółowo. Podstawy Programowania 2. Drzewa bst - część druga. Arkadiusz Chrobot. 12 maja 2019
.. Podstawy Programowania 2 Drzewa bst - część druga Arkadiusz Chrobot Zakład Informatyki 12 maja 2019 1 / 39 Plan.1 Wstęp.2 Wyszukiwanie w BST Minimalny i maksymalny klucz Wskazany klucz.3.4 Zmiany w
Bardziej szczegółowoWstęp do informatyki- wykład 1
MATEMATYKA 1 Wstęp do informatyki- wykład 1 Systemy liczbowe 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 Jerzy
Bardziej szczegółowoRekurencyjne struktury danych
Andrzej Jastrz bski Akademia ETI Dynamiczny przydziaª pami ci Pami, która jest przydzielana na pocz tku dziaªania procesu to: pami programu czyli instrukcje programu pami statyczna zwi zana ze zmiennymi
Bardziej szczegółowoZnaki w tym systemie odpowiadają następującym liczbom: I=1, V=5, X=10, L=50, C=100, D=500, M=1000
SYSTEMY LICZBOWE I. PODZIAŁ SYSTEMÓW LICZBOWYCH: systemy liczbowe: pozycyjne (wartośd cyfry zależy od tego jaką pozycję zajmuje ona w liczbie): niepozycyjne (addytywne) (wartośd liczby jest sumą wartości
Bardziej szczegółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowoWHILE (wyrażenie) instrukcja;
INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while
Bardziej szczegółowowiczenie 5 Woltomierz jednokanaowy
wiczenie 5 Woltomierz jednokanaowy IMiO PW, LPTM, wiczenie 5, Woltomierz jednokanaowy -2- Celem wiczenia jest zapoznanie si# z programow% obsug% prostego przetwornika analogowo-cyfrowego na przykadzie
Bardziej szczegółowoDrzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np.
Drzewa binarne Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0 i T 1 są drzewami binarnymi to T 0 T 1 jest drzewem binarnym Np. ( ) ( ( )) Wielkość drzewa
Bardziej szczegółowoMatematyka dyskretna - 7.Drzewa
Matematyka dyskretna - 7.Drzewa W tym rozdziale zajmiemy się drzewami: specjalnym przypadkiem grafów. Są one szczególnie przydatne do przechowywania informacji, umożliwiającego szybki dostęp do nich. Definicja
Bardziej szczegółowo1. Wprowadzenie do C/C++
Podstawy Programowania - Roman Grundkiewicz - 013Z Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub
Bardziej szczegółowoINFORMATYKA DANE.
INFORMATYKA DANE http://www.infoceram.agh.edu.pl DANE Dane to zbiory liczb, znaków, sygnałów, wykresów, tekstów, itp., które mogą być przetwarzane. Pojęcie danych jest relatywne i istnieje tylko razem
Bardziej szczegółowo/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>
Szablon programu: /* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include /* opcjonalne: deklaracja typów o rozmiarze jednego i dwóch
Bardziej szczegółowo