Bufory.

Slides:



Advertisements
Podobne prezentacje
Elementarne struktury danych Piotr Prokopowicz
Advertisements

1 Dr Galina Cariowa. 2 Legenda Iteracyjne układy kombinacyjne Sumatory binarne Sumatory - substraktory binarne Funkcje i układy arytmetyczne Układy mnożące.
Zasada zachowania energii
Moduł 5 Temat 1 Poziom 2 Dzielenie się pomysłami.
18 kwietnia 2016 (poniedziałek) Część humanistyczna 19 kwietnia 2016 (wtorek) Część matematyczno – przyrodnicza 20 kwietnia 2016 (środa) Język obcy nowożytny.
ING BANK Faktoring –Jednostkom organizacyjnym Lasów Państwowych oferujemy faktoring krajowy z przejęciem ryzyka wypłacalności odbiorcy (bez regresu, pełny).
Ryzyko a stopa zwrotu. Standardowe narzędzia inwestowania Analiza fundamentalna – ocena kondycji i perspektyw rozwoju podmiotu emitującego papiery wartościowe.
Jeśli chcesz przejść do konkretnego zagadnienia, wybierz je z listy: Dopisanie narzędzia Modyfikacja narzędzia Usunięcia narzędzia Lokalizacja domyślna.
» System Uczniowie Optivum NET+ umożliwia rodzicom bezpłatny stały kontakt ze szkołą. » Pozwala im na bieżąco śledzić postępy edukacyjne dziecka i komunikować.
Prawdy oczywiste Kiedy zarejestrować działalność? - Księgowość bez tajemnic! INFOLINIA: |
Funkcja liniowa Przygotował: Kajetan Leszczyński Niepubliczne Gimnazjum Przy Młodzieżowym Ośrodku Wychowawczym Księży Orionistów W Warszawie Ul. Barska.
ULAMKI ZWYKLE KLASA IV. 2 3 kreska ułamkowa licznik ułamka mianownik ułamka ULamek zwykLy.
Algorytmy Informatyka Zakres rozszerzony
KARTY RATOWNICZE W POLSCE
Po pierwsze: Bądź odważny! Weź los w swoje ręce, w końcu do odważnych świat należy. Niech Twoja odwaga nie oznacza jednak podejmowania ryzyka bez analizy.
5 kwietnia 2016 r. (wtorek) część 1. – język polski i matematyka – godz. 9:00 (80 minut – arkusz standardowy lub 120 minut – czas wydłużony) część 2. –
Teoria masowej obsługi Michał Suchanek Katedra Ekonomiki i Funkcjonowania Przedsiębiorstw Transportowych.
Budżet rodzinny Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu Społecznego.
Opracowały : Aneta Biłanik i Klaudia Będkowska z III c.
Optymalna wielkość produkcji przedsiębiorstwa działającego w doskonałej konkurencji (analiza krótkookresowa) Przypomnijmy założenia modelu doskonałej.
# Analiza cech taksacyjnych drzewostanów przy wykorzystaniu technologii LIDAR 1 15 Sep 2010 Analiza cech taksacyjnych drzewostanów przy wykorzystaniu technologii.
Sieci przepływowe: algorytmy i ich zastosowania.
Wykonał: Mgr Inż. Krzysztof Harwacki. Value Mapping for Lean management Sytuacja stanowi mały, prosty przykład zastosowania mapowania strumienia wartości.
1 Definiowanie i planowanie zadań budżetowych typu B.
Apteka Oliwna Jak poprawnie złożyć zamówienie
U MAD BRO?. Nie wiesz w jaki sposób znalazłeś się w tym pokoju. Nie znasz osób które znajdują się tu z Tobą. Wiesz natomiast, że musicie się stąd wydostać.
ZASTOSOWANIE  Programowanie  Ułatwianie pracy  Szybkie obliczanie  Spisywanie kosztów  Tworzenie tabel i wykresów  Obliczanie średniej, sumy,
Mikroprocesory.
Podstawy teorii przedsiębiorstwa
Podstawy teorii przedsiębiorstwa
Komunikacja ze szkołą i nauczycielami - dziennik elektroniczny
Schematy blokowe.
Podstawowe polecenia systemu
On-the-Fly Garbage Collection
Prezentacja o Ubuntu Jakub Kociemba 2TI.
:23:43 GRZYWACZ Columba palumbus.
Rzymski pokój, czyli zakładki mieszkaniowe
JAK OBLICZYĆ DATĘ WIELKANOCY?
Liczby pierwsze.
Przybliżenia dziesiętne liczb rzeczywistych
Rekursje Tak jak w innych językach funkcje mogą odwoływać się same do siebie Możemy regulować głębokość przed stwierdzeniem błędu (MaxRecursion, $RecursionLimit,
ALGORYTMY I STRUKTURY DANYCH
Wstęp do Informatyki - Wykład 3
Opracowała: Monika Grudzińska - Czerniecka
Optymalizacja programów Open-Source
Przewodnik Udoskonalanie listy wyników w wyszukiwarce naukowej
Jacek Kłeczek Instruktor NPR
Podstawy teorii przedsiębiorstwa
Kurs języka C++ – wykład 13 ( )
Dodawanie liczb całkowitych
Języki programowania.
Akceptacja w Module Wnioski i Postępowania
Laboratorium 1 – obsługa wejść i wyjść
Problem Plecakowy (Problem złodzieja okradającego sklep)
Koszyk danych.
ALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH
PGO Kolekcje Michail Mokkas.
ALGORYTMY I STRUKTURY DANYCH
Implementacja rekurencji w języku Haskell
JAK SIĘ UCZYĆ, ABY SIĘ NAUCZYĆ ?
Jak szukać błędów w Eclipsie?
Wyrok WSA w Bydgoszczy z dnia 27 października 2016 r., I SA/Bd 613/16
Ministerstwo Rolnictwa i Rozwoju Wsi
Autor: Magdalena Linowiecka
Asynchroniczne operacje I/O za pomocą IOCP
Andrzej Majkowski informatyka + 1.
Najważniejsze operacje graficzne w programie GIMP
dr Robert Kowalczyk, PWSZ Płock
Zapis prezentacji:

Bufory

Tablice Spójny obszar pamięci podzielony na komórki. Komórki w tablicy są numerowane liczbami całkowitymi począwszy od 0. Czas dostępu do każdej komórki w tablicy jest stały O(1). Tablica jest strukturą nierozszerzalną. Zastosowanie: można z góry określić ilość danych; jest mało operacji wstawiania albo usuwania danych ze środka tablicy.

Tablice dynamiczne Idea struktury: Trzymamy tablicę z dodatkowymi parametrami: pojemność (liczba wszystkich slotów w tablicy) i zapełnienie (liczba wykorzystanych slotów w tablicy). Gdy tablica się zapełni, powiększamy ją dwukrotnie. Gdy zapełnienie tablicy spadnie poniżej 25%, pomniejszamy ją dwukrotnie.

Tablice dynamiczne Operacje na tablicy dynamicznej: Dostęp do slotów w obrębie zapełnionych. Dodanie nowej komórki na końcu tablicy (może się to wiązać z utworzeniem nowej dwukrotnie większej tablicy i z przepisaniem danych). Usunięcie komórki z końca tablicy (może się to wiązać z utworzeniem nowej dwukrotnie mniejszej tablicy i z przepisaniem danych).

Tablice dynamiczne Czasy operacji na tablicy dynamicznej: Dostęp do zapełnionych slotów O(1) Dodanie nowej komórki na końcu tablicy O(n). Usunięcie komórki z końca tablicy O(n). Uwaga: przeważnie dodanie/usunięcie komórki wymaga czasu O(1). Analiza zamortyzowana: Za pomocą metody księgowania jednostek kredytowych – każda operacja dodawania/usuwania elementu do/z tablicy pozostawia 2 kredyty czasowe do wykorzystania przy przepisywaniu tablicy. Zamortyzowany koszt każdej pojedynczej operacji na tablicy dynamicznej jest stały O(1) i wynosi 3 jednostki czasowe.

Tablice dynamiczne Zastosowanie: nie można z góry określić rozmiaru danych ale potrzebujemy szybkiego dostępu do każdej komórki w tablicy.

Stos Stos (ang. stack) to struktura, która pozwala na gromadzenie i przetwarzanie danych zgodnie z kolejnością ich wejścia do struktury: element który został najpóźniej dodany do struktury zostanie z niej najszybciej usunięty (ang. LIFO – last in first out). Analogia: stos książek na biurku.

Stos Operacje na stosie: Włożenie elementu na szczyt stosu (ang. push) Usunięcie elementu ze szczytu stosu (ang. pop) Podglądnięcie elementu na szczycie stosu (ang. top) Liczba wszystkich elementów na stosie (ang. size)

Implementacja stosu na tablicy Do zwykłej tablicy dokładamy dwie informacje: pojemność stosu (liczba slotów w tablicy), zapełnienie stosu (liczba użytych elementów w tablicy): tab[] – tablica na dane poj – wielkość tablicy zap – zapełnienie tablicy

Implementacja stosu na tablicy Operacja push(x): push(x) { if (zap = poj) error; tab[zap] = x; zap++; } Operacja pop(): pop() { if (zap = 0) error; zap--; return tab[zap]; }

Kolejka Kolejka (ang. queue) to struktura, która pozwala na gromadzenie i przetwarzanie danych zgodnie z kolejnością ich wejścia do struktury: element który został najwcześniej dodany do struktury zostanie z niej najszybciej usunięty (ang. FIFO – first in first out). Analogia: kolejka do kasy.

Kolejka Operacje na kolejce: Włożenie elementu na koniec kolejki (ang. enqueue) Usunięcie elementu z początku kolejki (ang. dequeue) Podglądnięcie elementu na początku kolejki (ang. front) Liczba wszystkich elementów w kolejce (ang. size)

Implementacja kolejki na tablicy Do zwykłej tablicy dokładamy trzy informacje: pojemność koleki (liczba slotów w tablicy), początek kolejki (numer indeksu komórki w którym znajduje się pierwszy element w kolejce), zapełnienie kolejki (liczba użytych elementów w tablicy): tab[] – tablica na dane poj – wielkość tablicy zap – zapełnienie tablicy pocz – miejsce, od którego rozpoczyna się kolejka Uwaga: zawijamy tablicę.

Implementacja kolejki na tablicy Operacja enqueue(x): enqueue(x) { if (zap = poj) error; tab[(pocz + zap) mod poj] = x; zap++; } Operacja dequeue(): dequeue() { if (zap = 0) error; x = tab[pocz]; pocz = pocz mod poj; zap--; return x; }