Kompleksitetsanalyse Helge Hafting Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LO117D Algoritmiske metoder

Save this PDF as:
 WORD  PNG  TXT  JPG

Størrelse: px
Begynne med side:

Download "Kompleksitetsanalyse Helge Hafting 25.1.2005 Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LO117D Algoritmiske metoder"

Transkript

1 Helge Hafting Opphavsrett: Forfatter og Stiftelsen TISIP Lærestoffet er utviklet for faget LO117D Algoritmiske metoder Innhold Hva er en algoritme? Analysere algoritmer Introduksjon Kjøretidsanalyse ved opptelling Kompleksitet Forenkling av kjøretidsfunksjoner Asymptotisk notasjon, O, Ω, og Θ Mer analyse Bruk av forenkling i praksis Kode inni løkker If-tester Resymé: I denne leksjonen ser vi på hva kompleksitetsanalyse går ut på, og asymptotisk notasjon. Lær det godt, for dette brukes videre i resten av leksjonene. Pensum for denne leksjonen er kapittel 1 i læreboka. 1.1 Hva er en algoritme? En veldefinert beregningsprosedyre som tar en verdi eller sett med verdier som input, og produserer en verdi eller et sett verdier som output. Merk at algoritmen må være veldefinert, dvs. at det ikke er det minste tvil om hva som menes. (Man kan f. eks. ikke lage algoritmer for å skrive dikt, da det er delte meninger om hva som er god poesi.)

2 Et verktøy for å løse et vel-definert beregningsproblem. Relasjonen mellom input og output definerer problemet, og en algoritme beskriver en mulig måte å oppnå det. Det kan naturligvis finnes mange ulike algoritmer som løser et gitt problem. En korrekt algoritme løser alltid det gitte problemet, dvs. den stanser og har korrekt svar for alle mulige input-sett. En feil algoritme kan gi gale svar, eller fortsette uten å stanse noen gang. Slike algoritmer kan imidlertid være nyttige hvis vi kan kontrollere feilraten. De brukes gjerne når en korrekt algoritme er for «dyr» i bruk. F.eks. algoritmer som lager nesten-optimale løsninger på svært kompliserte problemer. Det er ingen som har implementert en perfekt algoritme for å spille sjakk, men det finnes temmelig gode sjakkprogrammer likevel. En algoritme kan uttrykkes i et hvilket som helst programmeringsspråk, og også i vanlig tale. 1.2 Analysere algoritmer Introduksjon Analyse går ut på å forutsi ressursbruk, dvs. kjøretid (og noen ganger minne). Ved å analysere flere algoritmer finner man den mest effektive av dem. En helt nøyaktig analyse kan bli svært komplisert selv for enkle problemer. Kjøretid avhenger ikke nødvendigvis bare av algoritmen, men også av input-data. Vi analyserer ikke for å finne eksakt tidsforbruk i sekunder. Denne tiden avhenger jo også av hvor kraftig datamaskinen er, hvilket programmeringsspråk vi bruker og hvor effektiv kompilatoren er. I stedet finner vi ut hvordan kjøretiden for algoritmen avhenger av datamengden. Hvis vi ved analyse f.eks. finner ut at kjøretiden for en gitt algoritme er proporsjonal med datamengden, kan vi bruke dette til å beregne eksakte kjøretider utfra en test. Hvis denne algoritmen kan behandle dataelementer på 6ms, vil det ta 60ms å behandle dataelementer, og 600ms å behandle elementer. Med en lineær sammenheng fører altså en tidobling av datamengden til en tidobling av kjøretiden. Hvis analysen derimot forteller oss at kjøretiden er proporsjonal med kvadratet av datamengden, får vi en annen sammenheng. Hvis dataelementer kan behandles på 6ms vil dermed dataelementer trenge 600ms, og elementer vil trenge 60000ms eller ett minutt. Med en kvadratisk sammenheng hundredobles kjøretiden når vi tidobler datamengden Kjøretidsanalyse ved opptelling Som vi ser på side 9 og 10 i læreboka, kan vi analysere ved å telle opp hvor mange enkle operasjoner ett program gjør når det kjøres. Programmer som algoritme 1.1 er enkle, de gjør et fast antall operasjoner som kan telles opp. Algoritme 1.2 er mer interessant. Her har vi en løkke som utføres n ganger, der n er størrelsen på tabellen. I dette programmet har vi altså en lineær sammenheng mellom datamengde og kjøretid. 2 av 6

3 1.3 Kompleksitet Forenkling av kjøretidsfunksjoner Det som er interessant er kompleksiteten for kjøretidsfunksjonen. Andre deler av funksjonen, (konstanter, ledd med lavere kompleksitet) ignoreres. Det er leddet med høyest kompleksitet som er avgjørende hvis datamengden blir stor nok, og vi ser rett og slett bort fra andre ledd. Beregningene våre blir mye enklere når vi gjør flittig bruk av slike forenklinger. Fjerne ledd med lavere orden enn det høyeste Vi fant ut at algoritme 1.2 har en kjøretid på T (n) = 3n + 3. Leddet med høyest orden her, er 3n. Det er lett å se at leddet 3 utgjør en veldig liten del av kjøretiden når n blir stor, f.eks. er kjøretiden T (10 000) = handler først og fremst om å se på kjøretider for store datamengder, og derfor ser vi bort fra ledd med lav orden som en form for avrunding. Med denne regelen forenkler vi kjøretiden slik: T (n) = 3n + 3 3n. Fjerne konstante faktorer Mer overraskende for noen, er at vi også ser bort fra konstante faktorer. Altså T (n) 3n n. Dette gjør vi fordi det nøyaktige antallet «enkle operasjoner» ikke er så veldig interessant. Det interessante er sammenhengen mellom datamengde og kjøretid, er den lineær, kvadratisk, kubisk, eksponentiell eller logaritmisk? Reell kjøretid (i sekunder) er produktet av kjøretidsfunksjonen og en konstant som avhenger av hvor rask maskinen vår er. Fjerner vi konstantfaktoren fra kjøretidsfunksjonen får vi bare en annen maskinkonstant, men kjøretidsfunksjonen blir enklere. Delkapittel 1.3 i læreboka tar for seg det matematiske grunnlaget for disse forenklingene. Vi regner vanligvis en algoritme for mer effektiv enn en annen hvis det verste tilfellets kjøretid har lavere orden enn hva tilfellet er for den andre algoritmen. Dette kan godt være feil for små datamengder, ettersom vi har forenklet den nøyaktige formelen. Men det vil alltid stemme hvis datamengden blir stor nok, ettersom leddet med høyeste orden vil bli mye større enn de lavereordens leddene vi fjernet for store verdier av n. an 2 + bn vil f. eks. alltid være bedre enn n 3 for tilstrekkelig store n, uansett verdien av konstantene a og b. I dette tilfellet holder det at n a og n 2 b n b Asymptotisk notasjon, O, Ω, og Θ. 1 Definisjoner 2 O er en øvre grense for kjøretid. Nøyaktig definisjon står på side 11 i læreboka. Har vi analysert rett med hensyn på øvre grense, kan vi altså garantere at kjøretiden aldri blir verre enn det O- notasjonen forteller oss. Hvis T (n) O ( n 2), der n er antall dataelementer, vil kjøretiden for 1 Ω: Omega, Θ: Theta. De greske bokstavene står forøvrig på side 275 i læreboka. 2 For de som har glemt dette, er en mengdeoperasjon. a B leses som «a er med i mengden B». Uttrykk som T (n) O ( n 2) leses som «funksjonen T (n) er med i mengden av funksjoner som har n 2 som asymptotisk øvre grense.» 3 av 6

4 programmet i verste fall være proporsjonal med kvadratet av antall dataelementer. Vi analyserer ofte med tanke på det verste tilfellet, da det har en tendens til å være avgjørende. Det er som regel ikke noe problem om programmet i blant går raskere enn ventet, men det må aldri gå tregere enn vi har lovt! Ω er den nedre grensen for kjøretid, og definisjonen står på side 12 i læreboka. Det er ikke så ofte vi ser på den nedre grensen, men det hender, og den forteller altså hvor fort programmet kan kjøres hvis vi er maksimalt heldige med inndata. Θ gir oss både øvre og nedre grense for kjøretid på en gang. Hvis kjøretiden for programmet vårt f.eks. er gitt ved T (n) Θ ( n 3) er det det samme som å si at T (n) O ( n 3) og T (n) Ω ( n 3). Legg merke til at kjøretiden for noen programmer simpelthen ikke kan uttrykkes med Θ, det skjer når den øvre og nedre grensen har ulik kompleksitet. Vi skal f.eks. senere se at innsettingssortering har kjøretid gitt ved T (n) Ω(n) og T (n) O ( n 2). Øvre og nedre grense er ulike, og Θ-notasjon kan ikke brukes. I praksis betyr dette at kjøretiden for en datamengde av en gitt størrelse kan variere ganske mye, avhengig av detaljer i inndata. Regneregler Jeg har allerede gitt en uformell forklaring på hvorfor vi kan forenkle kjøretiden ved å fjerne konstante faktorer og ledd med lavere orden. Dette kan også vises matematisk: Fjerne ledd med lavere orden Kjøretidsfunksjonen T (n) kan skrives som f 1 (n) + f 2 (n), der f 1 (n) er leddet med høyest orden, og f 2 (n) er summen av ledd med lavere orden. For å vise at ledd med lavere orden kan kuttes ut uten å endre de asymptotiske grensene (øvre og nedre) for kjøretid, må vi vise at ( f 1 (n) + f 2 (n)) Θ( f 1 (n)). Det kan vi gjøre ved å sjekke mot definisjonen av Θ, slik den står på side 13 i læreboka. Vi får: 0 c 1 f 1 (n) f 1 (n) + f 2 (n) c 2 f 1 (n) Dette må gjelde for alle verdier av n n 0, og passende verdier for c 1 og c 2. Kjøretidsfunksjonen er en positiv funksjon, dermed må også leddet med høyeste orden, f 1 (n), være positivt. (Hvis ikke, ville hele funksjonen kunne blitt negativ, men den er positiv.) Vi kan derfor dele med f 1 (n), og får: 0 c f 2 (n) f 1 (n) c 2 f Siden f 1 (n) har høyere orden enn f 2 (n) vet vi at lim 2 (n) n f 1 (n) = 0, så vi ser at det ikke blir noe problem å oppfylle ulikheten for svært store verdier av n. Hvis vi velger en n 0 slik at f 1 (n) f 2 (n) for alle n n 0 vil f 2(n) f 1 (n) 1 for n n 0. Dermed oppfylles ulikheten ovenfor for c 1 = 1 og c 2 = 2, og vi har vist at ledd med lavere orden enn det som har høyest orden kan fjernes når vi opererer med asymptotisk notasjon. 4 av 6

5 Fjerne konstante faktorer Å fjerne konstante faktorer uten at de asymptotiske grensene for kjøretid forandrer seg, forutsetter at a f (n) Θ( f (n)) Det kan vises ved å sette dette inn i definisjonen for Θ, og deretter sjekke om det er mulig å oppfylle betingelsene. Vi får: 0 c 1 f (n) a f (n) c 2 f (n) Dette skal gjelde for alle mulige verdier av a, og for alle n n 0. Vi kan velge c 1 og c 2 fritt. Det forutsettes at f (n) er en positiv funksjon, og vi kan derfor dele hele uttrykket med f (n). Vi får: 0 c 1 a c 2 Dette er lett å oppfylle, f.eks. med c 1 = c 2 = a. Altså kan vi fjerne konstante faktorer når vi regner på asymptotiske uttrykk for kjøretid. 1.4 Mer analyse Bruk av forenkling i praksis Forenklinger av kjøretid gjør beregningene enklere for oss. Det beste er at vi kan bruke dem umiddelbart under analysen. Vi trenger ikke egentlig telle oss frem til at kjøretiden for et program T (n) = 16n+45, for så å forenkle dette til T (n) Θ(n). Slike forenklinger kan vi gjøre direkte under opptelling. Når vi ser at programmet har en løkke som utføres n ganger trenger vi ikke telle opp at det er nøyaktig 16 operasjoner i løkka. Alt vi trenger å vite er at det er et konstant antall operasjoner i løkka, altså ikke en løkke til inni den ytre løkka. Vi har altså funnet en asymptotisk kompleksitet på Θ(n). De 45 enkle operasjonene trenger vi heller ikke ta så tungt, vi ser det er en serie enkle operasjoner som utføres én gang, samlet kjøretid for disse har lavere kompleksitet enn løkka så vi tar dem ikke med Kode inni løkker Som nevnt i boka, er kjøretiden for løkka lik antall ganger løkka utføres, multiplisert med kjøretiden for innholdet i løkka. Enkle løkker Hvis løkka bare inneholder en serie enkle operasjoner, blir altså kjøretiden lik antall ganger løkka utføres. Dette er et vanlig tilfelle i praksis. Antall gjennomløp for løkka er som oftest proporsjonal med datamengden, men ikke alltid. I blant kommer en over løkker som går et fast antall ganger uavhengig av størrelsen på datasettet. Algoritme 1.5 har et eksempel på en slik løkke. En sjelden gang kan en også komme over en løkke som f.eks. går fra 1 til n 2 eller lignende. Det skjer ikke ofte, men vær oppmerksom på muligheten. 5 av 6

6 Løkker inni løkker Løkker inni hverandre er ikke noe problem. Det er bare å anvende regelen om at kjøretid for ytre løkke er lik antall ganger den utføres, multiplisert med kjøretiden for innholdet. Hvis «innholdet» består av ennå en løkke anvender vi regelen en gang til. Algoritme 1.3 viser tre løkker inni hverandre. Hver løkke utføres n ganger, så den totale kjøretiden blir Θ ( n 3). Løkker etter hverandre Løkker som står etter hverandre er som all annen sekvensiell kode, vi legger sammen kjøretidene. Tre løkker som hver utføres n ganger etter hverandre gir altså en total kjøretid på 3n, som forenkles til Θ(n) If-tester Noen if-tester påvirker ikke analysen. Ta f.eks. «if (t[i] > 17) a++;». Hvis testen slår til får vi to enkle operasjoner, selve testen og «a++». Hvis testen ikke slår til, får vi en enkel operasjon. Men både 1 og 2 forenkles til Θ(1), så utfallet av testen påvirker ikke kjøretiden i dette tilfellet. En if-test kan imidlertid påvirke kjøretiden ganske mye. Den kan f.eks. bestemme om en løkke skal kjøre eller ikke. I blant er det opplagt hvor mange ganger en test vil slå til, da blir analysen enkel. Da ser vi på kompleksiteten for de to mulige utfallene, og multipliserer hver med antall ganger vi får det aktuelle resultatet. Eksempel: En if-test som sjekker om tellevariabelen i en løkke er et oddetall, vil slå til halvparten av gangene. Ofte er vi ikke så heldige, og kan ikke si hvor ofte en if-test slår til. Det kan f.eks. avhenge av inndata. Når vi er ute etter den øvre grensen for kjøretid, ser vi på kompleksiteten for de mulige utfallene av testen, og antar at det verste (mest komplekse) tilfellet skjer så ofte som mulig. Slik finner vi den øvre grensen for tidsforbruk, uttrykt i O-notasjon. Hvis vi er på utkikk etter den nedre grensen antar vi at if-testen alltid velger det minst komplekse alternativet, og finner dermed kjøretiden i Ω-notasjon. Algoritme 1.6 på side 17 i læreboka er et slik eksempel, og vi kommer til å se flere når vi ser på standardalgoritmer. 6 av 6

Algoritmer - definisjon

Algoritmer - definisjon Algoritmeanalyse Algoritmer - definisjon En algoritme er en beskrivelse av hvordan man løser et veldefinert problem med en presist formulert sekvens av et endelig antall enkle, utvetydige og tidsbegrensede

Detaljer

Algoritmeanalyse. (og litt om datastrukturer)

Algoritmeanalyse. (og litt om datastrukturer) Algoritmeanalyse (og litt om datastrukturer) Datastrukturer definisjon En datastruktur er den måten en samling data er organisert på. Datastrukturen kan være ordnet (sortert på en eller annen måte) eller

Detaljer

Løsningsforslag for utvalgte oppgaver fra kapittel 3

Løsningsforslag for utvalgte oppgaver fra kapittel 3 Løsningsforslag for utvalgte oppgaver fra kapittel 3 3.3 1 Demo innsettingssortering..................... 1 3.5 1 Demo velgesortering........................ 2 3.5 2 Velgesortering...........................

Detaljer

Algoritmer og datastrukturer Kapittel 1 - Delkapittel 1.8

Algoritmer og datastrukturer Kapittel 1 - Delkapittel 1.8 Delkapittel 1.8 Algoritmeanalyse Side 1 av 12 Algoritmer og datastrukturer Kapittel 1 - Delkapittel 1.8 1.8 Algoritmeanalyse 1.8.1 En algoritmes arbeidsmengde I Delkapittel 1.1 ble det definert og diskutert

Detaljer

Kompleksitetsanalyse

Kompleksitetsanalyse :: Forside Kompleksitetsanalyse Åsmund Eldhuset asmunde *at* stud.ntnu.no folk.ntnu.no/asmunde/algdat/ Først: studietips OpenCourseWare fra MIT Forelesninger tatt opp på video Algoritmekurset foreleses

Detaljer

Forelesning 29: Kompleksitetsteori

Forelesning 29: Kompleksitetsteori MAT1030 Diskret Matematikk Forelesning 29: Kompleksitetsteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo Forelesning 29: Kompleksitetsteori 13. mai 2009 (Sist oppdatert: 2009-05-17

Detaljer

MAT1030 Forelesning 30

MAT1030 Forelesning 30 MAT1030 Forelesning 30 Kompleksitetsteori Roger Antonsen - 19. mai 2009 (Sist oppdatert: 2009-05-19 15:04) Forelesning 30: Kompleksitetsteori Oppsummering I dag er siste forelesning med nytt stoff! I morgen

Detaljer

LO118D Forelesning 2 (DM)

LO118D Forelesning 2 (DM) LO118D Forelesning 2 (DM) Kjøretidsanalyse, matematisk induksjon, rekursjon 22.08.2007 1 Kjøretidsanalyse 2 Matematisk induksjon 3 Rekursjon Kjøretidsanalyse Eksempel Finne antall kombinasjoner med minst

Detaljer

INF 4130. 8. oktober 2009. Dagens tema: Uavgjørbarhet. Neste uke: NP-kompletthet

INF 4130. 8. oktober 2009. Dagens tema: Uavgjørbarhet. Neste uke: NP-kompletthet INF 4130 8. oktober 2009 Stein Krogdahl Dagens tema: Uavgjørbarhet Dette har blitt framstilt litt annerledes tidligere år Se Dinos forelesninger fra i fjor. I år: Vi tenker mer i programmer enn i Turing-maskiner

Detaljer

Analyse og metodikk i Calculus 1

Analyse og metodikk i Calculus 1 Analyse og metodikk i Calculus 1 Fredrik Göthner og Raymi Eldby Norges teknisk-naturvitenskapelige universitet 3. desember 01 1 Innhold Forord 3 1 Vurdering av grafer og funksjoner 4 1.1 Hva er en funksjon?.........................

Detaljer

Forelesning 30. Kompleksitetsteori. Dag Normann mai Informasjon. Oppsummering

Forelesning 30. Kompleksitetsteori. Dag Normann mai Informasjon. Oppsummering Forelesning 30 Kompleksitetsteori Dag Normann - 14. mai 2008 Informasjon Det er lagt ut program for orakeltjenestene i MAT1030 denne våren på semestersiden. Det blir ikke ordinære gruppetimer fra og med

Detaljer

Forelesning 30: Kompleksitetsteori

Forelesning 30: Kompleksitetsteori MAT1030 Diskret Matematikk Forelesning 30: Kompleksitetsteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo Forelesning 30: Kompleksitetsteori 19. mai 2009 (Sist oppdatert: 2009-05-19

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Forelesning 30: Kompleksitetsteori Dag Normann Matematisk Institutt, Universitetet i Oslo 14. mai 2008 Informasjon Det er lagt ut program for orakeltjenestene i MAT1030 denne

Detaljer

Forelesning 14. Rekursjon og induksjon. Dag Normann februar Oppsummering. Oppsummering. Beregnbare funksjoner

Forelesning 14. Rekursjon og induksjon. Dag Normann februar Oppsummering. Oppsummering. Beregnbare funksjoner Forelesning 14 og induksjon Dag Normann - 27. februar 2008 Oppsummering Mandag repeterte vi en del om relasjoner, da spesielt om ekvivalensrelasjoner og partielle ordninger. Vi snakket videre om funksjoner.

Detaljer

Algoritmer - definisjon

Algoritmer - definisjon Algoritmeanalyse Algoritmer - definisjon En algoritme* er en beskrivelse av hvordan man løser et veldefinert problem med en presist formulert sekvens av et endelig antall enkle, utvetydige og tidsbegrensede

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Forelesning 14: Rekursjon og induksjon Dag Normann Matematisk Institutt, Universitetet i Oslo 27. februar 2008 Oppsummering Mandag repeterte vi en del om relasjoner, da spesielt

Detaljer

Algoritmer Teoribok, kapittel 5. Algorithms

Algoritmer Teoribok, kapittel 5. Algorithms Algoritmer Teoribok, kapittel 5. Algorithms TDT 4105 Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Lære om Algoritme som konsept Representasjon av algoritmer Oppdagelse av algoritmer Iterative

Detaljer

Vi sier også at for eksempel 16 er kvadratet av 4. Kvadrattallene kan vi framstille som figurtall av kuler på denne måten:

Vi sier også at for eksempel 16 er kvadratet av 4. Kvadrattallene kan vi framstille som figurtall av kuler på denne måten: 10 Tall og figurer Tallene 1,, 3, 4,, kaller vi de naturlige tallene De naturlige tallene deler vi ofte i partall og oddetall Partallene er de tallene vi kan dele med Det er tallene, 4, 6, 8, 10, Oddetallene

Detaljer

Regning med tall og bokstaver

Regning med tall og bokstaver Regning med tall og bokstaver M L N r du har lest dette kapitlet, skal du kunne ^ bruke reglene for br kregning ^ trekke sammen, faktorisere og forenkle bokstavuttrykk ^ regne med potenser ^ l se likninger

Detaljer

1 C z I G + + = + + 2) Multiplikasjon av et tall med en parentes foregår ved å multiplisere tallet med alle leddene i parentesen, slik at

1 C z I G + + = + + 2) Multiplikasjon av et tall med en parentes foregår ved å multiplisere tallet med alle leddene i parentesen, slik at Ekstranotat, 7 august 205 Enkel matematikk for økonomer Innhold Enkel matematikk for økonomer... Parenteser og brøker... Funksjoner...3 Tilvekstform (differensialregning)...4 Telleregelen...7 70-regelen...8

Detaljer

Hvordan analysere måledata vha statistisk prosesskontroll? 14.02.2013 - www.pasientsikkerhetskampanjen.no Side 2

Hvordan analysere måledata vha statistisk prosesskontroll? 14.02.2013 - www.pasientsikkerhetskampanjen.no Side 2 Hvordan analysere måledata vha statistisk prosesskontroll? 14.02.2013 - www.pasientsikkerhetskampanjen.no Side 2 Hvordan vet vi at en endring er en forbedring? Dødelighet ved coronar by-pass kirurgi før

Detaljer

Enkel matematikk for økonomer 1. Innhold. Parenteser, brøk og potenser. Ekstranotat, februar 2015

Enkel matematikk for økonomer 1. Innhold. Parenteser, brøk og potenser. Ekstranotat, februar 2015 Ekstranotat, februar 205 Enkel matematikk for økonomer Innhold Enkel matematikk for økonomer... Parenteser, brøk og potenser... Funksjoner...4 Tilvekstform (differensialregning)...5 Nyttige tilnærminger...8

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Forelesning 16: Rekursjon og induksjon Roger Antonsen Institutt for informatikk, Universitetet i Oslo 17. mars 009 (Sist oppdatert: 009-03-17 11:4) Forelesning 16 MAT1030 Diskret

Detaljer

ADDISJON FRA A TIL Å

ADDISJON FRA A TIL Å ADDISJON FRA A TIL Å VEILEDER FOR FORELDRE MED BARN I 5. 7. KLASSE EMNER Side 1 Innledning til addisjon 2 2 Grunnleggende om addisjon 3 3 Ulike tenkemåter 4 4 Hjelpemidler i addisjoner 9 4.1 Bruk av tegninger

Detaljer

Tallregning og algebra

Tallregning og algebra 30 Tallregning og algebra Mål for opplæringen er at eleven skal kunne tolke, bearbeide og vurdere det matematiske innholdet i ulike tekster bruke matematiske metoder og hjelpemidler til å løse problemer

Detaljer

Algoritmer og Datastrukturer

Algoritmer og Datastrukturer Eksamen i Algoritmer og Datastrukturer IAI 21899 Høgskolen i Østfold Avdeling for informatikk og automatisering Torsdag 3. november 2, kl. 9. - 14. Hjelpemidler: Alle trykte og skrevne hjelpemidler. Kalkulator.

Detaljer

Løsningsforslag for utvalgte oppgaver fra kapittel 9

Løsningsforslag for utvalgte oppgaver fra kapittel 9 Løsningsforslag for utvalgte oppgaver fra kapittel 9 9.2 1 Grafer og minne.......................... 1 9.2 4 Omvendt graf, G T......................... 2 9.2 5 Kompleksitet............................

Detaljer

Rekursiv programmering

Rekursiv programmering Rekursiv programmering Babushka-dukker En russisk Babushkadukke er en sekvens av like dukker inne i hverandre, som kan åpnes Hver gang en dukke åpnes er det en mindre utgave av dukken inni, inntil man

Detaljer

Forskjellige typer utvalg

Forskjellige typer utvalg Forskjellige typer utvalg Det skal deles ut tre pakker til en gruppe på seks. Pakkene inneholder en TV, en PC og en mobiltelefon. På hvor mange måter kan pakkene deles ut? Utdelingen skal være tilfeldig

Detaljer

Løsningsforslag til obligatorisk oppgave i MAT 1100, H-04

Løsningsforslag til obligatorisk oppgave i MAT 1100, H-04 Løsningsforslag til obligatorisk oppgave i MAT 00, H-04 Oppgave : a) Vi har zw ( + i )( + i) + i + i + i i og + i + i ( ) + i( + ) z w + i + i ( + i )( i) ( + i)( i) i + i i i ( i ) ( + ) + i( + ) + +

Detaljer

Nyheter i Office 2016 NYHETER, FUNKSJONER, FORKLARING

Nyheter i Office 2016 NYHETER, FUNKSJONER, FORKLARING Nyheter i Office 2016 NYHETER, FUNKSJONER, FORKLARING 1 Word 1.1 Gjør ting raskt med Fortell meg det Du vil legge merke til en tekstboks på båndet i Word 2016 med teksten Fortell meg hva du vil gjøre.

Detaljer

Forelesning 22 MA0003, Mandag 5/11-2012 Invertible matriser Lay: 2.2

Forelesning 22 MA0003, Mandag 5/11-2012 Invertible matriser Lay: 2.2 Forelesning 22 M0003, Mandag 5/-202 Invertible matriser Lay: 2.2 Invertible matriser og ligningssystemet x b Ligninger på formen ax b, a 0 kan løses ved å dividere med a på begge sider av ligninger, noe

Detaljer

LO118D Forelesning 10 (DM)

LO118D Forelesning 10 (DM) LO118D Forelesning 10 (DM) Grafteori 03.10.2007 1 Korteste vei 2 Grafrepresentasjoner 3 Isomorfisme 4 Planare grafer Korteste vei I en vektet graf går det an å finne den veien med lavest total kostnad

Detaljer

Analyse av Algoritmer

Analyse av Algoritmer Analyse av Algoritmer Lars Vidar Magnusson 10.1.2014 Asymptotisk notasjon (kapittel 3) Kompleksitetsklasser Uløselige problem Asymptotisk Notasjon Asymptotisk analyse innebærer å finne en algoritmes kjøretid

Detaljer

Reelle tall på datamaskin

Reelle tall på datamaskin Reelle tall på datamaskin Knut Mørken 5. september 2007 1 Innledning Tirsdag 4/9 var tema for forelesningen hvordan reelle tall representeres på datamaskin og noen konsekvenser av dette, særlig med tanke

Detaljer

Notat for oblig 2, INF3/4130 h07

Notat for oblig 2, INF3/4130 h07 Notat for oblig 2, INF3/4130 h07 Dag Sverre Seljebotn 15. oktober 2007 Jeg har skrivd et noe langt notat for oblig 2 som interesserte kan se på. Merk at dette er kun for å gi et par tips (for oppgave 3

Detaljer

MAT1030 Forelesning 14

MAT1030 Forelesning 14 MAT1030 Forelesning 14 Mer om funksjoner Roger Antonsen - 10. mars 2009 (Sist oppdatert: 2009-03-10 11:34) Kapittel 6: Funksjoner Surjektive funksjoner Den neste gruppen av funksjoner vi skal se på er

Detaljer

TOD063 Datastrukturer og algoritmer

TOD063 Datastrukturer og algoritmer TOD063 Datastrukturer og algoritmer Øving : 4 Utlevert : Veke 9 Innleveringsfrist : 19. mars 2010 Klasse : 1 Data og 1 Informasjonsteknologi Ta gjerne 1 og 2 først! Gruppearbeid: 2 personar pr. gruppe

Detaljer

MAT1030 Diskret matematikk. Kompleksitetsteori. Forelesning 29: Kompleksitetsteori. Dag Normann KAPITTEL 13: Kompleksitetsteori. 7.

MAT1030 Diskret matematikk. Kompleksitetsteori. Forelesning 29: Kompleksitetsteori. Dag Normann KAPITTEL 13: Kompleksitetsteori. 7. MAT1030 Diskret matematikk Forelesning 29: Dag Normann KAPITTEL 13: Matematisk Institutt, Universitetet i Oslo 7. mai 2008 MAT1030 Diskret matematikk 7. mai 2008 2 Meldinger: Det blir hovedsaklig tavleregning

Detaljer

Prosjektoppgave, FYS-MEK1110 V06 ROBERT JACOBSEN

Prosjektoppgave, FYS-MEK1110 V06 ROBERT JACOBSEN Prosjektoppgave, FYS-MEK1110 V06 ROBERT JACOBSEN Innledning Prosjektet i FYS-MEK1110 v06 handler om å forske litt på hvordan Jupiters bane er, og hvordan denne kan sammenliknes ved andre baner i solsystemet.

Detaljer

MAT1030 Diskret matematikk

MAT1030 Diskret matematikk MAT1030 Diskret matematikk Forelesning 33: Repetisjon Dag Normann Matematisk Institutt, Universitetet i Oslo 26. mai 2008 Innledning Onsdag 21/5 gjorde vi oss ferdige med det meste av den systematiske

Detaljer

Innledning. MAT1030 Diskret matematikk. Kapittel 11. Kapittel 11. Forelesning 33: Repetisjon

Innledning. MAT1030 Diskret matematikk. Kapittel 11. Kapittel 11. Forelesning 33: Repetisjon Innledning MAT1030 Diskret matematikk Forelesning 33: Repetisjon Dag Normann Matematisk Institutt, Universitetet i Oslo 26. mai 2008 Onsdag 21/5 gjorde vi oss ferdige med det meste av den systematiske

Detaljer

Kapittel 6: Funksjoner

Kapittel 6: Funksjoner MAT1030 Diskret Matematikk Forelesning 14: Mer om funksjoner Roger Antonsen Institutt for informatikk, Universitetet i Oslo Kapittel 6: Funksjoner 10. mars 2009 (Sist oppdatert: 2009-03-10 11:34) MAT1030

Detaljer

Innhold. Innledning 1

Innhold. Innledning 1 Innhold Innledning 1 1 Kompleksitetsanalyse 7 1.1 Innledning.............................. 8 1.2 Hva vi beregner........................... 8 1.2.1 Enkle operasjoner...................... 8 1.2.2 Kompleksitet........................

Detaljer

LO118D Forelesning 3 (DM)

LO118D Forelesning 3 (DM) LO118D Forelesning 3 (DM) Mengder og funksjoner 27.08.2007 1 Mengder 2 Funksjoner Symboler x y Logisk AND, både x og y må være sanne x y Logisk OR, x eller y må være sann x Negasjon, ikke x x For alle

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs

TDT4105 Informasjonsteknologi, grunnkurs 1 TDT4105 Informasjonsteknologi, grunnkurs Matlab: Sortering og søking Anders Christensen (anders@idi.ntnu.no) Rune Sætre (satre@idi.ntnu.no) TDT4105 IT Grunnkurs 2 Pensum Matlab-boka: 12.3 og 12.5 Stoffet

Detaljer

VELKOMMEN TIL MAT-INF1100(L) Knut Mørken knutm@ifi.uio.no Rom 1033, Niels Henrik Abels hus

VELKOMMEN TIL MAT-INF1100(L) Knut Mørken knutm@ifi.uio.no Rom 1033, Niels Henrik Abels hus VELKOMMEN TIL MAT-INF1100(L) Knut Mørken knutm@ifi.uio.no Rom 1033, Niels Henrik Abels hus Forelesere Knut Mørken og Martin Reimers, Matematisk institutt, 10. etg i Niels Henrik Abels hus Arbeider med

Detaljer

TDT4102 Prosedyreog objektorientert programmering Vår 2016

TDT4102 Prosedyreog objektorientert programmering Vår 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyreog objektorientert programmering Vår 2016 Øving 4 Frist: 2016-02-12 Mål for denne øvingen:

Detaljer

Forelesning 33. Repetisjon. Dag Normann mai Innledning. Kapittel 11

Forelesning 33. Repetisjon. Dag Normann mai Innledning. Kapittel 11 Forelesning 33 Repetisjon Dag Normann - 26. mai 2008 Innledning Onsdag 21/5 gjorde vi oss ferdige med det meste av den systematiske repetisjonen av MAT1030. Det som gjensto var kapitlene 11 om trær og

Detaljer

Emnekode: LGU 51014 Emnenavn: Matematikk 1 (5 10), emne 1. Semester: VÅR År: 2016 Eksamenstype: Skriftlig

Emnekode: LGU 51014 Emnenavn: Matematikk 1 (5 10), emne 1. Semester: VÅR År: 2016 Eksamenstype: Skriftlig Sensurveiledning Emnekode: LGU 51014 Emnenavn: Matematikk 1 (5 10), emne 1 Semester: VÅR År: 2016 Eksamenstype: Skriftlig Oppgave 1 Figuren viser hvordan en nettside forklarer en metode for addisjon og

Detaljer

Sprettball Erfaren ComputerCraft PDF

Sprettball Erfaren ComputerCraft PDF Sprettball Erfaren ComputerCraft PDF Introduksjon Nå skal vi lære hvordan vi kan koble en skjerm til datamaskinen. Med en ekstra skjerm kan vi bruke datamaskinen til å kommunisere med verden rundt oss.

Detaljer

Rekurrens. MAT1030 Diskret matematikk. Rekurrens. Rekurrens. Eksempel. Forelesning 16: Rekurrenslikninger. Dag Normann

Rekurrens. MAT1030 Diskret matematikk. Rekurrens. Rekurrens. Eksempel. Forelesning 16: Rekurrenslikninger. Dag Normann MAT1030 Diskret matematikk Forelesning 16: likninger Dag Normann Matematisk Institutt, Universitetet i Oslo INGEN PLENUMSREGNING 6/3 og 7/3 5. mars 008 MAT1030 Diskret matematikk 5. mars 008 Mandag ga

Detaljer

En oppsummering (og litt som står igjen)

En oppsummering (og litt som står igjen) En oppsummering (og litt som står igjen) Pensumoversikt Hovedtanker i kurset Selvmodifiserende kode Overflyt Eksamen En oppsummering Oppsummering Pensum læreboken til og med kapittel 7 forelesningene de

Detaljer

www.skoletorget.no Tall og algebra Matematikk Side 1 av 6

www.skoletorget.no Tall og algebra Matematikk Side 1 av 6 Side 1 av 6 Hva = en ligning? Sist oppdatert: 15. november 2003 I dette kapittelet skal vi se på noen grunnregler for løsning av ligninger med én ukjent. Det viser seg at balanse er et helt sentralt prinsipp

Detaljer

Algoritmer og datastrukturer Kapittel 9 - Delkapittel 9.1

Algoritmer og datastrukturer Kapittel 9 - Delkapittel 9.1 Delkapittel 9.1 Generelt om balanserte trær Side 1 av 13 Algoritmer og datastrukturer Kapittel 9 - Delkapittel 9.1 9.1 Generelt om balanserte trær 9.1.1 Hva er et balansert tre? Begrepene balansert og

Detaljer

Forelesning 1 I162A-I162. Antonella Zanna. Institutt for informatikk (rom 4143)

Forelesning 1 I162A-I162. Antonella Zanna.  Institutt for informatikk (rom 4143) I162A-I162 http://realfag.uib.no/fag/2002v/i162 1/18 Forelesning 1 Antonella Zanna Institutt for informatikk (rom 4143) email: anto@ii.uib.no Beregningsvitenskap 2/18 Beregningsvitenskap Vårt hverdagsliv

Detaljer

Forelesning 1 I162A-I162. Antonella Zanna. Institutt for informatikk (rom 4143)

Forelesning 1 I162A-I162. Antonella Zanna.  Institutt for informatikk (rom 4143) I162A-I162 http://realfag.uib.no/fag/2002v/i162 1/18 Forelesning 1 Antonella Zanna Institutt for informatikk (rom 4143) email: anto@ii.uib.no Beregningsvitenskap Vårt hverdagsliv er blitt veldig teknologisk:

Detaljer

Mengder, relasjoner og funksjoner

Mengder, relasjoner og funksjoner MAT1030 Diskret Matematikk Forelesning 15: og induksjon Dag Normann Matematisk Institutt, Universitetet i Oslo Mengder, relasjoner og funksjoner 9. mars 2010 (Sist oppdatert: 2010-03-09 14:18) MAT1030

Detaljer

Vi kan finne formler som gir oss neste tall i tallfølgen dersom vi kjenner ett tall. Det er den rekursive formelen. gir oss gir oss alle tallene a

Vi kan finne formler som gir oss neste tall i tallfølgen dersom vi kjenner ett tall. Det er den rekursive formelen. gir oss gir oss alle tallene a Tallfølger, figurtall, algebra (utgave beregnet for GLU1-7). Av Geir Martinussen, Høgskolen i Oslo og Akershus (Se også: http://www.matematikk.org/uopplegg.html?tid=114140 ) Tallfølger er en nyttig ressurs

Detaljer

Studentene skal kunne. gjøre rede for begrepene naturlige, hele, rasjonale og irrasjonale tall. skrive mengder på listeform

Studentene skal kunne. gjøre rede for begrepene naturlige, hele, rasjonale og irrasjonale tall. skrive mengder på listeform 1 10 Tall og tallregning Studentene skal kunne gjøre rede for begrepene naturlige, hele, rasjonale og irrasjonale tall definere og benytte de anerkjente skrivemåtene for åpne, halvåpne og lukkede intervaller

Detaljer

Vann i rør Ford Fulkerson method

Vann i rør Ford Fulkerson method Vann i rør Ford Fulkerson method Problemet Forestill deg at du har et nettverk av rør som kan transportere vann, og hvor rørene møtes i sammensveisede knytepunkter. Vannet pumpes inn i nettverket ved hjelp

Detaljer

Generelt om operativsystemer

Generelt om operativsystemer Generelt om operativsystemer Operativsystemet: Hva og hvorfor Styring av prosessorer (CPU), elektronikk, nettverk og andre ressurser i en datamaskin er komplisert, detaljert og vanskelig. Maskinvare og

Detaljer

Løse reelle problemer

Løse reelle problemer Løse reelle problemer Litt mer om løkker, metoder med returverdier og innlesing fra fil INF1000, uke4 Geir Kjetil Sandve Repetisjon fra forrige uke: while Syntaks: while (condition) do1; do2;... Eksempel:

Detaljer

Soloball. Steg 1: En roterende katt. Sjekkliste. Test prosjektet. Introduksjon. Vi begynner med å se på hvordan vi kan få kattefiguren til å rotere.

Soloball. Steg 1: En roterende katt. Sjekkliste. Test prosjektet. Introduksjon. Vi begynner med å se på hvordan vi kan få kattefiguren til å rotere. Soloball Introduksjon Scratch Introduksjon Vi skal nå lære hvordan vi kan lage et enkelt ballspill med Scratch. I soloball skal du styre katten som kontrollerer ballen, slik at ballen ikke går i nettet.

Detaljer

Kapittel 3: Litt om representasjon av tall

Kapittel 3: Litt om representasjon av tall MAT1030 Diskret Matematikk Forelesning 3: Litt om representasjon av tall, logikk Roger Antonsen Institutt for informatikk, Universitetet i Oslo Kapittel 3: Litt om representasjon av tall 20. januar 2009

Detaljer

Emne 12 Mengdelære. ( bokstaven g er ikke et element i mengden B ) Betyr: B er mengden av alle positive oddetall.

Emne 12 Mengdelære. ( bokstaven g er ikke et element i mengden B ) Betyr: B er mengden av alle positive oddetall. Emne 12 Mengdelære En mengde er en samling elementer. Mengden er veldefinert hvis vi entydig kan avgjøre om et vilkårlig element tilhører mengden eller ikke. Mengder på listeform. Endelige mengder:, Uendelige

Detaljer

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python Professor Guttorm Sindre Institutt for datateknikk og informasjonsvitenskap Læringsmål og pensum Mål Vite hva et

Detaljer

ITF20006 Algoritmer og datastrukturer Oppgavesett 7

ITF20006 Algoritmer og datastrukturer Oppgavesett 7 ITF Algoritmer og datastrukturer Oppgavesett 7 Av Thomas Gabrielsen Eksamen Oppgave. ) Det tar konstant tid å hente et gitt element fra en tabell uavhengig av dens størrelse, noe som med O-notasjon kan

Detaljer

Oppgaver til kodegenerering etc. INF-5110, 16. mai, 2014

Oppgaver til kodegenerering etc. INF-5110, 16. mai, 2014 Oppgaver til kodegenerering etc. INF-5110, 16. mai, 2014 Oppgave 1: Vi skal se på koden generert av TA-instruksjonene til høyre i figur 9.10 i det utdelte notatet, side 539 a) Se på detaljene i hvorfor

Detaljer

Enkel matematikk for økonomer. Del 1 nødvendig bakgrunn. Parenteser og brøker

Enkel matematikk for økonomer. Del 1 nødvendig bakgrunn. Parenteser og brøker Vedlegg Enkel matematikk for økonomer I dette vedlegget går vi gjennom noen grunnleggende regneregler som brukes i boka. Del går gjennom de helt nødvendige matematikk-kunnskapene. Dette må du jobbe med

Detaljer

UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet

UNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF 4130: lgoritmer: Design og effektivitet Eksamensdag: 12. desember 2008 Tid for eksamen: Kl. 09:00 12:00 (3 timer) Oppgavesettet

Detaljer

Ninety-nine bottles. Femte forelesning. I dagens forelesning: Mest matematiske verktøy. Først: Asymptotisk notasjon. Så: Rekurrensligninger.

Ninety-nine bottles. Femte forelesning. I dagens forelesning: Mest matematiske verktøy. Først: Asymptotisk notasjon. Så: Rekurrensligninger. I dagens forelesning: Mest matematiske verktøy. Først: Asymptotisk notasjon. Så: Rekurrensligninger. Hva slags kjøretid har denne sangen? Hvordan kan du formulere det som en rekurrensligning? Ninety-nine

Detaljer

Kanter, kanter, mange mangekanter

Kanter, kanter, mange mangekanter Kanter, kanter, mange mangekanter Nybegynner Processing PDF Introduksjon: Her skal vi se på litt mer avansert opptegning og bevegelse. Vi skal ta utgangspunkt i oppgaven om den sprettende ballen, men bytte

Detaljer

Korteste vei problemet (seksjon 15.3)

Korteste vei problemet (seksjon 15.3) Korteste vei problemet (seksjon 15.3) Skal studere et grunnleggende kombinatorisk problem, men først: En (rettet) vandring i en rettet graf D = (V, E) er en følge P = (v 0, e 1, v 1, e 2,..., e k, v k

Detaljer

Skilpaddefraktaler Erfaren Python PDF

Skilpaddefraktaler Erfaren Python PDF Skilpaddefraktaler Erfaren Python PDF Introduksjon Vi vil nå jobbe videre med skilpaddekunsten fra tidligere. Denne gangen skal vi tegne forskjellige figurer som kalles fraktaler. Fraktaler er figurer

Detaljer

Newtons (og hele universets...) lover

Newtons (og hele universets...) lover Newtons (og hele universets...) lover Kommentarer og referanseoppgaver (2.25, 2.126, 2.136, 2.140, 2.141, B2.7) Newtons 4 lover: (Gravitasjonsloven og Newtons første, andre og tredje lov.) GL: N I: N III:

Detaljer

Mattespill Nybegynner Python PDF

Mattespill Nybegynner Python PDF Mattespill Nybegynner Python PDF Introduksjon I denne leksjonen vil vi se litt nærmere på hvordan Python jobber med tall, og vi vil lage et enkelt mattespill. Vi vil også se hvordan vi kan gjøre ting tilfeldige.

Detaljer

Forelesning nr.4 INF 1410

Forelesning nr.4 INF 1410 Forelesning nr.4 INF 1410 Flere teknikker for kretsanalyse og -transformasjon 1 Oversikt dagens temaer inearitet Praktiske Ekvivalente Nortons Thévenins Norton- og superposisjonsprinsippet (virkelige)

Detaljer

Løsningsforslag til underveiseksamen i MAT 1100

Løsningsforslag til underveiseksamen i MAT 1100 Løsningsforslag til underveiseksamen i MAT 00 Dato: Tirsdag /0, 00 Tid: Kl. 9.00-.00 Vedlegg: Formelsamling Tillatte hjelpemidler: Ingen Oppgavesettet er på sider Eksamen består av 0 spørsmål. De 0 første

Detaljer

Kommunikasjonsstil. Andres vurdering. Navn på vurdert person: Ole Olsen. Utfylt dato:

Kommunikasjonsstil. Andres vurdering. Navn på vurdert person: Ole Olsen. Utfylt dato: Kommunikasjonsstil Andres vurdering Navn på vurdert person: Ole Olsen Utfylt dato: Svar spontant og ærlig - første innfall er som regel det beste. Det utfylte spørreskjema returneres snarest mulig. 1 1.

Detaljer

Krefter, Newtons lover, dreiemoment

Krefter, Newtons lover, dreiemoment Krefter, Newtons lover, dreiemoment Tor Nordam 13. september 2007 Krefter er vektorer En ting som beveger seg har en hastighet. Hastighet er en vektor, som vi vanligvis skriver v. Hastighetsvektoren har

Detaljer

Alle mot alle. Åttende forelesning. (eller eller Bellman-Ford, eller BFS, alt ettersom) fra alle noder.

Alle mot alle. Åttende forelesning. (eller eller Bellman-Ford, eller BFS, alt ettersom) fra alle noder. Enkel alle-til-allealgoritme: Kjør Dijkstra (eller eller Bellman-Ford, eller BFS, alt ettersom) fra alle noder. Kan fungere for spinkle grafer blir dyrt ellers. Alle mot alle Åttende forelesning 1 Dijkstra

Detaljer

Ordliste. Obligatorisk oppgave 1 - Inf 1020

Ordliste. Obligatorisk oppgave 1 - Inf 1020 Ordliste. Obligatorisk oppgave 1 - Inf 1020 I denne oppgaven skal vi tenke oss at vi vil holde et register over alle norske ord (med alle bøyninger), og at vi skal lage operasjoner som kan brukes til f.

Detaljer

Algoritmer og Datastrukturer IAI 21899

Algoritmer og Datastrukturer IAI 21899 Eksamen i Algoritmer og Datastrukturer IAI 21899 Høgskolen i Østfold Avdeling for informatikk og automatisering Torsdag 30. november 2000, kl. 09.00-14.00 LØSNINGSFORSLAG 1 Del 1, Binære søketrær Totalt

Detaljer

Utførelse av programmer, metoder og synlighet av variabler i JSP

Utførelse av programmer, metoder og synlighet av variabler i JSP Utførelse av programmer, metoder og synlighet av variabler i JSP Av Alf Inge Wang 1. Utførelse av programmer Et dataprogram består oftest av en rekke programlinjer som gir instruksjoner til datamaskinen

Detaljer

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Øving 10 Frist: 2014-04-11 Mål for denne øvinga:

Detaljer

Oppgaver til kodegenerering etc. INF-5110, 12. mai, 2015

Oppgaver til kodegenerering etc. INF-5110, 12. mai, 2015 Oppgaver til kodegenerering etc. INF-5110, 12. mai, 2015 Oppgave 1: Vi skal se på koden generert av TA-instruksjonene til høyre i figur 9.10 i det utdelte notatet, side 539 a) (repetisjon fra forelesningene)

Detaljer

Lineære likningssystemer og matriser

Lineære likningssystemer og matriser Kapittel 3 Lineære likningssystemer og matriser I dette kapittelet skal vi sette sammen Kapittel 1 og 2. 3.1 Den utvidede matrisen til et likningssystem Vi starter med et lineært likningssystem med m likninger

Detaljer

Ingvil Olsen Djuvik. Lærer på Seljord barneskule FRILUFTSEMINAR UTESKOLE

Ingvil Olsen Djuvik. Lærer på Seljord barneskule FRILUFTSEMINAR UTESKOLE Ingvil Olsen Djuvik Lærer på Seljord barneskule FRILUFTSEMINAR UTESKOLE Skien, 17. april 2013 Begynneropplæring i naturen Naturen er en perfekt arena for begynneropplæring. Naturen er full av former, farger,

Detaljer

MAT1030 Forelesning 14

MAT1030 Forelesning 14 MAT1030 Forelesning 14 Mer om funksjoner Dag Normann - 3. mars 2010 (Sist oppdatert: 2010-03-03 15:01) Kapittel 6: Funksjoner Injektive funksjoner Igår begynte vi på kapitlet om funksjoner f : X Y, og

Detaljer

Snake Expert Scratch PDF

Snake Expert Scratch PDF Snake Expert Scratch PDF Introduksjon En eller annen variant av Snake har eksistert på nesten alle personlige datamaskiner helt siden slutten av 1970-tallet. Ekstra populært ble spillet da det dukket opp

Detaljer

Konvertering mellom tallsystemer

Konvertering mellom tallsystemer Konvertering mellom tallsystemer Hans Petter Taugbøl Kragset hpkragse@ifi.uio.no November 2014 1 Introduksjon Dette dokumentet er ment som en referanse for konvertering mellom det desimale, det binære,

Detaljer

Hvor raskt klarer vi å sortere?

Hvor raskt klarer vi å sortere? Sortering Sorteringsproblemet Gitt en array med n elementer som kan sammenlignes med hverandre: Finn en ordning (eller permutasjon) av elementene slik at de står i stigende (evt. avtagende) rekkefølge

Detaljer

Sorteringsproblemet. Gitt en array A med n elementer som kan sammenlignes med hverandre:

Sorteringsproblemet. Gitt en array A med n elementer som kan sammenlignes med hverandre: Sortering Sorteringsproblemet Gitt en array A med n elementer som kan sammenlignes med hverandre: Finn en ordning (eller permutasjon) av elementene i A slik at de står i stigende (evt. avtagende) rekkefølge

Detaljer

Løsningsforslag Øving 5 TMA4140 Diskret matematikk Høsten 2010

Løsningsforslag Øving 5 TMA4140 Diskret matematikk Høsten 2010 Løsningsforslag Øving 5 TMA4140 Diskret matematikk Høsten 2010 1. a) Ingen andre tall enn en deler en, og en deler fire, så (1, 4) = 1 b) 1 c) 7 er et primtall og 7 er ikke en faktor i 41, så største felles

Detaljer

Divide-and-Conquer. Lars Vidar Magnusson 13.1.2015

Divide-and-Conquer. Lars Vidar Magnusson 13.1.2015 Divide-and-Conquer Lars Vidar Magnusson 13.1.2015 Kapittel 4 Maximum sub-array problemet Matrix multiplikasjon Analyse av divide-and-conquer algoritmer ved hjelp av substitusjonsmetoden Divide-and-Conquer

Detaljer

TMA4100 Matematikk 1, høst 2013

TMA4100 Matematikk 1, høst 2013 TMA4100 Matematikk 1, høst 2013 Teknostart Forelesning 3 www.ntnu.no TMA4100 Matematikk 1, høst 2013, Teknostart Forelesning 3 Tema Logikk Definisjoner og Teoremer Mengder og Egenskaper ved de Reelle Tall

Detaljer

Go with the. Niende forelesning. Mye matematikk i boka her ikke så komplisert, men mye å holde styr på.

Go with the. Niende forelesning. Mye matematikk i boka her ikke så komplisert, men mye å holde styr på. Go with the Niende forelesning Mye matematikk i boka her ikke så komplisert, men mye å holde styr på. Fokuserer på de viktigste ideene i dagens forelesning, så det forhåpentligvis blir lettere å skjønne

Detaljer

Eneboerspillet del 2. Håvard Johnsbråten, januar 2014

Eneboerspillet del 2. Håvard Johnsbråten, januar 2014 Eneboerspillet del 2 Håvard Johnsbråten, januar 2014 I Johnsbråten (2013) løste jeg noen problemer omkring eneboerspillet vha partall/oddetall. I denne parallellversjonen av artikkelen i vil jeg i stedet

Detaljer