INF1010 e-postadresser
|
|
- Anita Ervik
- 6 år siden
- Visninger:
Transkript
1 INF1010 e-postadresser Ikke-faglige spørsmål til Faglige spørsmål til blogen eller til brukernavn kristoeb josek stianf bendiko bmmender espeak richar daghf larsstor fredva navn Kristoffer Egil Bonarjee Jose Louis Rojas Stian Kjetil Friberg Bendik Rønning Opstad Bedeho Mender Espen Angell Kristiansen Richard Rørmark Dag Haavi Finstad Lars Storjord Fredrik Valdmanis Spørsmål om pensum, forelesninger, øvelser og innhold i oppgaver kan sendes til plenumslærere og forelesere: brukernavn navn steing Stein Gjessing michael Stein Michael Storleer espeak Espen Angell Kristiansen jpaasen Jon Petter Åsen
2 Dagens forelesning Pekerkjedelister Om pekervariable Innsetting Innsetting og holde sortert Traversering av hele lista Strenger Sammenligne strenger String.compareToIgnoreCase(String s) Binære trær Litt om effektivitet Liste versus binærtre Et binærtreeksempel Binærtreoperasjoner Sette personobjekt inn i treet Finne et personobjekt med et gitt navn Oppgaver Programmeringsoppgaver til plenumsøvelsen
3 Om pekervariable Forskjellen mellom variable og pekere, begreper primitive types reference types variabel pekere pekervariable Veldig viktig å vite om det er en variabel eller en peker. Siden en peker også forandrer verdi (hva den peker på) er den variabel, og kalles derfor ofte variabel. Vi kan ikke se av navnet om det er en variabel eller en peker. I personlisteeksempelet er p.rang en variabel (av type int), mens p.nesteperson er en peker (av type Person).
4 Om pekervariable Forskjellen mellom variable og pekere En variabel (av 8 forskjellige typer) har en verdi. De vanliste typene er: int boolean double char En peker inneholder en adresse, eller referanse til et objekt. Variablene med verdier ligger evt. i objektet, og kan bare leses og forandres indirekte. int 0 i int i = 0; int <fig venstre> i = 56731; i Person pp = new Person(); Person p = null; Person Person p pp P = pp; Person Person p pp «p settes til å peke på det samme som pp (peker på)»
5 Innsetting Innsetting først 1 void settinnpersonforst( Person inn ) { 2 \\ Hvis l i s t a er tom, sett inn objektet 3 i f ( personliste == null ) personliste = inn ; 4 else { 5 \\ minst et objekt i lista 6 inn. nesteperson = personliste ; 7 personliste = inn 8 } 9 }
6 Innsetting Innsetting sist (uten «sistepeker») 1 void settinnpersonsist( Person inn ) { 2 \\ Hvis l i s t a er tom, sett inn objektet 3 i f ( personliste == null ) personliste = inn ; 4 else { 5 \\ finne siste element i lista 6 Person p = personliste ; 7 while (p. nesteperson! = null ) 8 p = p. nesteperson ; 9 \\ her er p. nesteperson==null, altså er p siste 10 p. nesteperson = inn 11 } 12 }
7 Innsetting Et listeobjekt med peker til siste element i lista Person Person Person Person Person nesteperson String navn nesteperson String nesteperson String nesteperson String nesteperson String Jonathan Susanne Imran Nikita Elisabeth navn navn navn navn null Person personliste Person sisteperson Et objekt av klassen Personer
8 Innsetting og holde sortert Antar at Person-objektene i lista har et attributtint rang som objektene er sortert etter i stigende rekkefølge. Elementet som skal inn må da ikke havne så langt ut i lista at det får et element med høyere verdi på rang før seg selv. Vi leter oss fram til en tom nestepeker, eller til nesteperson peker på et objekt med høyere rang. Dette synes ganske enkelt, men vi vil se at når metoden skal virke både for en tom og en ikke-tom liste og for en liste som bare har et objekt, blir det nokså omstendelig. personliste == null innobjektet skal inn først innobjektet skal inn sist innobjektet skal hverken først eller sist
9 Innsetting og holde sortert 1 void settinnpersonetterrang( Person inn ) { 2 Person p = personliste ; 3 Boolean fortsett = true ; 4 inn. nesteperson = null ; // hvorfor? 5 while (p!= null && fortsett ) 6 if (p. nesteperson!= null && p. nesteperson. rang < inn. rang ) 7 p = p. nesteperson; 8 else fortsett = false ; 9 //p == null eller p. nesteperson. rang >= inn. rang 10 if (p == null ) { 11 // lista var tom 12 personliste = inn ; 13 } 14 else if (p == personliste ) { 15 if (p.rang < inn. rang ) { 16 inn. nesteperson = p. nesteperson; 17 personliste = inn ; 18 } 19 else { 20 inn. nesteperson = personliste ; 21 personliste = inn ; 22 } 23 } 24 else { 25 // inn skal inn mellom p og p. nesteperson 26 inn. nesteperson = p. nesteperson; 27 p. nesteperson = inn ; 28 } 29 }
10 Innsetting og holde sortert I settinnpersonetterrang linje 16: personliste p inn 7 inn.nesteperson = p.nesteperson; personliste p inn 7
11 Innsetting og holde sortert personliste p inn 7 personliste = inn; p personliste inn personliste
12 Innsetting og holde sortert 1 void settinnpersonetterrang( Person inn ) { 2 Person p = personliste ; 3 Boolean fortsett = true ; 4 inn. nesteperson = null ; // hvorfor? 5 while (p!= null && fortsett ) 6 if (p. nesteperson!= null && p. nesteperson. rang < inn. rang ) 7 p = p. nesteperson; 8 else fortsett = false ; 9 //p == null eller p. nesteperson. rang >= inn. rang 10 if (p == null ) { 11 // lista var tom 12 personliste = inn ; 13 } 14 else if (p == personliste ) { 15 if (p.rang < inn. rang ) { 16 inn. nesteperson = p. nesteperson; 17 p. neste = inn ; 18 } 19 else { 20 inn. nesteperson = personliste ; 21 personliste = inn ; 22 } 23 } 24 else { 25 // inn skal inn mellom p og p. nesteperson 26 inn. nesteperson = p. nesteperson; 27 p. nesteperson = inn ; 28 } 29 }
13 Innsetting og holde sortert I settinnpersonetterrang linje 16: personliste p inn 7 inn.nesteperson = p.nesteperson; personliste p inn 7
14 Innsetting og holde sortert personliste p inn 7 p.nesteperson = inn; personliste p inn personliste
15 Innsetting og holde sortert Legg merke til at følgende fungerer korrekt når objektet som inn peker på skal inn mellom objektet som p peker på og objektet som p.neste peker på, selv når p.neste er null (p peker på siste objekt): 1 inn. neste = p. neste ; 2 p. neste = inn ; Da kan vi dele problemet i 3 tilfeller etter hvor innobjektet skal inn: lista er tom først etter objektet (evt. null) p peker på Dette kan vi bruke til å lage en enklere metode. (Oppgave som gjennomgås mandag).
16 Traversering av hele lista Eksempel: skrive ut alle personene i lista 1 // I klassen Personer : 2 3 void skrivalle ( ) { 4 Person p = personliste ; 5 while (p! = null ) { 6 p. skriv ( ) ; 7 p = p. nesteperson ; 8 } 9 } // I klassen Person : 12 void skriv ( ) { 13 System. out. println (... ) ; 14 }
17 Traversering av hele lista Fjerne person med gitt rang (en instans eller ingen) 1 Person fjern ( int rang) { 2 Person p = personliste ; 3 Person forrige = null ; 4 while (p!= null && p. rang!= rang { 5 forrige = p; 6 p = p. nesteperson; 7 } 8 // p er personen som skal fjernes, 9 // forrige er personen FØR denne i listen 10 if (p!= null ) { 11 i f ( p == personliste ) { 12 // Spesialtilfelle : p som skal fjernes står først 13 personliste = personliste. nesteperson; 14 } else { 15 forrige. nesteperson = p. nesteperson; 16 } 17 } 18 return p; 19 }
18 Sammenligne strenger String.compareToIgnoreCase(String s) public int comparetoignorecase(string str) Compares two strings lexicographically, ignoring case differences. This method returns an integer whose sign is that of calling compareto with normalized versions of the strings where case differences have been eliminated by calling Character.toLowerCase(Character.toUpperCase(character)) on each character. Parameters str - the String to be compared. Returns: a negative integer, zero, or a positive integer as the the specified String is greater than, equal to, or less than this String, ignoring case considerations. Ved å sammenligne strenger, kan vi ordne dem leksiografisk (alfabetisk som i en ordbok).
19 Sammenligne strenger String.compareToIgnoreCase(String s) Gitt to tekststrenger: Stringa,b; a.comparetoignorecase(b) > 0 hvisa>b = 0 hvisa=b < 0 hvisb>a Husketriks: vi tenker oss at vi girapostiv, ogbnegativ «alfabetisk vekt». Så legger vi de to vektene sammen. Er summen null, eraogblike. Er summen negativ erb alfabetisk større enna. Er summen positiv, er a størst. Pluss kommer først (a), så minus (b). Kortere: +.comparetoignorecase( )
20 Litt om effektivitet I små programmer betyr det ikke noe om vi gjør operasjoner på en ineffektiv måte. Datamaskinen er så rask at det som skal gjøres skjer fort nok. Med mange objekter i datastrukturen, eller med unødvendige repetisjoner av operasjoner, kan programmet fort bli så tidkrevende at det er ubrukelig. Har vi mange elementer i lista og vi forventer ofte å måtte foreta operajoner som å finne et bestemt element, eller å sortere lista, finnes det en langt bedre pekerkjedestruktur med hensyn til effektivitet. Men først noen ord om effektivitet.
21 Litt om effektivitet Eksempel på liste med mange objekter I folkeregisteret er det registrert nesten 5 millioner personer. Hvis disse ligger i en liste slik at vi hver gang vi skal finne en person må starte på begynnelsen av lista, kan vi forvente å måtte gjøre ca 2,5 millioner sammenligninger før vi finner personen vi er ute etter. Hvis det tar ett tusendels sekund å gjøre en sammenligning, kan vi forvente at det tar ca , 001s= 2.500s eller ca 2.500s/60=40 minutter å finne en bestemt person.
22 Litt om effektivitet Hvor lang tid vil det ta å sortere lista ved å finne det minste elementet med metoden over, ta det ut å sette det inn i en ny sortert liste, når vi bare ser på tiden det tar å finne objektene? Svar: Ca 95 år! Fordelen med pekerkjedelister, er at vi ikke trenger å vite noe om hvor mange elementer som skal inn i lista. Ulempen er at pekeradministrasjon lett fører til feil, og at store datamengder (mange elementer) blir ineffektivt.
23 Litt om effektivitet Når datamengden blir «stor», eller vi må gjøre en operajon «mange ganger», må vi også tenke på om programmet vi lager er effektivt, dvs. ikke tar «for lang» tid. Hva som er store datamengder, mange ganger og lang tid er tema for andre emner enn INF1010, men enkle resonnementer og beregninger rundt et programs effektivitet er det greit å kunne gjøre. Vi bør også kjenne til at datastrukturer og algoritmers kvalitet i stor grad avhenger av effektivitet (= tidsforbruk).
24 Liste versus binærtre I folkeregistereksempelet over så vi at en enkeltkjedet liste med en førstepeker er en lite egnet struktur når vi ofte skal finne objekter med et bestemt fødselsnummer. Det finnes derimot en pekerstruktur som er like dynamisk som lista, men som gjør at vi kan finne et bestemt objekt mange ganger mer effektivt. Denne datastrukturen er et binært søketre, eller et binærtre.
25 Liste versus binærtre Hvordan ideen kan ha blitt til
26 Liste versus binærtre I hvert nivå i et binært søketre, er det plass til dobbelt så mange elementer som nivået over. Når vi leter går vi bare fra et nivå til det neste i ett skritt (tilsvarer p = p.neste for lister). På første nivå er det plass til ett element, på neste 2, det neste 4, 8, På nivå 23, er det plass til elementer. I nivåene over, er det plass til elementer, tilsammen over 8 millioner elementer, hvilket er nok for vårt folkeregister
27 Liste versus binærtre Pekerstrukturen i et binærtre Det som gjenstår, er å organisere dataene slik at vi finner søkte element ved å undersøke maksimum 23 elementer. Siden halvparten av objektene ligger i nivå 1-22, må vi i snitt regne med å lete oss fram til nivå 22. Hvis letetiden er den samme som for lista, finner vi et element i løpet av 22 0, 001s = 0, 022s omtrent to hundredels sekund. Jørgen Gunnar Stian Eirik Jan Pål Torjus Christian Elisabeth Henrik Jim Nikita Siv Susanne Vivi Andreas Darjan Gry Helge Imran Nguyen Philip Simen Tor
28 Et binærtreeksempel Vi skriver om class Person slik at den nå har to personpekere: 1 class Person { 2 String navn; 3 Person venstre, // Peker t i l pers. alfabetisk før denne 4 høyre ; // Peker t i l pers. alfabetisk etter denne 5 } type: String navn: navn type: Person venstre "Sokrates" type: Person høyre Sokrates Forenklet objekt Et objekt av klassen Person
29 Et binærtreeksempel Ideen er å ordne objektene slik at alle personene som vi finner ved å følge høyre-pekeren (høyre subtre) er alfabetisk større enn dette objektets navn. Tilsvarende skal alle personobjekter vi kan finne ved å følge venstre-pekeren (venstre subtre) være alfabetisk mindre enn dette objektets navn. Merk at siden et objekt der begge pekervariablene er null også er et binært tre (en «spire uten grener»), peker alle pekervariablene på trær av mindre og mindre størrelse etter som vi følger pekerne fra «rota» mot «bladene».
30 Et binærtreeksempel Jasmina Imran Nikita Objekter som har navn som kommer alfabetisk foran (mindre enn) "Imran" Objekter hvor navn er større enn "Nikita"
31 Et binærtreeksempel Andreas Christian Darjan Eirik Elisabeth Gry Gunnar Helge Henrik Imran Jan Jim Jørgen Nguyen Nikita Philip Pål Simen Siv Stian Susanne Tor Torjus Vivi Fra sortert liste (øverst) til binært søketre Jørgen Gunnar Stian Eirik Jan Pål Torjus Christian Elisabeth Henrik Jim Nikita Siv Susanne Vivi Andreas Darjan Gry Helge Imran Nguyen Philip Simen Tor
32 Sette personobjekt inn i treet Når vi skal legge til et personobjekt, sjekker vi først navnet til førsteperson. Her har vi fire muligheter: 1. førsteperson == null, objektet med innavnet er første objekt. 2. innnavnet er likt, ingenting legges til (i dette eksemplet) 3. innavnet er større og personen skal legges til (treet) høyre 4. innavnet er mindre og personen skal legges til (treet) venstre
33 Sette personobjekt inn i treet Metoden vi bruker for å legge til et objekt har en personpeker som parameter. Personen som personpekeren peker på skal settes inn i treet. Metoden er definert i en omgivelse der Person persontreet peker på personobjektet som er roten i hele treet. Metoden kalles med kallet settinnitre(nyperson); Hvordan vi sammenligner tekststrenger er ikke vesentlig her, men i eksemplet har jeg brukt comparetoignorecase (fra String-klassen) som returnerer et heltall (se ovenfor). Vi lager en skisse:
34 Sette personobjekt inn i treet 1 void settinnitre ( Person inn ) { 2 // Objektet pekt på av inn skal inn i persontreet 3 i f ( persontreet == null ) persontreet = inn ; 4 else { 5 Person pp = treet ; 6 while ( pp! = null ) { 7 int smnlgn = pp.navn.comparetoignorecase ( inn.navn ) ; 8 if ( smnlgn < 0 ) pp = pp.høyre ; 9 else if ( smnlgn > 0 ) pp = pp. venstre ; 10 } 11 if ( smnlgn < 0 ) 12 <sett innpersonen i treet pekt på av høyre> 13 else i f ( smnlgn > 0 ) 14 <sett innpersonen i treet pekt på av venstre > 15 } 16 }
35 Sette personobjekt inn i treet Metoden er korrekt hvis treet er tomt. Hvis treet ikke er tomt (tre!= null) vandrer vi nedover (sic!) treet til vi finner et personobjekt hvor pekeren «videre» er null. Her skal objektet settes inn. I skissen på forrige lysark er vi framme når pp == null; Vi har da ikke lenger tilgang til objektet som vi skal hekte det nye objektet til. Introduserer en hjelpepeker som «henger ett trinn etter»:
36 Sette personobjekt inn i treet 1 void settinnitre ( Person inn ) { 2 // Objektet inn skal s e t t e s inn i persontreet 3 i f ( persontreet == null ) persontreet = inn ; 4 else { 5 int smnlgn = 347; 6 Person siste, peker = treet ; 7 while ( peker! = null ) { 8 siste = peker; 9 smnlgn = peker.navn.comparetoignorecase ( inn.navn ) ; 10 if ( smnlgn < 0 ) peker = peker.høyre ; 11 else if ( smnlgn > 0 ) peker = peker. venstre ; 12 } 13 if ( smnlgn < 0 ) siste.høyre = inn ; 14 else i f ( smnlgn > 0 ) siste. venstre = inn ; 15 } 16 }
37 Sette personobjekt inn i treet Henrik Andreas Gunnar Elisabeth Helge Christian Gry Darjan Eirik Henrik Jørgen Andreas Susanne Gunnar Nikita Jim Vivi Pål Elisabeth Christian Jørgen Darjan Eirik Jan Torjus Tor Gry Simen Stian Imran Nguyen Helge Philip Siv Imran Jan Jim Jørgen Nikita Nguyen Pål Philip Susanne Vivi Torjus Tor Simen Stian Slik blir treet hvis navnene kommer slik lista over er (fra øverst og nedover) Siv
38 Sette personobjekt inn i treet Andreas Christian Darjan Eirik Elisabeth Slik blir treet hvis person objektene settes inn i alfabetisk rekkefølge. Gry Gunnar Helge Henrik Resten i stigende orden
39 Sette personobjekt inn i treet Sette et personobjekt inn i treet 1 public void settinnitreet ( Person inn ) { 2 if ( rotperson == null ) rotperson = inn ; 3 else settinn ( inn, rotperson ) ; 4 } 5 6 private void settinn ( Person inn, Person tre ) { 7 int smnlgn = tre. sammenlign( inn ) ; 8 if ( smnlgn < 0 ) { 9 if ( tre. høyre == null ) tre.høyre = inn ; 10 else settinn ( inn, tre.høyre ) ; 11 } 12 else if ( smnlgn > 0 ) { 13 if ( tre. foran == null ) tre. venstre = inn ; 14 else settinn ( inn, tre. venstre ) ; 15 } 16 }
40 Finne et personobjekt med et gitt navn Finne et personobjekt med et gitt navn blir nokså likt det å sette inn en person. Metoden skal returnere med en peker til et personobjekt i treet som har likt navn med innparameteren. Her lar vi treet vi skal lete i også være innparameter. Når vi skal lete i hele treet, bruker vi kallet finnitre(persontreet, navnet).
41 Finne et personobjekt med et gitt navn 1 Person finnitre ( Person persontre, String navn) { 2 Person funnetperson = null ; 3 Person pp = persontre; int smnlgn = 5621; 4 while ( pp! = null ) { 5 smnlgn = pp.navn.comparetoignorecase (navn ) ; 6 if ( smnlgn == 0 ) { // funnet 7 funnetperson = pp; 8 pp = null ; // for å avslutte whileløkka 9 } 10 else if ( smnlgn < 0 ) pp = pp.høyre ; 11 else if ( smnlgn > 0 ) pp = pp. venstre ; 12 } 13 return funnetperson ; 14 }
42 Programmeringsoppgaver til plenumsøvelsen Programmeringsoppgaver 1. Lag en enklere og bedre settinnpersonetterrang basert på opplysningene om de tre tilfellene vi kan dele problemet i. 2. Lag et program som tester innsettingsmetodene i et binært tre. Rett evt. feil. 3. Forandre programmet over, slik at innsettingsmetoden ligger i personobjektene (defineres i klassen Person). 4. Skriv om finnitre slik at den benytter kall på seg selv istedet for while-løkke. 5. Anta at et personobjekt har en metode skrivperson som skriver ut opplysninger om dette objektet. Lag en metode skrivalle som kaller på denne metoden i samtlige objekter i treet. 6.
Finne et personobjekt med et gitt navn. Sette personobjekt inn i treet
INF1010 e-ostadresser Ikke-faglige sørsmål til studieinfo@ifi.uio.no. Faglige sørsmål til blogen eller til @ifi.uio.no: brukernavn navn kristoeb Kristoffer Egil Bonarjee josek Jose Louis Rojas
DetaljerVanlige datastrukturer. I dette lysarksettet
Vanlige datastrukturer I dette lysarksettet datastrukturer Datastrukturer i Med datastruktur mener vi måten objektene i et program er strukturert på. Særlig blir det aktuelt å snakke om struktur hvis vi
DetaljerINF1010. Om pensum INF1010 INF1010 INF1010 INF1010. Det vesentlige er å forstå og kunne lage programmer ved hjelp av eksemplene i bøkene.
Om pensum Dagens forelesning handler om (de to datastrukturene) lister og binære trær. Etter forelesningen skal studentene kjenne til datastrukturene lister og binære trær og kunne lage programmer som
DetaljerDagens forelesning. INF1010 Datastrukturer Lister og køer Pekerkjedelister Øvelser. Innhold i dette lysarksettet
Innhold i dette lysarksettet Dagens forelesning INF1010 Innhold i dette lysarksettet Hvordan jobbe med INF1010 Datastrukturer Algoritmer og datastrukturer Grafer (lister og trær) Objektorientert programmering
DetaljerHvorfor sortering og søking? Søking og sortering. Binære søketrær. Ordnet innsetting forbereder for mer effektiv søking og sortering INF1010 INF1010
Hvorfor sortering og søking? Man bør ha orden i dataene umulig å leve uten i informasjonssamfunnet vi blir fort lei av å lete poleksempel internett alt er søking og sortering alternativer til sortering
DetaljerLenkelister. Lister og køer.
Lenkelister. Lister og køer. INF1010 Stein Michael Storleer 27. januar 2011 Dagens forelesning Lenkede lister Lenkede lister Eksempel på en lenket liste: personliste Operasjoner på lenkede lister (enkeltlenket)
Detaljeralternativer til sortering og søking binære trær søketrær Ikke-rekursiv algoritme som løser Hanois tårn med n plater
Dagens temaer Sortering: 4 metoder Hvorfor sortering (og søking) er viktig i programmering Sortering når objektene som skal sorteres er i et array 1. Sorterering ved bruk av binærtre som «mellomlager»
DetaljerStudieaktiviteter i INF1010
Innhold i dette lysarksettet Dagens forelesning INF1010 Innhold i dette lysarksettet Hvordan jobbe med INF1010 Datastrukturer Algoritmer og datastrukturer Grafer (lister og trær) Objektorientert programmering
DetaljerVelkommen til INF1010
Velkommen til INF1010 Dagens forelesning Hvordan jobbe med INF1010 Pensum Datastrukturer Grafer (lister og trær) Objektorientert programmering Lister og køer Hva er en liste? FIFO- og LIFO-lister Lenkede
DetaljerDagens temaer. Sortering: 4 metoder Søking: binærsøk Rekursjon: Hanois tårn
Dagens temaer Sortering: 4 metoder Hvorfor sortering (og søking) er viktig i programmering Sortering når objektene som skal sorteres er i et array 1. Sorterering ved bruk av binærtre som «mellomlager»
DetaljerINF1010 siste begreper før oblig 2
INF1010 siste begreper før oblig 2 Sammenligning. Mer lenkede lister. Forskjellige listeimplementasjoner. Binære trær. Bittelitt om grensesnitt (interface). Dagens forelesning Flere temaer på grunn av
DetaljerBinære søketrær. Et notat for INF1010 Stein Michael Storleer 16. mai 2013
Binære søketrær Et notat for INF Stein Michael Storleer 6. mai 3 Dette notatet er nyskrevet og inneholder sikkert feil. Disse vil bli fortløpende rettet og datoen over blir oppdatert samtidig. Hvis du
DetaljerVersjon (vil bli endret).
Versjon 24.01.2012 (vil bli endret). Dette dokumentet bør leses før forelesningen 26. januar 2012 og er en del av «pensum». De er også laget med tanke på repetisjon. (Lysarkene som blir brukt egner seg
DetaljerOperasjoner på lenkede lister (enkeltlenket) Eksempel på en lenket liste: personliste. INF januar 2010 (uke 3) 2
Velkommen til INF1010 Studieaktiviteter i INF1010 Programmering (oppgaveløsning) alene/kollokvier programmeringslab (plenums)øvelser forelesninger gruppe som repeterer stoff fra forelesning, og øvelser
DetaljerGjøre noe i hele treet = kalle på samme metode i alle objekten. Java datastruktur Klassestruktur
Godkjent oblig 1? Les e-post til din UiO-adresse Svar på e-post fra lablærer Ingen godkjenning før avholdt møte med lablærer Godkjentlistene brukes ikke til å informere om status for obligene Ta vare på
DetaljerINF1010 Rekursive metoder, binære søketrær. Algoritmer: Mer om rekursive kall mellom objekter Ny datastruktur: binært tre
INF1010 Rekursive metoder, binære søketrær Algoritmer: Mer om rekursive kall mellom objekter Ny datastruktur: binært tre public void skrivutmeg ( ) { System. out. println (navn + " er venn med " + minbestevennheter
DetaljerEks 1: Binærtre Binærtretraversering Eks 2: Binærtre og stakk
Godkjent oblig 1? Les e-post til din UiO-adresse Svar på e-post fra lablærer Ingen godkjenning før avholdt møte med lablærer Godkjentlistene brukes ikke til å informere om status for obligene Ta vare på
DetaljerINF1010 Binære søketrær ++
INF1010 Binære søketrær ++ Programeksempler med insetting, gjenfinning av noder i et binært søketre samt eksempler på hvordan lage en liste av et binærtre. Hva må du kunne om binære søketrær i INF1010
DetaljerLenkelister. Lister og køer. Kopi av utvalgte sider fra forelesningen.
Lenkelister. Lister og køer. Kopi av utvalgte sider fra forelesningen. "Taher" type: String : type: :... type: : inf1010student null michael@ifi.uio.no INF1010 26. januar 2012 (uke 4) 2 class Eks01 { public
DetaljerEn implementasjon av binærtre. Dagens tema. Klassestruktur hovedstruktur abstract class BTnode {}
En implementasjon av binærtre Dagens tema Eksempel på binærtreimplementasjon Rekursjon: Tårnet i Hanoi Søking Lineær søking Klassestruktur hovedstruktur abstract class { class Person extends { class Binaertre
DetaljerDagens tema INF1010 INF1010 INF1010 INF1010
I eksemplene om lister og binære trær har vi hittil hatt pekerne inne i objektene i strukturen. ( Innbakt struktur ).Eksempel: Dagens tema Implementasjon av strukturer (lister, binære trær) class { ; ;
DetaljerINF110 Algoritmer og datastrukturer TRÆR. Vi skal i denne forelesningen se litt på ulike typer trær:
TRÆR Vi skal i denne forelesningen se litt på ulike typer trær: Generelle trær (kap. 4.1) Binærtrær (kap. 4.2) Binære søketrær (kap. 4.3) Den siste typen trær vi skal behandle, B-trær (kap. 4.7) kommer
DetaljerDefinisjon av binært søketre
Binære søketrær Definisjon av binært søketre For alle nodene i et binært søketre gjelder: Alle verdiene i nodens venstre subtre er mindre enn verdien i noden Alle verdiene i nodens høyre subtre er større
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Eksamensdag: 6. juni 2013 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 5 sider. Vedlegg:
Detaljer"behrozm" Oppsummering - programskisse for traversering av en graf (dybde først) Forelesning i INF februar 2009
Rekursiv programmering BTeksempel Datastruktur I klassen Persontre (rotperson==) Rekursjon Noen oppgaver/problemer er rekursive «av natur» Eksempel på en rekursiv definisjon Fakultetsfunksjonen
DetaljerDagens tema. Sortering. Fortsettelse om programmering vha tråder.
Dagens tema Sortering. Fortsettelse om programmering vha tråder. «orden» i dataene vi blir fort lei av å lete poleksempel internett «alt» er søking og sortering alternativer til sortering og søking binære
DetaljerINF2220: Forelesning 1. Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel )
INF2220: Forelesning 1 Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel 4.1-4.3 + 4.6) PRAKTISK INFORMASJON 2 Praktisk informasjon Kursansvarlige Ragnhild Kobro Runde (ragnhilk@ifi.uio.no)
DetaljerINF2220: Forelesning 2
INF2220: Forelesning 2 Mer om analyse av algoritmer Analyse av binære søketrær Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7) ANALYSE AV ALGORITMER 2 Analyse av tidsforbruk Hvor
DetaljerAlgoritmer og datastrukturer Eksamen
Eksamen - Algoritmer og datastrukturer - Høgskolen i Oslo og Akershus - 27.11.2012 Side 1 av 6 Algoritmer og datastrukturer Eksamen 27.11.2012 Eksamensoppgaver Råd og tips: Bruk ikke for lang tid på et
DetaljerLøsnings forslag i java In115, Våren 1996
Løsnings forslag i java In115, Våren 1996 Oppgave 1a For å kunne kjøre Warshall-algoritmen, må man ha grafen på nabomatriseform, altså en boolsk matrise B, slik at B[i][j]=true hvis det går en kant fra
DetaljerDagens tema. Sortering. Fortsettelse om programmering vha tråder.
Dagens tema Sortering. Fortsettelse om programmering vha tråder. «orden» i dataene vi blir fort lei av å lete poleksempel internett «alt» er søking og sortering alternativer til sortering og søking binære
DetaljerEKSAMEN. Dato: 9. mai 2016 Eksamenstid: 09:00 13:00
EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 9. mai 2016 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet består
DetaljerBinære søketrær. En ordnet datastruktur med raske oppslag. Sigmund Hansen
Binære søketrær En ordnet datastruktur med raske oppslag Sigmund Hansen Lister og trær Rekke (array): 1 2 3 4 Lenket liste (dobbelt-lenket): 1 2 3 4 Binært søketre: 3 1 4 2 Binære
DetaljerEKSAMEN med løsningsforslag
EKSAMEN med løsningsforslag Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: Eksamenstid: 20. mai 2009 kl 09.00 til kl 13.00 Hjelpemidler: 8 A4-sider (4 ark) med egne notater Kalkulator Faglærer:
DetaljerDefinisjon: Et sortert tre
Binære søketrær Definisjon: Et sortert tre For alle nodene i et binært søketre gjelder: Alle verdiene i nodens venstre subtre er mindre enn verdien i noden Alle verdiene i nodens høyre subtre er større
DetaljerRekursjon. Binærsøk. Hanois tårn.
Rekursjon Binærsøk. Hanois tårn. Hvorfor sortering (og søking) er viktig i programmering «orden» i dataene vi blir fort lei av å lete poleksempel internett «alt» er søking og sortering alternativer til
DetaljerINF1010 våren januar. Objektorientering i Java
INF1010 våren 2017 25. januar Objektorientering i Java Om enhetstesting (Repetisjon av INF1000 og lær deg Java for INF1001 og INF1100) Stein Gjessing Hva er objektorientert programmering? F.eks: En sort
DetaljerAlgoritmer og datastrukturer Eksamen 22. februar 2011
Side 1 av 5 Algoritmer og datastrukturer Eksamen 22. februar 2011 Eksamenstid: 5 timer Hjelpemidler: Alle trykte og skrevne + håndholdt kalkulator som ikke kommuniserer. Faglærer: Ulf Uttersrud Råd og
DetaljerINF januar 2015 Stein Michael Storleer (michael) Lenkelister
INF1010 29. januar 2015 Stein Michael Storleer (michael) Lenkelister Lenke + lister = lenkelister Vi starter med lenkeobjektene Lager en kjede av objekter ved hjelp av pekere class { ; Legger Jl data innholdet
DetaljerBinære trær: Noen algoritmer og anvendelser
Binære trær: Noen algoritmer og anvendelser Algoritmer / anvendelser: Søking i usortert binært tre Telling av antall noder og nivåer i treet Traversering av binære trær Binære uttrykkstrær Kunstig intelligens(?):
DetaljerINF2220: Forelesning 2. Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7)
INF2220: Forelesning 2 Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7) REPETISJON: BINÆRE SØKETRÆR 2 Binære søketrær 8 4 12 2 7 9 15 6 11 13 16 For enhver node i et binært søketre
DetaljerINF2220: Forelesning 2
INF2220: Forelesning 2 Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7) REPETISJON: BINÆRE SØKETRÆR 2 Binære søketrær 8 4 12 2 7 9 15 6 11 13 16 For enhver node i et binært søketre
DetaljerINF1010. Grensesnittet Comparable<T>
INF1010 21. februar 2013 Grensesnittet Comparable Stein Michael Storleer Institutt for Informatikk Universitetet i Oslo Interface med parametre interface Utkledd { // T er klassen jeg er utkledd
DetaljerDagens tema. INF Algoritmer og datastrukturer. Binærtrær. Generelle trær
Dagens tema INF2220 - Algoritmer og datastrukturer HØSTEN 2007 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 2: Binærtrær og abstrakte datatyper (ADT) Kort repetisjon Generelle trær
DetaljerLøsnings forslag i java In115, Våren 1998
Løsnings forslag i java In115, Våren 1998 Oppgave 1 // Inne i en eller annen klasse private char S[]; private int pardybde; private int n; public void lagalle(int i) if (i==n) bruks(); else /* Sjekker
DetaljerAlgoritmer og Datastrukturer
Eksamen i Algoritmer og Datastrukturer IAI 21899 Høgskolen i Østfold Avdeling for informatikk og automatisering Lørdag 15. desember 2001, kl. 09.00-14.00 Hjelpemidler: Alle trykte og skrevne hjelpemidler.
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Dato: 9. juni 2016 Tid for eksamen: 09.00 15.00 (6 timer) Oppgavesettet er på 7 sider. Vedlegg:
DetaljerOppgavesettet består av 7 sider, inkludert denne forsiden. Kontroll& at oppgaven er komplett før du begynner å besvare spørsmålene.
Høgskoleni Østfold EKSAMEN Emnekode: Emnenavn: ITF20006 Algoritmer og datastrukturer Dato: Eksamenstid: 9. mai 2016 9.00 13.00 Hjelpemidler: Faglærer: Alle trykte og skrevne Jan Høiberg Om eksamensoppgaven
DetaljerDagens forelesning. Java 13. Rollefordeling (variant 1) Rollefordeling (variant 2) Design av større programmer : fordeling av roller.
Dagens forelesning Java 13 Design av større programmer : fordeling av roller INF 101-13. mars 2003 Flere eksempler på bruk av objekter MVC-prinsippet MVC-prinsippet Flere eksempler på programmer med objekter
DetaljerAlgoritmer og datastrukturer Løsningsforslag
Algoritmer og datastrukturer ved Høgskolen i OsloSide 1 av 6 Algoritmer og datastrukturer Løsningsforslag Eksamen 24. februar 2010 Oppgave 1A 1. Komparatoren sammenligner først lengdene til de to strengene.
DetaljerNy/utsatt EKSAMEN. Dato: 5. januar 2018 Eksamenstid: 09:00 13:00
Ny/utsatt EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 5. januar 2018 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 115 og IN 110 Algoritmer og datastrukturer Eksamensdag: 14. mai 1996 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 8 sider.
DetaljerINF1010 notat: Binærsøking og quicksort
INF1010 notat: Binærsøking og quicksort Ragnhild Kobro Runde Februar 2004 I dette notatet skal vi ta for oss ytterligere to eksempler der rekursjon har en naturlig anvendelse, nemlig binærsøking og quicksort.
DetaljerOppgave 1 LØSNINGSFORSLAG. Eksamen i INF desember Betrakt følgende vektede, urettede graf:
INF100 Algoritmer og datastrukturer INF100 Algoritmer og datastrukturer Oppgave 1 LØSNINGSFORSLAG Betrakt følgende vektede, urettede graf: V 1 V Eksamen i INF100 1. desember 004 V V 4 V 4 V V Ragnar Normann
DetaljerObligatorisk oppgave 1 INF1020 h2005
Obligatorisk oppgave 1 INF1020 h2005 Frist: fredag 7. oktober Oppgaven skal løses individuelt, og må være godkjent for å kunne gå opp til eksamen. Før innlevering må retningslinjene Krav til innleverte
DetaljerDefinisjon. I et binært tre har hver node enten 0, 1 eller 2 barn
Binære trær Definisjon I et binært tre har hver node enten 0, 1 eller 2 barn Rekursiv definisjon: Et binært tre er enten tomt, eller: Består av en rotnode og to binære trær som kalles venstre subtre og
DetaljerINF1010 LISTER. Listeelementer og listeoperasjoner. Foran. Bak
LISTER Vanligste datastruktur Mange implementasjonsmåter (objektkjeder, array...) Operasjoner på listen definerer forskjellige typer lister (LIFO, FIFO,...) På norsk bruker vi vanligvis ordet «liste» for
DetaljerSeminaroppgaver IN1010, uke 2
Seminaroppgaver IN1010, uke 2 1.a: Skriv en klasse HeiVerden.java. Klassen skal inneholde en main- metode (se på notatet fra tidligere). Inne i main -metoden skal programmet først la brukeren oppgi en
DetaljerAlgoritmer og Datastrukturer
Eksamen i Algoritmer og Datastrukturer IAI 20102 Høgskolen i Østfold Avdeling for informatikk og automatisering Lødag 5. juni 2004, kl. 09.00-13.00 LØSNINGSFORSLAG 1 Del 1 60% Oppgave 1.1-10% Forklar kort
DetaljerRepetisjon: Binære. Dagens plan: Rød-svarte trær. Oppgave (N + 1)!
Repetisjon: Binære søketrær Dagens plan: Rød-svarte trær (kap. 12.2) B-trær (kap. 4.7) bstrakte datatyper (kap. 3.1) takker (kap. 3.3) For enhver node i et binært søketre gjelder: lle verdiene i venstre
DetaljerFra Kap.10 Binære søketre (BS-tre) Sist oppdatert 20.03.10 Definere en abstrakt datastruktur binært søketre. Vise hvordan binær søketre kan brukes
Fra Kap.10 Binære søketre (BS-tre) Sist oppdatert 20.03.10 Definere en abstrakt datastruktur binært søketre. Vise hvordan binær søketre kan brukes til å løse problemer. Undersøke ulike implementasjoner
DetaljerOppgave 1. Oppgave 2. Høgskolen i Østfold Avdeling for informasjonsteknologi
Høgskolen i Østfold Avdeling for informasjonsteknologi Løsningsforslag til ny/utsatt eksamen i ITF20006 Algoritmer og datastrukturer 05.01.2018 Oppgave 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
DetaljerEKSAMEN Løsningsforslag. med forbehold om bugs :-)
1 EKSAMEN Løsningsforslag med forbehold om bugs :-) Emnekode: ITF20006 000 Dato: 20. mai 2011 Emne: Algoritmer og datastrukturer Eksamenstid: 09:00 til 13:00 Hjelpemidler: 8 A4-sider (4 ark) med egne notater
DetaljerINF1010. Stein Michael Storleer (michael) Lenkelister
INF1010 Stein Michael Storleer (michael) Lenkelister Lenke Datastrukturen lenkeliste class { = null ; foran foran = new () ; class { = null ; foran foran = new () ; foran. = new () ; class { = null ; foran
DetaljerUNIVERSITETET I OSLO
Eksamen i UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamensdag: 15. desember 2010 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 8 sider. Vedlegg: Tillatte hjelpemidler: INF2220
DetaljerUke 8 Eksamenseksempler + Ilan Villanger om studiestrategier. 11. okt Siri Moe Jensen Inst. for informatikk, UiO
Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier 11. okt. 2011 Siri Moe Jensen Inst. for informatikk, UiO 1 Innhold Eksamen INF1000 Høst 2011: Oppgave 4-7 Tekstmanipulering Metoder med og uten
DetaljerIN1010 våren januar. Objektorientering i Java
IN1010 våren 2018 23. januar Objektorientering i Java Om enhetstesting Om arrayer og noen klasser som kan ta vare på objekter Stein Gjessing Hva er objektorientert programmering? F.eks: En sort boks som
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF 110 Algoritmer og datastrukturer Eksamensdag : Lørdag 8. desember 2001 Tid for eksamen : 09.00-15.00 Oppgavesettet er på
DetaljerAlgoritmer 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
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1020 Algoritmer og datastrukturer Eksamensdag: 15. desember 2004 Tid for eksamen: 14.30 17.30 Oppgavesettet er på 6 sider.
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Onsdag 10. juni 2009 Tid for eksamen: 9.00 12.00 Oppgavesettet
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Side 1 Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1010 Objektorientert programmering Eksamensdag: Onsdag 4. juni 2014 Tid for eksamen: 9:00-15:00 Oppgavesettet er på
DetaljerEksempel: Uttrykkstrær I uttrykkstrær inneholder bladnodene operander (konstanter, variable,... ), mens de interne nodene inneholder operatorer.
TRÆR Generelle trær Dagens plan: Kort repetisjon Generelle trær Binærtrær Implementasjon Traversering Binære søketrær Definisjon Søking, innsetting og sletting Gjennomsnitts-analyse (!) Eksempel: Ibsens
Detaljer... Når internminnet blir for lite. Dagens plan: Løsning: Utvidbar hashing. hash(x) katalog. O modellen er ikke lenger gyldig ved
Dagens plan: Utvidbar hashing (kapittel 5.6) B-trær (kap. 4.7) Abstrakte datatyper (kap. 3.1) Stakker (kap. 3.3) Når internminnet blir for lite En lese-/skriveoperasjon på en harddisk (aksesstid 7-12 millisekunder)
DetaljerEKSAMEN. Algoritmer og datastrukturer
EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: Eksamenstid: 20. mai 2009 kl 09.00 til kl 13.00 Hjelpemidler: 8 A4-sider (4 ark) med egne notater Kalkulator Faglærer: Gunnar Misund
DetaljerINF2220: Forelesning 1
INF2220: Forelesning 1 Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel 4.1-4.3 + 4.6) Praktisk informasjon 2 Praktisk informasjon Kursansvarlige Ingrid Chieh Yu de Vibe (ingridcy@ifi.uio.no)
DetaljerAlgoritmer og datastrukturer Eksamen
Eksamensoppgave i Algoritmer og datastrukturer ved Høgskolen i Oslo Side 1 av 5 Algoritmer og datastrukturer Eksamen 30.11.2010 Eksamenstid: 5 timer Hjelpemidler: Alle trykte og skrevne + håndholdt kalkulator
DetaljerEKSAMEN. Dato: 28. mai 2018 Eksamenstid: 09:00 13:00
EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 28. mai 2018 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet
DetaljerG høgskolen i oslo. Emne: Algoritmer og datastrukturer. Emnekode: 80131A. Faglig veileder: UlfUttersrud. Gruppe(r) : Dato: 09.12.
G høgskolen i oslo Emne: Algoritmer og datastrukturer Emnekode: 80131A Faglig veileder: UlfUttersrud Gruppe(r) : Dato: 09.12.2004 Eksamenstid: 9-14 Eksamensoppgaven består av: Tillatte hjelpemidler Antall
DetaljerHva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }
Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; Hva skrives ut på skjermen når følgende kode utføres? int [] tallene =
DetaljerAlgoritmer 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
DetaljerGenerelle trær BINÆRTRÆR. Binærtrær
BINÆRTRÆR Kort repetisjon Generelle trær Binærtrær Implementasjon Traversering Binære søketrær Definisjon Søking, innsetting og sletting Gjennomsnitts-analyse Eksempel: Ibsens skuespill Generelle trær
DetaljerINF2220: Forelesning 1
INF2220: Forelesning 1 Praktisk informasjon Analyse av algoritmer (kapittel 2) Rekursjon (kapittel 1.3) (Binær)trær (kapittel 4.1-4.3 + 4.6) Praktisk informasjon 2 Praktisk informasjon Kursansvarlige Ingrid
Detaljer< T extends Comparable<T> > Indre klasser mm. «Det du bør ha hørt om før oblig 4»
< T extends Comparable > Indre klasser mm. «Det du bør ha hørt om før oblig 4» Strukturen i oblig 3 null null null null Personbeholder pl null null Person p "Adnan" michael@ifi.uio.no INF1010 21. februar
DetaljerE K S A M E N. Algoritmiske metoder I. EKSAMENSDATO: 11. desember HINDA / 00HINDB / 00HINEA ( 2DA / 2DB / 2EA ) TID:
Høgskolen i Gjøvik Avdeling for Teknologi E K S A M E N FAGNAVN: FAGNUMMER: Algoritmiske metoder I L 189 A EKSAMENSDATO: 11. desember 2001 KLASSE: 00HINDA / 00HINDB / 00HINEA ( 2DA / 2DB / 2EA ) TID: 09.00-14.00
DetaljerNy/utsatt EKSAMEN. Dato: 6. januar 2017 Eksamenstid: 09:00 13:00
Ny/utsatt EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 6. januar 2017 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO BOKMÅL Det matematisk-naturvitenskapelige fakultet Eksamen i : Eksamensdag : Torsdag 2. desember 2004 Tid for eksamen : 09.00 12.00 Oppgavesettet er på : Vedlegg : Tillatte hjelpemidler
DetaljerINF1010 - Objektorientert programmering. Datastrukturer i Java Klasser med parametre
INF1010 - Objektorientert programmering Datastrukturer i Java Klasser med parametre INF1010 våren 2015 Stein Gjessing (steing) Stein Michael Storleer (michael) 36 hjelpelærere Andreas Færøvig Olsen (andrefol)
DetaljerLøsningsforslag til INF110 h2001
Løsningsforslag til INF110 h2001 Eksamen i : INF 110 Algoritmer og datastrukturer Eksamensdag : Lørdag 8. desember 2001 Tid for eksamen : 09.00-15.00 Oppgavesettet er på : 5 sider inkludert vedlegget Vedlegg
DetaljerINF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen
INF1000 EKSTRATILBUD Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen PLAN FOR DAGEN gjennomgå stoff fra uke 1-5(6), men med en litt annen tilnærming kun gjennomgått stoff, men vekt på konsepter og
DetaljerAlgoritmer og datastrukturer Løsningsforslag
1 Algoritmer og datastrukturer Løsningsforslag Eksamen 29. november 2011 Oppgave 1A Verdien til variabelen m blir lik posisjonen til den «minste»verdien i tabellen, dvs. bokstaven A, og det blir 6. Oppgave
DetaljerListe som abstrakt konsept/datatype
Lister Liste som abstrakt konsept/datatype Listen er en lineær struktur (men kan allikevel implementeres ikke-lineært bak kulissene ) Hvert element har en forgjenger, unntatt første element i listen Hvert
Detaljer3 emner i dag! INF1000 Uke 5. Objekter og pekere. null. Litt om objekter, pekere og null Filer og easyio Litt mer om tekster
3 emner i dag! INF1000 Uke 5 Litt om objekter, pekere og null Filer og easyio Litt mer om tekster Litt om objekter, filer med easyio, tekst 1 2 Objekter og pekere Vi lager pekere og objekter når vi bruker
DetaljerHva er en algoritme? INF HØSTEN 2006 INF1020. Kursansvarlige Ragnar Normann E-post: Dagens tema
va er en algoritme? Vanlig sammenligning: Oppskrift. nput lgoritme NF1020 - ØSTEN 2006 Kursansvarlige Ragnar Normann E-post: ragnarn@ifi.uio.no Output Knuth : tillegg til å være et endelig sett med regler
DetaljerUNIVERSITETET I OSLO
Eksamen i UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamensdag: 13. desember 2011 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 7 sider. Vedlegg: INF2220 lgoritmer og datastrukturer
DetaljerLøsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011)
Løsningsforslag ukeoppg. 6: 28. sep - 4. okt (INF1000 - Høst 2011) Løsningsforslag til oppgave 7, 8, og 9 mangler Klasser og objekter (kap. 8.1-8.14 i "Rett på Java" 3. utg.) NB! Legg merke til at disse
DetaljerLøsnings forslag i java In115, Våren 1999
Løsnings forslag i java In115, Våren 1999 Oppgave 1a Input sekvensen er: 9, 3, 1, 3, 4, 5, 1, 6, 4, 1, 2 Etter sortering av det første, midterste og siste elementet, har vi følgende: 2, 3, 1, 3, 4, 1,
DetaljerINF Objektorientert programmering. Datastrukturer i Java Klasser med parametre
INF1010 - Objektorientert programmering Datastrukturer i Java Klasser med parametre INF1010 våren 2015 Stein Gjessing (steing) Stein Michael Storleer (michael) 36 hjelpelærere Andreas Færøvig Olsen (andrefol)
DetaljerLenkelister, iteratorer, indre klasser. Repetisjonskurs våren 2018 kristijb
Lenkelister, iteratorer, indre klasser Repetisjonskurs våren 2018 kristijb Lenket liste av objekter Vi lager en lenke ved at objekter refererer til hverandre. Vanlige er ofte å ha Node-objekter som har
DetaljerLøsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011)
Løsningsforslag ukeoppg. 9: 19. - 25. okt (INF1000 - Høst 2011) HashMap, innstikksortering, javadoc (kap. 9.1-9.11, m.m. i "Rett på Java" 3. utg.) NB! Legg merke til at disse er løsningsforslag. Løsningene
Detaljer