APS1

Podobni dokumenti
Microsoft PowerPoint - OAPS1- P12.ppt

Microsoft PowerPoint - OAPS1- Uvod.ppt

Datum in kraj

PRIPOROČILA ZA OBLIKOVANJE KATALOGOV ZNANJA ZA MODULE V PROGRAMIH VIŠJEGA STROKOVNEGA IZOBRAŽEVANJA

Diapozitiv 1

Teorija kodiranja in kriptografija 2013/ AES

Microsoft Word - avd_vaje_ars1_1.doc

Microsoft Exchange 2013

Učinkovita izvedba algoritma Goldberg-Tarjan Teja Peklaj 26. februar Definicije Definicija 1 Naj bo (G, u, s, t) omrežje, f : E(G) R, za katero v

Šolski center Celje Srednja šola za kemijo, elektrotehniko in računalništvo ELEKTRONSKA REDOVALNICA RAZISKOVALNA NALOGA AVTORJI Aleš Budna Jure Ulaga

Navodila za uporabo Mini snemalnik

Delavnica Načrtovanje digitalnih vezij

ARS1

Vprašanja za 2. izpitno enoto poklicne mature Strokovni predmet NPA Vprašanja Visual C# (4. letnik) 1. Uporabniški vmesnik razvojnega okolja Visual C#

APS1

Nameščanje Adopt Open Java Development Kit 8

Nameščanje Adopt Open Java Development Kit 8

Microsoft PowerPoint - Java_spremenljivke

Diapozitiv 1

Športno društvo Jesenice, Ledarska 4, 4270 Jesenice, Tel.: (04) , Fax: (04) , Drsalni klub Jesenice in Zv

Urejevalna razdalja Avtorji: Nino Cajnkar, Gregor Kikelj Mentorica: Anja Petković 1 Motivacija Tajnica v posadki MARS - a je pridna delavka, ampak se

Vaja 2 Virtualizacija fizičnih strežnikov in virtualni PC A. Strežnik Vmware ESX Namestitev strežnika VMware ESX 3.5 na fizični strežnik 2. Nas

predstavitev fakultete za matematiko 2017 A

Microsoft Word - M docx

Slide 1

LAMP, MEAN, ANNE – kaj izbrati za razvoj spletne aplikacije?

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/testi in izpiti/ /IZPITI/FKKT-februar-14.dvi

Macoma katalog copy

Podatkovni model ER

Upravljanje sistema COBISS Navodila za uporabo tiskalnika CITIZEN S310II V1.0 VIF-NA-27-SI

Elektronska pošta

Vrste

NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: Faks.: in

Osnove matematicne analize 2018/19

VAJE RID 1 (4), program PTI, šol

Microsoft PowerPoint - Java-rekurzija.ppt

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov

1

Analiza vpliva materiala, maziva in aktuatorja na dinamiko pnevmatičnega ventila

Microsoft Word - M docx

Vse na svojem mestu. informacijski sistem za vodenje skladišč

VSEBINSKI NASLOV SEMINARSKE NALOGE

Presentation Name / Author

Uporaba informacijsko komunikacijske tehnologije v naravoslovju in tehniki

Microsoft Word - CNC obdelava kazalo vsebine.doc

PowerPointova predstavitev

Excel 2016

C:/Users/Matevž Èrepnjak/Dropbox/FKKT/TESTI-IZPITI-REZULTATI/ /Izpiti/FKKT-avgust-17.dvi

Microsoft PowerPoint - PIS_2005_03_02.ppt

Layout 1

1. IDENTIFIKACIJA PODATKOVNEGA NIZA 1.1 Naslov Strukturno-tektonska karta Slovenije 1: Alternativni naslov Strukturno-tektonska karta Slove

Navodila za uporabo programske opreme OTRS verzija Administracijska navodila Avtor navodil: Sebastijan Šilec Datum: December 2007 Center odprte

Microsoft Word - vaje2_ora.doc

Prekinitveni način delovanja PLK Glavni program (OB1; MAIN) se izvaja ciklično Prekinitev začasno ustavi izvajanje glavnega programa in zažene izvajan

Slide 1

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir

Navodila:

Microsoft Word - M _mod..docx

PMJ, XPath

Microsoft PowerPoint - Sequi_SecDAy.ppt

Delavnica Načrtovanje digitalnih vezij

Diapozitiv 1

Osnove verjetnosti in statistika

Diplomska naloga: Prototip informacijskega sistema za shranjevanje računov v digitalni obliki

PowerPoint Presentation

Slide 1

'Kombinatoricna optimizacija / Lokalna optimizacija'

Event name or presentation title

Delavnica za prijavitelje

Sestavljanje in re\unhbox \bgroup \let \unhbox \setbox \hbox {s\global \mathchardef \spacefactor }\ac

E-nepremična inženirska zakladnica

Delavnica za prijavitelje

4.Racionalna števila Ulomek je zapis oblike. Sestavljen je iz števila a (a ), ki ga imenujemo števec, in iz števila b (b, b 0), ki ga imenujemo imenov

Slajd 1

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Andraž Drčar Prevajanje javanskih programov z vstavljeno zložno kodo DIPLOMSKO DELO UNI

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

Objektno usmerjeno programiranje

Oblikovanje in razvijanje spletnih strani

PowerPointova predstavitev

Razširitev sistema ALGator za dolocanje mej parametrov testnih primerov

5 SIMPLICIALNI KOMPLEKSI Definicija 5.1 Vektorji r 0,..., r k v R n so afino neodvisni, če so vektorji r 1 r 0, r 2 r 0,..., r k r 0 linearno neodvisn

an-01-sl-Temperaturni_zapisovalnik_podatkov_Tempmate.-S1.docx

Zavod sv. Stanislava Škofijska klasična gimnazija Programiranje v Pythonu Program za računanje Maturitetna seminarska naloga iz informatike Kandidat:

3dsMax-Particle-Paint

PowerPointova predstavitev

Chapter 1

RAČUNALNIŠKI PRAKTIKUM d o c. d r. A N D R E J T A R A N E N K O Kdo bo z vami? Predavatelj: dr. Andrej Taranenko

Navodila za nastavitev mail odjemalca na ios in Android napravah TELEFONI iphone (ios 12) Predlagamo, da do svoje študentske e-pošte dostopate s pomoč

Slide 1

Microsoft Word - Navodila za uporabo 1.1.doc

PowerPoint Presentation

Vrstne sponke Vrstne sponke Pri nizkonapetostnih povezavah uporabljamo različne spojne elemente za ustvarjanje učinkovitih žičnih povezav. Varnost pov

SLO - NAVODILO ZA UPORABO IN MONTAŽO Št

Microsoft Word - Pravila - AJKTM 2016.docx

Microsoft PowerPoint - petek A-sambolicbeganovic [Read-Only] [Compatibility Mode]

PowerPoint Presentation

Pogodba

UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Leon Bošnjak VPLIV PODOBNOSTI NA USPEŠNOST KLASIFIKACIJE EVOLUCIJSKIH OD

Spoznajmo PowerPoint 2013

Transkripcija:

Algoritmi in podatkovne strukture 1 Visokošolski strokovni študij Računalništvo in informatika Abstraktni podatkovni tipi Jurij Mihelič, UniLj, FRI

Podatkovni tipi Razvil Pascal, Oberon itd. Software is getting slower more rapidly than hardware becomes faster. Niklaus Wirth, 1943 - Algorithms + Data Structures = Programs Razvil jezik Scala,, generike v javi. Martin Odersky, 1958 Podatki so tmelj vsakega programa

Podatkovni tipi Primer: števila cela števila dvojiški komplement decimalna števila operacije +, -, *, /, % Java izvedbe: byte, short, int, long operacije: +, -, *, / Java izvedbe: float, double IEEE 745 standard Katre vrednost zaseda byt, short, foat,?

Podatkovni tipi Podatkovni tip Je matematični model podatkovne strukture. Opis podatkovnega tipa množica vrednosti množica operacij predstavitev podatka razvijalski pogled na podatke

Podatkovni tipi Abstraktni podatkovni tip (ADT abstract data type) množica vrednosti množica operacij brez implementacije oz. predstavitve podatkov uporabniški pogled na podatke matematična definicija obnašanja tipa analogija iz OOP: vmesnik in razred podobno algebrajskim strukturam (vrednosti, operacije)

Podatkovni tipi Objektni opis podatkovna struktura je prejemnik metode ADT s s.operacija(x) Klasični opis podatkovna struktura podana kot argument ADT s operacija(s, x)

Množica Množica (set) matematično gledano: končna množica vsebuje enolične elemente brez vrstnega reda Vreča (bag, multiset) Set/Bag find(x) add(x) remove(x) kot množica dovoljuje ponavljanje elementov

Sklad Sklad (stack) LIFO last-in, first-out vrh sklada operaciji push in pop Stack push(x) pop() isempty() top() push top pop

Vrsta Vrsta (queue) dequeue FIFO first-in, first-out sprednji in zadnji konec vrste operaciji enqueue in dequeue enqueue front Queue enqueue(x) dequeue() isempty() front() back

Vrsta z dvema koncema dvrsta? Vrsta z dvema koncema (deque ali dequeue) dodajanje in odvzemanje spredaj in zadaj Deque enqueue(x) = enqueueback(x) dequeue() = dequeuefront() enqueuefront(x) dequeueback() isempty() front() back() dequeue enqueuefront enqueue front back dequeueback

Vrsta s prednostjo Vrsta s prednostjo (priority queue) odvzemanje spredaj dodajanje s prednostjo enqueue dequeue PriorityQueue front enqueue(p, x) dequeue() front()

Zaporedje Zaporedje (sequence) naključni dostop: get(i), set(i, x) vstavljanje na pozicijo: insert(i, x) brisanje na dani poziciji: delete(i) Sequence get(i) set(i, x) insert(i, x) delete(i) 0 1 2 3 4

Collection Pregled ADT isempty() clear() count() find(x) Set/Bag Stack Queue Sequence find(x) add(x) remove(x) push(x) pop() enqueue(x) dequeue() top() front() get(i) set(i, x) insert(i, x) delete(i) SortedSet Map Deque PriorityQueue min() max() get(k) put(k, v) remove(k) enqueuefront(x) dequeueback() enqueue(p, x) dequeue() back() front()

Algebraični pogled Nat = types: Nat operations: 0: Nat succ: Nat Nat add: Nat Nat Nat equations: n, m Nat add(n, 0) = n add(n, succ(m)) = succ(add(n, m))

Algebraični pogled Int = types: Int operations: 0: Int succ: Int Int pred: Int Int add: Int Int Int equations: n, m Int succ(pred(n)) = n pred(succ(n)) = n add(n, 0) = n add(n, succ(m)) = succ(add(n, m)) add(n, pred(m)) = pred(add(n, m))

Algebraični pogled Stack = types: Item = Int {error} Stack = Item* operations: empty: Stack push: Item Stack Stack pop: Stack Stack top: Stack Item equations: pop(push(x, s)) = s top(push(x, s)) = x pop(empty) = empty top(empty) = error