STOSY ABSTRACT DATA TYPES (ADT) STOS ADT ZASTOSOWANIA STOSÓW WYJĄTKI PROJEKTOWANIE ALGORYTMÓW I METODY SZTUCZNEJ INTELIGENCJI STOSY, KOLEJKI, LISTY
|
|
- Anna Łuczak
- 5 lat temu
- Przeglądów:
Transkrypt
1 PROJEKTOWNIE LGORYTMÓW I METODY SZTUCZNEJ INTELIGENCJI STOSY, KOLEJKI, LISTY STOSY 1 Wykład 3 d inż. Łukasz Jeleń Na podstawie wykładów d. T. Fevensa 2 STRCT DT TYPES (DT) STOS DT bstact data type (DT) jest abstakcją stuktuy danych DT deiniuje: Pzechowywane dane Opeacje na danych Deinicję możliwych błędów tych opeacji Pzykład: DT modelujące posty system obotu papieami watościowymi Pzechowywane dane to zamówienia kupna/spzedaży Dostępne opeacje: zamówienie kupna(akcja, udziały, cena) zamówienie spzedaży(akcja, udziały, cena) void cancel(zamówienie) Wyjątki: Kupno/Spzedaż nieistniejąca akcja Cancel nieistniejące zamównienie DT dla stosu pzechowuje dowolne obiekty Dodawanie i usuwanie wykonywane jest na zasadzie LIFO - Last-in Fist-out Można pzyównać do zabawki dozującej cukieki (PEZ) Opeacje na stosie: push(element): dodawanie elementu element pop(): usuwa i zwaca element z wiezchu stosu Dodatkowe opeacje na stosach: object top(): zwaca ostatni element umieszczony na stosie bez jego usuwania intege size(): zwaca ilość pzechowywanych elementów boolean isempty(): mówi, czy są jakieś elementy pzechowywane na stosie 3 4 WYJĄTKI ZSTOSOWNI STOSÓW Póba wywołania opeacji DT może czasami powadzić do wystąpienia błędów, któe nazywamy wyjątkami Exceptions Wyjątki są wyzucane (thown) pzez opeacje i nie mogą być wykonywane Dla stosu opeacje pop i top nie mogą zostać wykonane, jeśli stos jest pusty Póba wywołania metody pop i top dla pustego stosu wyzuci wyjątek EmptyStackException Zastosowania bezpośednie Histoia odwiedzanych ston w pzeglądace intenetowej Sekwencja opeacji conij w edytoze tekstu Łańcuch wywołania metod w Witualnej maszynie Javy Zastosowania pośednie Pomocnicza stuktua danych dla algoytmów Składowa innych stuktu danych 5 6
2 STOS WYWOŁŃ W C++ STOS WYWOŁŃ W C++ C++ kontoluje łańcuch wywołań unkcji za pomocą stosu Kiedy jakaś unkcja jest wywoływana, system dodaje do stosu amkę zawieającą: Zmienne lokalne i watość zwacaną z unkcji Licznik pogamu kontolujący wywoływane Jeśli unkcja kończy swoje działanie, to amka jest pobieana ze stosu (pop()), a kontola jest pzekazywana do metody na góze stosu. Pozwala na stosowanie ekuencji main() { int i = 5; oo(i); oo(int j) { int k; k = j+1; ba(k); ba(int m) { main PC = 2 i = 5 C++ kontoluje łańcuch wywołań unkcji za pomocą stosu Kiedy jakaś unkcja jest wywoływana, system dodaje do stosu amkę zawieającą: Zmienne lokalne i watość zwacaną z unkcji Licznik pogamu kontolujący wywoływane Jeśli unkcja kończy swoje działanie, to amka jest pobieana ze stosu (pop()), a kontola jest pzekazywana do metody na góze stosu. Pozwala na stosowanie ekuencji main() { int i = 5; oo(i); oo(int j) { int k; k = j+1; ba(k); ba(int m) { oo PC = 3 j = 5 k = 6 main PC = 2 i = STOS WYWOŁŃ W C++ STOS WYWOŁŃ W C++ C++ kontoluje łańcuch wywołań unkcji za pomocą stosu Kiedy jakaś unkcja jest wywoływana, system dodaje do stosu amkę zawieającą: Zmienne lokalne i watość zwacaną z unkcji Licznik pogamu kontolujący wywoływane Jeśli unkcja kończy swoje działanie, to amka jest pobieana ze stosu (pop()), a kontola jest pzekazywana do metody na góze stosu. Pozwala na stosowanie ekuencji main() { int i = 5; oo(i); oo(int j) { int k; k = j+1; ba(k); ba(int m) { ba PC = 1 m = 6 oo PC = 3 j = 5 k = 6 main PC = 2 i = 5 C++ kontoluje łańcuch wywołań unkcji za pomocą stosu Kiedy jakaś unkcja jest wywoływana, system dodaje do stosu amkę zawieającą: Zmienne lokalne i watość zwacaną z unkcji Licznik pogamu kontolujący wywoływane Jeśli unkcja kończy swoje działanie, to amka jest pobieana ze stosu (pop()), a kontola jest pzekazywana do metody na góze stosu. Pozwala na stosowanie ekuencji main() { int i = 5; oo(i); oo(int j) { int k; k = j+1; ba(k); ba(int m) { oo PC = 3 j = 5 k = 6 main PC = 2 i = STOS WYWOŁŃ W C++ STOS ZUJĄCY N TLICY C++ kontoluje łańcuch wywołań unkcji za pomocą stosu Kiedy jakaś unkcja jest wywoływana, system dodaje do stosu amkę zawieającą: Zmienne lokalne i watość zwacaną z unkcji Licznik pogamu kontolujący wywoływane Jeśli unkcja kończy swoje działanie, to amka jest pobieana ze stosu (pop()), a kontola jest pzekazywana do metody na góze stosu. Pozwala na stosowanie ekuencji main() { int i = 5; oo(i); oo(int j) { int k; k = j+1; ba(k); ba(int m) { main PC = 2 i = 5 Postym sposobem implementacji Stosu jest zastosowanie tablicy Dodajemy elementy od lewej do pawej Dodatkowa zmienna kontolująca indeks elementu na wiezchu stosu S lgoytm size() etun t + 1 lgoytm pop() i isempty() then thow EmptyStackException else t t 1 etun S[t + 1] t N
3 STOS ZUJĄCY N TLICY WYDJNOŚĆ I OGRNICZENI Tablica pzechowująca elementy stosu może się zapełnić Opeacja push() powinna zatem wyzucać wyjątek FullStackException Oganiczenie związane z implementacją bazującą na tablicy Nie zawsze występujące pzy implementacji stosu S lgoytm push(e) i t = S.length 1 then thow FullStackException else t t + 1 S[t] e t Wydajność Niech n będzie ilością elementów na stosie Wykozystane miejsce będzie ówne O(n) Każda opeacja będzie działała w czasie O(1) Oganiczenia Maksymalny ozmia stosu musi zostać zdeiniowany a pioi i nie może zostać zmieniony Póba dodania nowego elementu do pełnego stosu powoduje wyjątki typowe dla danej implementacji 9 10 STOS ZUJĄCY N POWIĘKSZNEJ TLICY PORÓWNNIE STRTEGII Wykonując opeację push, kiedy tablica jest pełna, zamiast wyzucania wyjątku, możemy możemy zastąpić ją większą tablicą Jak duża powinna być nowa tablica? Stategia inkementalna: zwiększ ozmia o stałą c Stategia podwajania: podwój ozmia tablicy lgoytm push(e) i t = S.length 1 then nowa tablica o ozmiaze o i 0 to t do [i] S[i] S t t + 1 S[t] e Poównamy stategię inkementalną i podwajania popzez analizę całkowitego czasu T(n) niezbędnego do wykonania n opeacji push() Zakładamy, że ozpoczynamy od pustego stosu epezentowanego pzez tablicę o ozmiaze 1 Czasem śednim będzie śedni czas opeacji push niezbędny do wykonania seii opeacji, np.: T(n)/n STRTEGI INKREMENTLN Tablica zostanie zastąpiona k = n/c azy Całkowity czas T(n) wykonania n opeacji push jest popocjonalny do: STRTEGI PODWJNI Tablica zostanie zastąpiona k = log 2 n azy n + c + 2c + 3c + 4c + + kc = n + c( k) = n + ck(k + 1)/2 Ponieważ c jest stałą, T(n) jest w O(n +k 2 ), tj. O(n 2 ) Śedni czas opeacji push jest w O(n) Całkowity czas T(n) wykonania n opeacji push jest popocjonalny do: n k = T(n) jest w O(n) n + 2 k+1-1 = 2n -1 Śedni czas opeacji push jest w O(1) ciąg geometyczny
4 INTERFEJS STOSU W C++ STOS ZUJĄCY N TLICY W C++ Inteejs jest odniesieniem do DT stosu Wymaga zdeiniowania klasy EmptyStackException Najbadziej zbliżoną konstukcją jest vecto template <typename Object> class Stack{ public: int size(); bool isempty(); Object& top() thow(emptystackexception); void push(object o); Object pop() thow(emptystackexception); template <typename Object> class TabStack{ pivate: int pojemnosc; //pojemność stosu Object *S //tablica stosu int top //góa stosu public: TabStack(int p){ pojemnosc = p; S = new Object[pojemnosc]; top = -1; bool isempty() {etun (top<0); Object pop() thow(emptystackexception){ i (isempty()) thow EmptyStackException ( Dostęp do pustego stosu ); etun S[top--]; // pozostałe unkcje ominięte SPRWDZNIE DOPSOWNI NWISÓW Każdy nawias (, {, lub [ musi być spaowany z odpowiadającym mu nawiasem ),, lub ] pawidłowo: ( )(( )){([( )]) pawidłowo: (( )(( )){([( )])) błędnie: )(( )){([( )]) błędnie: ({[ ]) błędnie: ( 17 DOPSOWNIE NWISÓW - LGORYTM lgoytm DopNawiasow(X,n): Wejście: Tablica X z n tokenami, z któych każdy jest albo symbolem gupującym, zmienną, opeatoem aytmetycznym lub liczbą Wyjście: tue wtedy i tylko wtedy, gdy symbole gupujące w X są dopasowane Niech S będzie pustym stosem o i 0 to n-1 do i X[i] jest symbolem otwieającym then S.push(X[i]) else i X[i] jest symbolem zamykającym then i S.isEmpty() then etun alse {nie było dopasowania i S.pop() nie jest dopasowaniem do X[i] then etun alse {niepawidłowy typ i S.isEmpty() then etun tue {wszystkie symbole zostały dopasowane else etun alse {niektóe symbole nigdy nie zostały dopasowane 18 KOLEJK DT KOLEJKI 19 Kolejka pzechowuje dowolne obiekty Dodawanie i usuwanie jest wykonywane według zasady FIFO - ist-in ist-out Elementy dodawane są na końcu kolejki, a usuwane z pzodu kolejki Główne opeacje na kolejce: enqueue(element): dodaje element na końcu kolejki element dequeue(): usuwa i zwaca element z początku kolejki Dodatkowe opeacje: element ont(): zwaca element na pzodzie listy bez usuwania go intege size(): zwaca ilość pzechowywanych elementów boolean isempty(): inomuje czy w kolejce są pzechowywane jakieś elementy Wyjątki Póba wywołania dequeue lub ont na pustej kolejce wyzuca EmptyueueException 20
5 PRZYKŁD KOLEJKI ZSTOSOWNI KOLEJEK Opeacja Wyjście enqueue(5) (5) enqueue(3) (5, 3) dequeue() 5 (3) enqueue(7) (3, 7) dequeue() 3 (7) ont() 7 (7) dequeue() 7 () dequeue() eo () isempty() tue() enqueue(9) (9) enqueue(7) (9, 7) size() 2 (9, 7) enqueue(3) (9, 7, 3) enqueue(5) (9, 7, 3, 5) dequeue() 9 (7, 3, 5) Zastosowanie bezpośednie Listy oczekujących, Dostęp do zasobów współdzielonych (np.:, dukaka), Multipogamming Zastosowania pośednie Pomocnicza stuktua danych dla algoytmów Składowa innych stuktu danych KOLEJK ZUJĄC N TLICY Zastosowanie tablicy o ozmiaze N w sposób okężny/kolisty Dwie zmienne kontolują pzód i tył kolejki indeks piewszego elementu indeks następny do ostatniego elementu Pozycja w tablicy jest pusta koniguacja tadycyjna koniguacja okólna OPERCJE N KOLEJCE Wykozystujemy opeato modulo lgoytm size() etun (N + ) mod N lgoytm isempty() etun ( = ) OPERCJE N KOLEJCE OPERCJE N KOLEJCE Opeacja enqueue wyzuca wyjątek jeśli tablica jest pełna Wyjątek jest zależny od implementacji lgoytm enqueue(e) i size() = N 1 then thow FullueueException else [] e ( + 1) mod N Opeacja dequeue wyzuca wyjątek jeśli kolejka jest pusta Ten wyjątek jest okeślony w DT dla kolejki lgoytm dequeue() i isempty() then thow EmptyueueException else temp [] ( + 1) mod N etun temp
6 ZSTOSOWNIE : SYMULTORY SYSTEMU KOŁOWEGO Możemy zaimplementować symulato systemu kołowego (tzw. systemu każdy z każdym) z zastosowaniem kolejki,, popzez wielokotne wywoływanie następujących koków: 1. e.dequeue() 2. Obsługa elementu e 3..enqueue(e) Kolejka KOLEJK ZUJĄC N POWIĘKSZNEJ TLICY Wykonując opeację enqueue, kiedy tablica jest pełna, zamiast wyzucania wyjątku, możemy możemy zastąpić ją większą tablicą nalogicznie do poceduy, któą omawialiśmy w pzypadku stosu Opeacja enqueue ma śedni czas działania: 1. Deque kolejny element 2. Obsłuż kolejny element Obsługa 3. Enqueue obsłużony element O(n) w pzypadku stategii inkementalnej O(1) w pzypadku stategii podwajającej NIEFORMLNY INTERFEJS KOLEJKI W C++ Wymaga zdeiniowania klasy EmptyueueException ak wbudowanego odpowiednika w klasie STL template <typename Object> class ueue{ public: int size(); bool isempty(); Object& ont() thow(emptyueueexception); void enqueue(object o); Object dequeue() thow(emptyueueexception); LISTY LISTY JEDNOKIERUNKOWE DEFINICJ WĘZŁ DL ELEMENTÓW LISTY element Węzeł Lista jednokieunkowa jest konketną stuktuą danych składającą się z sekwencji węzłów Każdy węzeł pzechowuje: element link do następnego węzła element następny węzeł template <typename E> class SNode{ pivate: E elem; SNode<E>* iend class SLinkedList<E> ; //węzeł listy jednokie. //watość elementu listy //następny elem. listy //dostęp dla listy //metody dostępu do danych: public E getelement() {etun elem; //metody modyikujące: public void setelement(e newe) {elem = newe; C D public SNode getnext() {etun ; public void setnext(node<e> newn) { = newn; 31 32
7 INTERFEJS KOLEJKI JEDNOKIERUNKOWEJ W C++ DODWNIE N POCZĄTKU template <typename E> class SLinkedList{ public: SLinkedList(); ~SLinkedList(); bool empty() const; const E& ont() const; void addfont(const E& e) void emovefont() pivate: SNode<E>* head; ; //lista jednokieunkowa //konstukto //destukto //spawdzanie czy lista jest pusta //zwaca piewszy element //dodawanie na początek listy //usuń piewszy element listy //początek listy 1. lokacja nowego węzła 2. Dodanie nowego elementu 3. Dodać powiązanie tak, aby nowy węzeł wskazywał na początek listy (stay head) 4. Uaktualnić head tak, aby wskazywało na nowy węzeł ZSTOSOWNIE KLSY SNODE USUWNIE Z PRZODU LISTY template <typename E> SLinkedList<E>::SLinkedList :head(null){ template <typename E> void SLinkedList<E>::addFont(const E& e){ SNode<E>* v = new SNode<E>; v->elem = e; v-> = head; head = v; template <typename E> void SLinkedList<E>::emoveFont(){ SNode<E>* old = head; head = old->; delete old; //konstukto //twozy pustą listę //dodawanie na pzodzie listy //twozy nowy węzeł //zapis danych //v wskazuje na head //v jest teaz head //usuwanie z pzodu listy //zapis bieżącego head //ominięcie staego head //usunięcie old 1. Uaktualnić head tak, aby wskazywało na kolejny element w liście 2. Usunąć piewszy węzeł DODWNIE Z TYŁU LISTY 1. lokacja nowego węzła 2. Dodanie nowego elementu 3. Dodać powiązanie tak, aby nowy węzeł wskazywał na 4. Dodać powiązanie tak, aby ostatni element wskazywał na nowy węzeł 5. Uaktualnić tail tak, aby wskazywało na nowy węzeł USUWNIE Z TYŁY LISTY Usuwanie elementów z tyłu listy jednokieunkowej nie jest wydajne! Nie da się pzepowadzić uaktualnienia tail tak, aby wskazywał na węzeł popzedzający w stałym czasie 37 38
8 LIST JEDNOKIERUNKOW JKO STOS Możemy zaimplementować stos za pomocą listy jednokieunkowej Góny element jest pzechowywany w piewszym węźle listy Wykozystanie miejsca to O(n), a każda opeacja stosu jest wykonywana w czasie O(1) t węzły LIST JEDNOKIERUNKOW JKO KOLEJK Możemy zaimplementować kolejkę za pomocą listy jednokieunkowej Element początkowy jest pzechowywany w piewszym węźle Ostatni element jest pzechowywany w ostatnim węźle Wykozystane miejsce to O(n), a każda opeacja kolejki jest wykonywana w czasie O(1) węzły elementy elementy Node<Sting> = new Node<Sting>(); Node<Sting> = new Node<Sting>(); ->setelement(new Sting( ed )); Node<Sting> = new Node<Sting>(); ->setelement(new Sting( ed )); Node<Sting> = new Node<Sting>(); ->setelement(new Sting( ed )); Node<Sting> = ; ed ed
9 Node<Sting> = new Node<Sting>(); ->setelement(new Sting( ed )); Node<Sting> = ; Node<Sting> = new Node<Sting>(); ->setelement(new Sting( ed )); Node<Sting> = ; = ; // jest eeencją do obiektu ed ed Node<Sting> = new Node<Sting>(); ->setelement(new Sting( ed )); Node<Sting> = ; = ; // jest eeencją do obiektu Node<Sting> = new Node<Sting>(); ->setelement(new Sting( ed )); Node<Sting> = ; = ; // jest eeencją do obiektu ->setelement(new Sting( PMSI )); ed ed Node<Sting> = new Node<Sting>(); ->setelement(new Sting( ed )); Node<Sting> = ; = ; // jest eeencją do obiektu ->setelement(new Sting( PMSI )); PMSI ed Node<Sting> = new Node<Sting>(); ->setelement(new Sting( ed )); Node<Sting> = ; = ; // jest eeencją do obiektu ->setelement(new Sting( PMSI )); ->setelement(new Sting( Montéal )); PMSI ed
10 Node<Sting> = new Node<Sting>(); ->setelement(new Sting( ed )); Node<Sting> = ; = ; // jest eeencją do obiektu ->setelement(new Sting( PMSI )); ->setelement(new Sting( Montéal )); PMSI ed Montéal II ->setnext(new Node<Sting>( PW,)); // konstukto PMSI II ->setnext(new Node<Sting>( PW,)); // konstukto II ->setnext(new Node<Sting>( PW,)); // konstukto.getnext().setelement(new Sting( Wykład )); PMSI PW PMSI PW II ->setnext(new Node<Sting>( PW,)); // konstukto.getnext().setelement(new Sting( Wykład )); II ->setnext(new Node<Sting>( PW,)); // konstukto.getnext().setelement(new Sting( Wykład )); =.getnext(); PMSI Wykład PW PMSI Wykład PW
11 II ->setnext(new Node<Sting>( PW,)); // konstukto.getnext().setelement(new Sting( Wykład )); =.getnext(); II ->setnext(new Node<Sting>( PW,)); // konstukto.getnext().setelement(new Sting( Wykład )); =.getnext(); PMSI Wykład PW PMSI Wykład PW II ->setnext(new Node<Sting>( PW,)); // konstukto.getnext().setelement(new Sting( Wykład )); =.getnext();.setnext(new Node<Sting>( Laboatoium,)); ; II ->setnext(new Node<Sting>( PW,)); // konstukto.getnext().setelement(new Sting( Wykład )); =.getnext();.setnext(new Node<Sting>( Laboatoium,)); ; PMSI Wykład PW PMSI Wykład PW Laboatoium
Metody getter https://www.python-course.eu/python3_object_oriented_programming.php 0_class http://interactivepython.org/runestone/static/pythonds/index.html https://www.cs.auckland.ac.nz/compsci105s1c/lectures/
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ółowoWykład 5 Wybrane zagadnienia programowania w C++ (c.d.)
Wykład 5 Wybrane zagadnienia programowania w C++ (c.d.) Kontenery - - wektor vector - - lista list - - kolejka queue - - stos stack Kontener asocjacyjny map 2016-01-08 Bazy danych-1 W5 1 Kontenery W programowaniu
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ół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ółowoStruktura danych = system relacyjny U, U uniwersum systemu - zbiór relacji (operacji) na strukturze danych
Temat: Stuktuy dzewiste 1. Stuktua słownika { } I Stuktua danych = system elacyjny U, i i U uniwesum systemu { i } i I - zbió elacji (opeacji) na stuktuze danych Fomalna definicja stuktuy danych składa
Bardziej szczegółowoKOLEJKA (QUEUE) (lista fifo first in, first out)
KOLEJKA (QUEUE) (lista fifo first in, first out) Kolejki są listami, których elementy można wstawiać z jednego końca (rear-tył) a usuwać z drugiego (front - przód). Operacje: 1. MAKENULL(Q) czyni kolejkę
Bardziej szczegółowoAlgorytmy i Struktury Danych. Co dziś? Drzewo decyzyjne. Wykład IV Sortowania cd. Elementarne struktury danych
Algorytmy i Struktury Danych Wykład IV Sortowania cd. Elementarne struktury danych 1 Co dziś? Dolna granica sortowań Mediany i statystyki pozycyjne Warstwa implementacji Warstwa abstrakcji #tablice #listy
Bardziej szczegółowoAlgorytmy i. Wykład 3: Stosy, kolejki i listy. Dr inż. Paweł Kasprowski. FIFO First In First Out (kolejka) LIFO Last In First Out (stos)
Algorytmy i struktury danych Wykład 3: Stosy, kolejki i listy Dr inż. Paweł Kasprowski pawel@kasprowski.pl Kolejki FIFO First In First Out (kolejka) LIFO Last In First Out (stos) Stos (stack) Dostęp jedynie
Bardziej szczegółowoParadygmaty 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ółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Podstawowe struktury danych, cd. Wykład na podstawie ksiażki Roberta Sedgewicka i Kevina Wayne: Algorithms. Furth Edition. Princeton University dr hab. Bożena Woźna-Szcześniak
Bardziej szczegółowoINFORMATYKA 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ółowoGraf skierowany. Graf zależności dla struktur drzewiastych rozgrywających parametrycznie
Gaf skieowany Gaf skieowany definiuje się jako upoządkowaną paę zbioów. Piewszy z nich zawiea wiezchołki gafu, a dugi składa się z kawędzi gafu, czyli upoządkowanych pa wiezchołków. Ruch po gafie możliwy
Bardziej szczegółowoKiedy potrzebne. Struktura (rekord) Struktura w języku C# Tablice struktur. struktura, kolekcja
1 struktura, kolekcja Kiedy potrzebne Duża liczba danych takiego samego typu tablice a jak nieznana liczba elementów? dane zawierające wartości różnego typu (osoba: pesel, nazwisko, rok urodzenia, pracuje/niepracuje,
Bardziej szczegółowoLaboratorium z przedmiotu Programowanie obiektowe - zestaw 04
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Cel zajęć. Celem zajęć jest zapoznanie się ze sposobem działania popularnych kolekcji. Wprowadzenie teoretyczne. Rozważana w ramach niniejszych
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ółowoStruktury danych (I): kolejka, stos itp.
Letnie Warsztaty Matematyczno-Informatyczne Algorytmy i struktury danych Struktury danych (I): kolejka, stos itp. Struktury danych (I): kolejka, stos itp. Struktura danych stanowi sposób uporządkowania
Bardziej szczegółowoProgramowanie 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ółowoMetody optymalizacji. dr inż. Paweł Zalewski Akademia Morska w Szczecinie
Metody optymalizacji d inż. Paweł Zalewski kademia Moska w Szczecinie Optymalizacja - definicje: Zadaniem optymalizacji jest wyznaczenie spośód dopuszczalnych ozwiązań danego polemu ozwiązania najlepszego
Bardziej szczegółowoMarcin Matusiak i Łukasz Stasiak
Marcin Matusiak i Łukasz Stasiak Lista jest sekwencyjną strukturą danych, która składa się z ciągu elementów tego samego typu. Dostęp do elementów listy jest sekwencyjny tzn. z danego elementu listy możemy
Bardziej szczegółowoSzablony funkcji i szablony klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowoSpis treści JĘZYK C - FUNKCJE. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF07Z
Politechnika Białostocka Wydział Elektyczny Kateda Elektotechniki Teoetycznej i Metologii Instukcja do pacowni specjalistycznej z pzedmiotu Inomatyka Kod pzedmiotu: EZC00 00 (studia niestacjonane) Spis
Bardziej szczegółowoKurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016
Wykład 9 28 kwiecień 2016 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa
Bardziej szczegółowoWykład 4. Klasa List Kolejki Stosy Słowniki
Wykład 4 Klasa List Kolejki Stosy Słowniki Klasa List Poważną niedogodnością tablic jako kolekcji danych jest fakt, że muszą one mieć stały rozmiar. Programista musi wiedzieć z góry ile miejsca powinien
Bardziej szczegółowoPodstawy programowania obiektowego
Podstawy programowania obiektowego Technologie internetowe Wykład 5 Program wykładu Podejście obiektowe kontra strukturalne do tworzenie programu Pojęcie klasy i obiektu Składowe klasy: pola i metody Tworzenie
Bardziej szczegółowoStos LIFO Last In First Out
Stos LIFO Last In First Out Operacje: push - dodanie elementu na stos pop - usunięcie elementu ze stosu empty - sprawdzenie, czy stos jest pusty size - zwrócenie liczby elementów na stosie value (peek)
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ółowoKurs programowania. Wykład 9. Wojciech Macyna
Wykład 9 Java Collections Framework (w C++ Standard Template Library) Kolekcja (kontener) Obiekt grupujacy/przechowuj acy jakieś elementy (obiekty lub wartości). Przykładami kolekcji sa zbiór, lista czy
Bardziej szczegółowoWstęp do wiadomości teoretycznych (nie, nie jest to masło maślane ani wstęp, wstępów proszę cierpliwie czytać)
Języki i Paradygmaty Programowania Laboratorium 1 Obiekty i klasy C++ Wstęp do wiadomości teoretycznych (nie, nie jest to masło maślane ani wstęp, wstępów proszę cierpliwie czytać) UWAGA! Umiejętność tworzenia
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ółowoC++ Przeładowanie operatorów i wzorce w klasach
C++ i wzorce w klasach Andrzej Przybyszewski numer albumu: 89810 14 listopada 2009 Ogólnie Przeładowanie (przeciążanie) operatorów polega na nadaniu im nowych funkcji. Przeładowanie operatora dokonuje
Bardziej szczegółowoMonitory. Jarosław Kuchta
Monitory Jarosław Kuchta Co to jest monitor Monitor to zebrane w jednej konstrukcji programowej zmienne i operacje na tych zmiennych. Część tych operacji jest udostępnianych na zewnątrz monitora. Tylko
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami
Bardziej szczegółowoAlgorytmy i Struktury Danych. Anna Paszyńska
Algorytmy i Struktury Danych Anna Paszyńska Tablica dynamiczna szablon Array Zbiory Zbiory template class Container {public: virtual ~Container() { }; virtual int Count() const = 0;
Bardziej szczegółowoWprowadzenie do szablonów klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2008-2010 Bogdan Kreczmer Niniejszy
Bardziej szczegółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Liniowe struktury danych. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 4 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład
Bardziej szczegółowoProgramowanie w języku Java. Kolekcje
Programowanie w języku Java Kolekcje Definicja Kolekcja to obiekt, który grupuje elementy danych (inne obiekty) i pozwala traktować je jak jeden zestaw danych, umożliwiając jednocześnie wykonywanie na
Bardziej szczegółowoLista, Stos, Kolejka, Tablica Asocjacyjna
Lista, Stos, Kolejka, Tablica Asocjacyjna Listy Lista zbiór elementów tego samego typu może dynamicznie zmieniać rozmiar, pozwala na dostęp do poszczególnych elementów Typowo dwie implementacje: tablicowa,
Bardziej szczegółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Podstawowe struktury danych dr hab. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 6 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych.
Bardziej szczegółowoAlgorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Abstrakcyjne struktury danych 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 i Struktury
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ół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ół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ół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ółowoStruktury 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ółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki int getmax (int a, int b) { return (a > b? a : b); float getmax (float a, float b) { return (a > b? a : b); long getmax (long a, long b)
Bardziej szczegółowoStruktury. Przykład W8_1
Struktury Struktury pozwalają na grupowanie zmiennych różnych typów pod wspólną nazwą. To istotnie ułatwia organizacje danych, które okazują się w jednym miejscu kodu programu. To jest bardzo ważne dla
Bardziej szczegółowoWprowadzenie do szablonów szablony funkcji
Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego.
Bardziej szczegółowoProgramowanie i struktury danych. Wykład 4 Dr Piotr Cybula
Programowanie i struktury danych Wykład 4 Dr Piotr ybula Typ wska ź nikowy int* pointer; //wskaźnik do zmiennych typu int pozwala na dostęp do dowolnego miejsca pamięci (zmienne
Bardziej szczegółowo. Podstawy Programowania 2. Kolejki i ich zastosowania. Arkadiusz Chrobot. 21 marca 2016
.. Podstawy Programowania 2 Kolejki i ich zastosowania Arkadiusz Chrobot Zakład Informatyki 21 marca 2016 1 / 60 Plan.1 Kolejki i ich klasyfikacja.2 Kolejka fifo Implementacja za pomocą tablicy.3 Testowanie
Bardziej szczegółowoJzyk C++ cz 3. Jarosław Gramacki Instytut Informatyki i Elektroniki ( $)*)+' *, - ( ' )*'.' '',*/ *, ','*0) 1 / ) %*+ 2'' 2" ( $%%) )'20 )*0) 1 / )
Jzyk C++ cz 3 Jarosław Gramacki Instytut Informatyki i Elektroniki # $$%%& ' ( $)*)+' *, - ( ' )*'.' '',*/ *, ','*0) 1 / ) %*+ 2'' 2" ( $%%) )'20 )*0) 1 / )!" 2 # $$%%& ' ( $%%/,))3 ( %* 2 / 4 ( ( *' *''*,
Bardziej szczegółowoWYKŁAD 11 OPTYMALIZACJA WIELOKRYTERIALNA
WYKŁAD OPTYMALIZACJA WIELOKYTEIALNA Wstęp. W wielu pzypadkach pzy pojektowaniu konstukcji technicznych dla okeślenia ich jakości jest niezędne wpowadzenie więcej niż jednego kyteium oceny. F ) { ( ), (
Bardziej szczegółowoKurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019
Wykład 3 22 marca 2019 Klasy wewnętrzne Klasa wewnętrzna class A {... class B {... }... } Klasa B jest klasa wewnętrzna w klasie A. Klasa A jest klasa otaczajac a klasy B. Klasy wewnętrzne Właściwości
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ół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ółowoSemafor nie jest mechanizmem strukturalnym. Aplikacje pisane z użyciem semaforów są podatne na błędy. Np. brak operacji sem_post blokuje aplikację.
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 11 Semafor nie jest mechanizmem strukturalnym. Aplikacje pisane z użyciem semaforów są podatne na błędy. Np. brak operacji sem_post blokuje aplikację.
Bardziej szczegółowoListy powiązane zorientowane obiektowo
Listy powiązane zorientowane obiektowo Aby zilustrować potęgę polimorfizmu, przeanalizujmy zorientowaną obiektowo listę powiązaną. Jak zapewne wiesz, lista powiązana jest strukturą danych, zaprojektowaną
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ółowoWprowadzenie do szablonów szablony funkcji
Wprowadzenie do szablonów szablony funkcji Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2006 2010 Bogdan Kreczmer Niniejszy dokument zawiera materiały do
Bardziej szczegółowoTeoretyczne 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ółowoFUNKCJE WZORCOWE. Wykład 10. Programowanie Obiektowe (język C++) Funkcje wzorcowe wprowadzenie (2) Funkcje wzorcowe wprowadzenie (1)
Programowanie Obiektowe (język C++) Wykład 10. FUNKCJE WZORCOWE Funkcje wzorcowe wprowadzenie (1) Funkcje wzorcowe wprowadzenie (2) int max ( int a, int b ) return a>b? a : b; Aby mieć analogiczną funkcję
Bardziej szczegółowoJęzyk programowania: Lista instrukcji (IL Instruction List)
Język programowania: Lista instrukcji (IL Instruction List) Wykład w ramach przedmiotu: Sterowniki programowalne Opracował dr inż. Jarosław Tarnawski 08.12.2009 Norma IEC 1131 Języki tekstowe Języki graficzne
Bardziej szczegółowoWstęp do programowania. Stosy i kolejki. Piotr Chrząstowski-Wachtel
Wstęp do programowania Stosy i kolejki Piotr Chrząstowski-Wachtel Stosy Stosy elementów ze zbioru A, to struktury danych, które umożliwiają wykonanie następujących operacji i funkcji {var x:typa; s:stack
Bardziej szczegółowoAlgorytmy i język C++
Wykład 6 Wskaźniki Wskaźnik nie przechowuje wartości zmiennej ale, podobnie jak tablica, wskazuje miejsce w pamięci, w którym znajduje się zmienna danego typu. W poniższym przykładzie symbol * pomiędzy
Bardziej szczegółowoParsery LL(1) Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki
Parsery LL() Teoria kompilacji Dr inż. Janusz Majewski Katedra Informatyki Zadanie analizy generacyjnej (zstępującej, top-down) symbol początkowy już terminale wyprowadzenie lewostronne pierwszy od lewej
Bardziej szczegółowoSemafor nie jest mechanizmem strukturalnym. Aplikacje pisane z użyciem semaforów są podatne na błędy. Np. brak operacji sem_post blokuje aplikację.
J. Ułasiewicz Programowanie aplikacji współbieżnych 1 11 11.1 abstrakcyjne Semafor nie jest mechanizmem strukturalnym. Aplikacje pisane z użyciem semaforów są podatne na błędy. Np. brak operacji sem_post
Bardziej szczegółowo. Podstawy Programowania 2. Algorytmy dfs i bfs. Arkadiusz Chrobot. 2 czerwca 2019
Podstawy Programowania Algorytmy dfs i bfs Arkadiusz Chrobot Zakład Informatyki czerwca 09 / 70 Plan Wstęp Algorytm BFS Podsumowanie / 70 Wstęp Wstęp Istnieje wiele algorytmów związanych z grafami, które
Bardziej szczegółowoPodstawy Programowania 2 Kolejki i ich zastosowania. Plan. Kolejki i ich klasyfikacja. Kolejki i ich klasyfikacja Kolejki dwustronne. Notatki.
Podstawy Programowania 2 Kolejki i ich zastosowania Arkadiusz Chrobot Zakład Informatyki 18 marca 2019 1 / 60 Plan Kolejki i ich klasyfikacja Testowanie niektórych operacji dynamicznych struktur danych
Bardziej szczegółowoAlgorytm DFS Wprowadzenie teoretyczne. Algorytm DFS Wprowadzenie teoretyczne. Algorytm DFS Animacja. Algorytm DFS Animacja. Notatki. Notatki.
Podstawy Programowania Algorytmy dfs i bfs Arkadiusz Chrobot Zakład Informatyki czerwca 09 / 70 Plan Wstęp Podsumowanie / 70 Wstęp Istnieje wiele algorytmów związanych z grafami, które w skrócie nazywane
Bardziej szczegółowoKlasy abstrakcyjne, interfejsy i polimorfizm
Programowanie obiektowe 12 kwietnia 2011 Organizacyjne Klasówka będzie 20 IV 2011. Sale jeszcze są pertraktowane. Materiał do wyjątków włącznie. Można mieć swoje materiały nieelektroniczne. Wywołanie z
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ółowoProgramowanie i struktury danych
Programowanie i struktury danych 1 / 19 Dynamiczne struktury danych Dynamiczną strukturą danych nazywamy taka strukturę danych, której rozmiar, a więc liczba przechowywanych w niej danych, może się dowolnie
Bardziej szczegółowoProgramowanie w języku C++
Programowanie w języku C++ Część dziewiąta Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie zastąpi
Bardziej szczegółowoZASADY PROGRAMOWANIA KOMPUTERÓW
POLITECHNIKA WARSZAWSKA Instytut Automatyki i i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW Język Język programowania: C/C++ Środowisko programistyczne: C++Builder 6 Wykład 9.. Wskaźniki i i zmienne dynamiczne.
Bardziej szczegółowoStos liczb całkowitych
Stos liczb całkowitych class StosInt int* tab; unsigned size ; StosInt(unsigned s=10) tab=new int[size=s];top=0; ~StosInt()delete[] tab; void push(int i)tab[top++]=i; int pop(void) return tab[--top]; int
Bardziej szczegółowoProgramowanie równoległe i rozproszone. Monitory i zmienne warunku. Krzysztof Banaś Programowanie równoległe i rozproszone 1
Programowanie równoległe i rozproszone Monitory i zmienne warunku Krzysztof Banaś Programowanie równoległe i rozproszone 1 Problemy współbieżności Problem producentów i konsumentów: jedna grupa procesów
Bardziej szczegółowoAbstrakcyjny typ danych
Abstrakcyjny typ danych Abstrakcyjny Typ Danych (abstract data type-adt): zbiór wartości wraz z powiązanymi z nimi operacjami; operacje są zdefiniowane w sposób niezależny od implementacji; operacje są
Bardziej szczegółowoJava: kilka brakujących szczegółów i uniwersalna nadklasa Object
Java: kilka brakujących szczegółów i uniwersalna nadklasa Object Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU Konstrukcja obiektów Niszczenie obiektów i zwalnianie zasobów
Bardziej szczegółowoWykład 4: Klasy i Metody
Wykład 4: Klasy i Metody Klasa Podstawa języka. Każde pojęcie które chcemy opisać w języku musi być zawarte w definicji klasy. Klasa definiuje nowy typ danych, których wartościami są obiekty: klasa to
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;
Bardziej szczegółowoLab 9 Podstawy Programowania
Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany
Bardziej szczegółowoPodstawy programowania w języku C++
Podstawy programowania w języku C++ Część ósma Zmienne wskaźnikowe koncepcja, podstawowe zastosowania Wersja skrócona, tylko C++ Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski
Bardziej szczegółowoRodzajowy rachunek kosztów Wycena zuŝycia materiałów
Rodzajowy achunek kosztów (wycena zuŝycia mateiałów) Wycena zuŝycia mateiałów ZuŜycie mateiałów moŝe być miezone, wyceniane, dokumentowane i ewidencjonowane w óŝny sposób. Stosowane metody wywieają jednak
Bardziej szczegółowoProgramowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
Bardziej szczegółowoZaawansowane programowanie w C++ (PCP)
Zaawansowane programowanie w C++ (PCP) Wykład 6 - szablony. dr inż. Robert Nowak - p. 1/15 Kolekcje i algorytmy» Deklaracja szablonu y Pojęcia niezależne od typu: kolekcje (np. listy) algorytmy (np. znajdowania
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ółowoUML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.
UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami
Bardziej szczegółowoPodstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Bardziej szczegółowoWstęp do programowania
wykład 8 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Podprogramy Czasami wygodnie jest wyodrębnić jakiś fragment programu jako pewną odrębną całość umożliwiają to podprogramy.
Bardziej szczegółowoAlgorytmy 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ółowoStruktura danych. Sposób uporządkowania informacji w komputerze. Na strukturach danych operują algorytmy. Przykładowe struktury danych:
Struktura danych Sposób uporządkowania informacji w komputerze. Na strukturach danych operują algorytmy. Przykładowe struktury danych: rekord tablica lista stos kolejka drzewo i jego odmiany (np. drzewo
Bardziej szczegółowoSzablony funkcji i klas (templates)
Instrukcja laboratoryjna nr 3 Programowanie w języku C 2 (C++ poziom zaawansowany) Szablony funkcji i klas (templates) dr inż. Jacek Wilk-Jakubowski mgr inż. Maciej Lasota dr inż. Tomasz Kaczmarek Wstęp
Bardziej szczegółowoProgramowanie w C++ Wykład 6. Katarzyna Grzelak. 1 kwietnia K.Grzelak (Wykład 6) Programowanie w C++ 1 / 43
Programowanie w C++ Wykład 6 Katarzyna Grzelak 1 kwietnia 2019 K.Grzelak (Wykład 6) Programowanie w C++ 1 / 43 Pojęcia z poprzednich wykładów Tablica to ciag obiektów tego samego typu, zajmujacy ciagły
Bardziej szczegółowoStruktura danych. Sposób uporządkowania informacji w komputerze. Na strukturach danych operują algorytmy. Przykładowe struktury danych:
Struktura danych Sposób uporządkowania informacji w komputerze. Na strukturach danych operują algorytmy. Przykładowe struktury danych: rekord tablica lista stos kolejka drzewo i jego odmiany (np. drzewo
Bardziej szczegółowo. Podstawy Programowania 2. Jednokierunkowa lista liniowa. Arkadiusz Chrobot. 28 marca 2017
.. Podstawy Programowania 2 Jednokierunkowa lista liniowa Arkadiusz Chrobot Zakład Informatyki 28 marca 2017 1 / 57 Plan.1 Jednokierunkowa lista liniowa.2 Implementacja Typ bazowy i wskaźnik listy Tworzenie
Bardziej szczegółowoPodstawy Programowania 2 Jednokierunkowa lista liniowa. Plan. Jednokierunkowa lista liniowa. Jednokierunkowa lista liniowa. Notatki. Notatki.
Podstawy Programowania 2 Jednokierunkowa lista liniowa Arkadiusz Chrobot Zakład Informatyki 26 marca 2019 1 / 57 Plan Jednokierunkowa lista liniowa Implementacja Typ bazowy i wskaźnik listy Tworzenie listy
Bardziej szczegółowoPodstawy programowania obiektowego
Podstawy programowania obiektowego Technologie internetowe Wykład 6 Program wykładu Pojęcie interfejsu i implementacji Hermetyzacja Pakiety w Javie Składowe statyczne Kompozycja - korzystanie z gotowych
Bardziej szczegółowokiedy znowu uzyska sterowanie, to podejmuje obliczenie od miejsca, w którym poprzednio przerwała, i z dotychczasowymi wartościami zmiennych,
Korutyny Wykład13,str1 tak działa podprogram: PROGRAM GŁÓWNY wywołanie PODPROGRAM tak działają korutyny: KORUTYNA A resume B resume B KORUTYNA B resume A Korutyny Wykład13,str2 Korutyny mają zwykle więcej
Bardziej szczegółowo1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?
1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie? a) konstruktor b) referencje c) destruktor d) typy 2. Które z poniższych wyrażeń są poprawne dla klasy o nazwie
Bardziej szczegółowo