Datové typy a struktury



Podobné dokumenty
ADT/ADS = abstraktní datové typy / struktury

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh

Lineární datové struktury

Ing. Igor Kopetschke TUL, NTI

Reprezentace dat v informačních systémech. Jaroslav Šmarda

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) b)

2 Strukturované datové typy Pole Záznam Množina... 4

VISUAL BASIC. Práce se soubory

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Da D to t v o é v ty t py IB111: Datové typy

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

Soubory. Hung Hoang Dieu. Department of Mathematics Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 / 7

Dynamické datové struktury I.

Základní datové struktury

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Dynamické datové typy a struktury

Homer. prvky. délka. přední 0 zadní 4. Použití fronty BUS STOP. 3 Lisa. 2 Bart. 4 Maggie. 1 Marge. Grafické znázornění předchozí animace:

4 Datové struktury. Datové struktury. Zobrazení dat v počítači

Sada 1 - Základy programování

Reprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz

Elementární datové typy

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

ALGORITMIZACE A PROGRAMOVÁNÍ

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Sada 1 - Základy programování

Abstraktní datové typy: zásobník

O datových typech a jejich kontrole

Kolekce, cyklus foreach

PA152. Implementace databázových systémů

Fronta (Queue) Úvod do programování. Fronta implementace. Fronta implementace pomocí pole 1/4. Fronta implementace pomocí pole 3/4

Paměti a jejich organizace

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09

Dynamické datové struktury IV.

ABSTRAKTNÍ DATOVÉ TYPY

Datové struktury. Obsah přednášky: Definice pojmů. Abstraktní datové typy a jejich implementace. Algoritmizace (Y36ALG), Šumperk - 12.

Principy operačních systémů. Lekce 7: Souborový systém

ORIENTOVANÉ GRAFY, REPREZENTACE GRAFŮ

Programování v C++, 2. cvičení

VY_32_INOVACE_08_2_04_PR

Úvod do teorie grafů

Systém souborů (file system, FS)

Cílem kapitoly je seznámit studenta se seznamem a stromem. Jejich konstrukci, užití a základní vlastnosti.

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

Konstruktory a destruktory

TÉMATICKÝ OKRUH TZD, DIS a TIS

Datové struktury. alg12 1

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

Struktura a architektura počítačů (BI-SAP) 10

Spojové struktury. Spojová struktura (linked structure):

Struktura programu v době běhu

Maturitní otázky z předmětu PROGRAMOVÁNÍ

VY_32_INOVACE_CTE_2.MA_19_Registry posuvné a kruhové. Střední odborná škola a Střední odborné učiliště, Dubno Ing. Miroslav Krýdl

Strojový kód. Instrukce počítače

Název předmětu: Školní rok: Forma studia: Studijní obory: Ročník: Semestr: Typ předmětu: Rozsah a zakončení předmětu:

2 Datové struktury. Pole Seznam Zásobník Fronty FIFO Haldy a prioritní fronty Stromy Hash tabulky Slovníky

Stromy, haldy, prioritní fronty

Programovací jazyk Pascal

Přijímací zkouška - matematika

Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

Lineární datové struktury

Základní způsoby: -Statické (přidělění paměti v čase překladu) -Dynamické (přiděleno v run time) v zásobníku na haldě

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

1 Nejkratší cesta grafem

7. Datové typy v Javě

POČÍTAČE A PROGRAMOVÁNÍ

Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2.

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest

Základní datové struktury III: Stromy, haldy

B3B33ALP - Algoritmy a programování - Zkouška z předmětu B3B33ALP. Marek Boháč bohacm11

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

NMIN102 Programování /2 Z, Zk

B3B33ALP - Algoritmy a programování - Zkouška z předmětu B3B33ALP. Marek Boháč bohacm11

Základní způsoby: -Statické (přidělění paměti v čase překladu) -Dynamické (přiděleno v run time) v zásobníku na haldě

Kódování signálu. Problémy při návrhu linkové úrovně. Úvod do počítačových sítí. Linková úroveň

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

Číselné soustavy. Binární číselná soustava

Prioritní fronta, halda

Stromy. Příklady. Rekurzivní datové struktury. Základní pojmy

Algoritmizace a programování

Zásobník (LIFO) Opakem zásobníku LIFO je fronta FIFO (First In, First Out první dovnitř, první ven)

ADT STROM Lukáš Foldýna

Algoritmizace a programování

Implementace binárního stromu směrníky

IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write("\nPrumerna teplota je {0}", tprumer);

zapište obslužnou metodu události Click tlačítka a vyzkoušejte chování polevýsledek.text = polečíslo1.text + polečíslo2.text;

Programování v C++ 2, 4. cvičení

Programování v jazyce JavaScript

Distribuované systémy a výpočty

Semestrální práce 2 znakový strom

Maturitní témata. IKT, školní rok 2017/18. 1 Struktura osobního počítače. 2 Operační systém. 3 Uživatelský software.

Zpracování deklarací a přidělování paměti

Úvod do programovacích jazyků (Java)

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Základní pojmy teorie grafů [Graph theory]

Přidělování paměti II Mgr. Josef Horálek

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19

Transkript:

atové typy a struktury Jednoduché datové typy oolean = logická hodnota (true / false) K uložení stačí 1 bit často celé slovo (1 byte) haracter = znak Pro 8-bitový SII kód stačí 1 byte (256 možností) Pro UNIOE jsou potřeba 2 byty (65 tis. možností) Integer = číslo v pevné řádové čárce Pro uložení 2 byty x <-32768, 32767> Longint uložen ve 4 bytech x <-2 31, 2 31-1> Real = číslo v pohyblivé řádové čárce IEEE formát uložen ve 4 bytech Formát ouble - 8 bytů Ordinální datový typ hodnoty typu lze opatřit pořadovými (ordinálními) čísly pořadová čísla jsou základem porovnání hodnot následník - hodnota s ordinálním čísle o 1 větší chůdce - hodnota s ordinálním čísle o 1 menší Ordinální typy: integer každá hodnota je zároveň ordinálním číslem character ordinální čísla jsou dána kódováním (SII) boolean false=0, true=1 Složené (strukturované) datové typy Získáme z jednoduchých datových typů, ale i ze složených hierarchickým postupem Homogenní (položky jsou stejného druhu) S přímým přístupem Pole - rray Jednotlivé položky se identifikují svým indexem 1, 2,, N nebo [1], [2],, [N] Rozsah N nutno znát em (nebo nechat reservu a sledovat kam až je platně naplněno) Pole znaků = znakový řetězec - string - 1 -

S postupným (sekvenčním) přístupem - Proud Streem V paměti obvykle seznam list Na vnějším řízení jako soubor file atový typ množina set množina prvků některého ordinálního typu bázový typ má-li bázový typ N prvků, existuje 2 N možných podmnožin tohoto bázového typu každá podmnožina popsána jednoznačně N-ticí nul a jedniček hodnota 1 je užita v případě, že prvek bázového typu daného pořadí je přítomen, hodnota 0 v případě, že není přítomen pro každý prvek bázového typu je třeba 1 bit pro množinu jsou definovány operace sjednocení, průnik, rozdíl, podmnožina, prvek množiny Nehomogenní (položky různých druhů) Záznam - Record Příklad: Zboží: kód zboží Integer název zboží String (pole znaků) cena zboží Real daň placena NO/NE oolean Objekt Object rozšíření typu záznam obsahuje navíc metody zpracování dat PH = cena zboží * 0,19 Real Ukatel pointer vždy ukazuje na jiný datový typ (bázový typ) obsahuje adresu, na které je uložena hodnota bázového typu může obsahovat i speciální hodnotu nil = ukatel nikam neukazuje ukatel bázový typ - 2 -

Hierarchie složených datových typů složené datové typy je účelné vytvářet na více (i mnoha) hierarchických úrovních rozklad složeného typu je vhodné znázornit graficky jako strom pro homogenní rozklad (opakování téhož typu) je zvykem použít symbol * pro výběr z několika možností se užívá značka O Příklady: Matice reálných čísel typu m n MTIE řádek prvek real 1m 1n Soubor základních údajů o studentech university ŠKOL fakulta student 14 1eof I string jméno adresa prospěch křestní string příjmení string bakal. magis. doktor. semestr 16 zkouška boolean 110 mět 110 zápočet boolean zkouška termín 14 13 Pečlivá analý struktury dat je nezbytná pro návrh programu, který je má zpracovávat. - 3 -

Speciální datové struktury Fronta řada prvků, které jsou na jeden konec fronty přidávány a z druhého konce odebírány přístup FIFO (First In First Out) čátek fronty konec fronty Použití: požadavky na vstupní a výstupní řízení v OS vyrovnávací a synchroniční paměti (buffer) simulační systémy Implementace vyžaduje rychlý přístup na oba konce pole prvků čátek fronty = první index konec fronty = index posledního prvku při odebrání prvku ze čátku fronty nutný posun ostatních prvků o jedno místo F[1] F[2] F[3] F[4] F[5] F[6] čátek konec jednosměrný seznam čátek = ukatel na první prvek seznamu konec = ukatel na poslední prvek seznamu při odebrání prvku z fronty se ukatel čátek přesune na další prvek seznamu NIL čátek konec - 4 -

dvousměrný cyklický seznam navíc jeden prvek seznamu = hlava hlava je čátkem i koncem fronty při vyjmutí prvku z fronty pouze změna ukatele v prvku hlava Zásobník množina prvků, které jsou přidávány i odebírány z téhož konce = vrchol zásobníku přístup LIFO (Last In First Out) vrchol zásobníku dno zásobníku Použití: při volání podprogramu uložení návratové adresy ukládání lokálních proměnných Implementace vyžaduje přístup jen na jeden konec pole prvků vrchol zásobníku = index posledního prvku pole při odebrání prvku z pole se vrcholem stává cházející index Z[1] Z[2] Z[3] Z[4] Z[5] Z[6] - 5 -

jednosměrný seznam vrchol zásobníku = ukatel na poslední prvek seznamu při odebrání prvku ze zásobníku se ukatel na vrchol zásobníku přesune na cházející prvek NIL vrchol zásobníku Graf Graf (orientovaný, neorientovaný) se skládá z uzlů a hran uzly jsou prvky nesoucí informaci a odkazy na další uzly hrany (reprezentovány ukateli) určují vazby mezi uzly Strom je souvislý orientovaný graf bez cyklů (v neorientovaném stromu lze kořen prohlásit libovolný vrchol tím je určena orientace) každý uzel má jednoho chůdce a jednoho nebo více následovníků kořen = nemá žádného chůdce list = nemá žádné následovníky binární strom = každý uzel max. dva následovníky Implementace nejčastěji různé typy seznamu např. binární strom kořen NIL listy NIL NIL NIL NIL - 6 -