INF 295 Algoritmer og datastrukturer Forelesning 1 - kapittel 1 Introduksjon Hans F. Nordhaug (Ola Bø) (Ketil Danielsen, 2007)

Slides:



Advertisements
Liknende presentasjoner
Truls Fretland - Seminar 29.november 2005 Flervalgsøvinger og tester I diskret matematikk og algoritmer høsten 2005.
Advertisements

@ TDT4120 Algoritmer og datastrukturer Trær og søking i dem, samt litt diverse emner Åsmund Eldhuset asmunde idi.ntnu.no.
TDT4120 Algoritmer og datastrukturer Trær og søking i dem, samt litt diverse emner Kristian Veøy
En innføring i spillet: Dobbeltkrig – Grønn
Ulike sorteringsmetoder Kompleksitet av dem
Variasjoner i subklasser.  Prinsippskissen er meget enkel  En abstrakt klasse har en konkret metode og en abstrakt metode  Hver subklasse realiserer.
Memoisering og dynamisk programmering
Forside Introduksjon Fibonacci-tall Memoisering DP Neste uke Spørsmål Introduksjon til memoisering og dynamisk programmering Åsmund Eldhuset asmunde *at*
Kompleksitetsanalyse
Forside Motivasjon Analyse Forside Motivasjon Analyse  -notasjon O og  Relasjoner Klasser Fallgruver Spørsmål Kompleksitetsanalyse Åsmund Eldhuset asmunde.
INF 295 Forelesning 15 - kap 9 Grafer Hans Fr. Nordhaug (Ola Bø)
Objektorientert utforming In 140 Forelesning Nr 13 Sommerville kap 12 – del 2.
Algoritmiske metoder Innhold: Effektivitetsbetraktninger Programmeringsteknikker Datastrukturer Algoritmer tilknyttet datastrukturene Lærebok: Hafting/Ljosland:
Klargjøring fra forrige gang
In 135 Datamodellering og databaser Introduksjon, Enkeltentiteten, Informasjon Ola Bø.
Kapittel 11 Rekursjon Å tenke rekursivt Rekursjon er ein programmeringsteknikk der ein metode kallar seg sjølv for å fullføre ei oppgåve For å kunne.
Hvordan uttrykke krav Kapittel 4.4. Innledning Målet er å samles rundt ett entydig språk som ikke kan misforståes eller feiltolkes. Gjør sporbarheten.
Gjør om fra direkte til indirekte tale. Han sier … 
TALL I ARBEID Lærebok ● Elevnettsted ● Lærernettsted.
INF 295 Algoritmer og datastrukturer Forelesning 21 Merge, Quick og Bøtte, Radix og ekstern sortering Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 7 ADT Lister, Stakker og Køer Hans Fr. Nordhaug (Ola Bø)
INF 295 forelesning 14 - kap 8 Disjunkt mengde ADT Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 9a Søketrær Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 8 Trær Hans Fr. Nordhaug (Ola Bø)
INF 295 forelesning 13 - kap 6 Prioritetskø (Heap) Hans Fr. Nordhaug (Ola Bø)
INF 295 Forelesning 16 - kap 9 Minimalt spenntre og korteste vei i grafer Hans Fredrik Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 11 Når RAM ikke strekker til - B-trær og Utvidbar hashing Hans Fr. Nordhaug (Ola Bø)
INF 295 Forelesning 17 - kap 9 Korteste vei i grafer Hans Fr. Nordhaug (Ola Bø)
INF 295 Forelesning 20 - Kapittel 7 Boble-, innstikk-, Shell-, Heap-, Quick-, Mergesortering Hans Fr. Nordhaug (Ola Bø)
Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 4 Algoritmeanalyse Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 2 - kapittel 1 Hans F. Nordhaug (Ola Bø)
INF 295 forelesning 13 - kap 6 Andre prioritetskøer Hans Fr. Nordhaug (Ola Bø)
INF 295 Forelesning 18 - kap 9 Aktivitetsgrafer
INF 295 Algoritmer og datastrukturer Forelesning 6 ADT Lister, Stakker og Køer Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 24 Repetisjon
INF 295 Algoritmer og datastrukturer Forelesning 9b Balanserte (binære) trær Hans Fr. Nordhaug.
INF 295 Forelesning 19 - Dynamisk programmering Korteste vei alle til alle (Floyd) Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 10 Invarianter og Hashing Hans Fr. Nordhaug (Ola Bø)
Landskonferansen for fysikkundervisning Gol 10. – 13. august 2008
Hovedfagspresentasjon
INF 4130 Eksamen 2008 Gjennomgang.
Magnus Haug Algoritmer og Datastrukturer
AI - Kunstig Intelligens
INF 295 forelesning 12 Repetisjon per 17. februar Hans F. Nordhaug (Ola Bø)
Designing a DHT for low latency and high through TDT2 – Avanserte distribuerte systemer Øystein Ellingbø.
INF 295 Algoritmer og datastrukturer Forelesning 5 Algoritmeanalyse Hans Fr. Nordhaug (Ola Bø)
INF 295 Algoritmer og datastrukturer Forelesning 22 Teknikker for algoritmeutvikling Hans Fr. Nordhaug/ Ola Bø.
Forside Intro Fibonacci-tall Memoisering DP Longest increasing subsequence Betingelser Matrise- multiplikasjon Longest common subsequence Grådig vs. DP.
Sorterings- Algoritmer Algoritmer og Datastrukturer.
1 INF oktober 2010 Stein Krogdahl Foreløpige foiler Dagens program: –Første time: Kap 23.5: Trær og strategier for spill med to spillere –Andre.
Usikkerheter og sannsynligheter Petter Mostad
INF 295 Algoritmer og datastrukturer Web-spider Oblig 3 Hans Fr. Nordhaug (Ola Bø)
Matematikk 1 årskurs 26. oktober 2009
§4. Irrasjonale og komplekse tall
INF 295 Algoritmer og datastrukturer Forelesning 23 Kompleksitet Hans Fr. Nordhaug/ Ola Bø.
Introduksjon til in 140 Systemering. In 140 Systemering Forelesninger Rom 112 –Mandag –Torsdag Lærebok: –Sommerville, Ian. Software.
Sosialkonstruktivisme
Professor Guttorm Sindre Institutt for datateknikk og informasjonsvitenskap Programmering i Python.
Sudoku Mål: Lage et enkelt system som løser Sudoku-oppgaver.
Sinus 1P Sinus 2P Sinus 1P-Y Trondheim, 6. mai 2014.
TDT4105 Informasjonsteknologi, grunnkurs
De fire regneartene.
INF5110 – 5. og 7. mai 2015 Stein Krogdahl, Ifi, UiO
4 forskjellige måter å løse 2-grad likning
Bevis i matematikk- undervisningen
SIV : Ett gjennomsnitt Kapittel /12/2018 Fred Wenstøp.
SIV : Regresjon Kapittel 13 17/01/2019 Fred Wenstøp.
Eric Jul PSE Inst. for informatikk
IN3030 – Effektiv parallellprogrammering Uke 1 2. del, våren 2019
Utskrift av presentasjonen:

INF 295 Algoritmer og datastrukturer Forelesning 1 - kapittel 1 Introduksjon Hans F. Nordhaug (Ola Bø) (Ketil Danielsen, 2007)

Praktiske forhold Lærebok Obligatoriske oppgaver Ukeoppgaver Hjelpelærer (faglærer) E-postliste / ClassFronter Arbeidsformer

Mål for kapittelet Programytelse på store og små datamengder Oppsummering av matematisk bakgrunn Rekursjon Viktige trekk ved Java

Hva handler boka om Mange programmeringsproblemer kan løses på forskjellige måter - med forskjellige algoritmer Algoritmene har ulik effektivitet Et problem kan løses på sekunder eller på dager avhengig av algoritmen Store datamengder fører lett til problemer Det er m.a.o. ikke nok at algoritmen virker - den må også være rask nok -- vi må kunne estimere kjøretid (uten å programmere), foresøke å lage raskere algoritmer, finne flaskehalser m.m.

eksempler gjenganger: Selection Problem - finn k'de høyeste (eller laveste) verdi i en mengde A Sorter A og finn k'de element (1.1) Sorter første k i A, deretter innstikk av eventuelle (1.1) Quickselect (7.7.6, Hoare ca. 1961) raskere Quickselect (10.2.3) ordpusler, dronningproblemet,... oppgave: Lag den enkle varianten av selection.

Matematisk repetisjon (fra diskret matematikk) Potenser Logaritmer Rekker Modulus-aritmetikk Bevis Induksjonsbevis Bevis ved selvmotsigelse

Kort repetisjon av rekursjon (fra videreg.prog.) Direkte rekursjon har vi når en metode kaller seg selv Hva er så indirekte rekursjon Gir ofte enkle algoritmer Kan være ineffektivt (når samme beregning gjentas i ulike rekursjonskall) Kan være umulig (ved stor rekursjonsdybde)

Regler for rekursjonsalgoritmer Regler 1. Basistilfelle som kan løses uten rekursjon må finnes 2. Gjør framgang mot basistilfellet 3. Anta at alle rekursive kall virker 4. Rentesrente regelen - Dupliser aldri arbeid ved å gjenta samme løsning i separate rekursive kall.