INF1010 Binære søketrær ++
|
|
- Ketil Hansen
- 7 år siden
- Visninger:
Transkript
1 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.
2 Hva må du kunne om binære søketrær i INF1010 Lage programmer som 1. bygger opp et binært søketre (sette inn objekter) 2. finner igjen et objekt i et binært søketre 3. traverserer hele treet (f.eks. skriver ut alle objektene) 4. gjør om et binært søketre til en sortert liste 5. gjør om en usortert liste til et binært søketre (samme som 1.) Du skal også kunne gjøre rede for tilstandspåstandene som ligger til grunn for at en datastruktur skal være et binært søketre. Vil du vite mer om binære søketrær, kan denne wikipediaartikkelen være et greit utgangspunkt: michael@ifi.uio.no INF mai 2012 (uke 18) 2
3 Tilstandspåstander et binært søketre (BST) består av 0 til n knuter (noder) For alle knuter i et BST gjelder: en knute har en konstant verdi og en compareto-metode som er veldefinert når knuten sammenlignes med andre knuter en knute har pekere til to BST (subtrær), v og h. alle knutene i venstre subtre (hvis ikke tomt) har verdier som er mindre enn eller lik knutens verdi basert på returverdien til knutens compareto-metode. alle knutene i høyre subtre har verdier som er større enn eller lik knutens verdi basert på returverdien til knutens compareto-metode. michael@ifi.uio.no INF mai 2012 (uke 18) 3
4 Programeksempel klassestruktur interface BTNodeRolle <T>{ int compareto(t e ) ; void skrivut ( ) ; } class Node <T extends BTNodeRolle <T>> { Node<T> venstre, høyre ; T denne; Node (T t ) { denne = t ; } } void leggtiltre (Node <T> inn ) Node<T> finnidenneellerunder (Node <T> likdenne ) void skrivut ( ) michael@ifi.uio.no INF mai 2012 (uke 18) 4
5 class Ord implements BTNodeRolle <Ord> { private String ordet ; Ord ( String s ) { ordet = s ; } } public int compareto( Ord o) public void skrivut ( ) public class Eksempel1 { public static void main( String [ ] args ) { Node<Ord> = new Node<Ord> (new Ord( ) ) ; } michael@ifi.uio.no INF mai 2012 (uke 18) 5
6 Klassen Ord class Ord implements BTNodeRolle <Ord> { private String ordet ; Ord ( String s ) { ordet = s ; } public int compareto( Ord o ) { return ordet. comparetoignorecase ( o. ordet ) ; } } public void skrivut ( ) { System. out. print ( ordet+" " ) ; } michael@ifi.uio.no INF mai 2012 (uke 18) 6
7 Klassen Node<T> class Node <T extends BTNodeRolle <T>> { Node<T> venstre, høyre ; T denne; Node (T t ) { denne = t ; } } void leggtiltre (Node <T> inn ) Node<T> finnidenneellerunder (Node <T> likdenne ) void skrivut ( ) michael@ifi.uio.no INF mai 2012 (uke 18) 7
8 Et Node<Ord>-objekt Tilstand i programmet etter setningen Node<Ord> = new Node<Ord> (new Ord( )); void leggtiltre(node<ord> inn) Node<Ord> finnidenneellerunder(node<ord> likdenne) Node<Ord> void skrivut() Sterkt forenklet: Node<Ord> venstre Ord denne Node<Ord> høyre int compareto(ord o) void skrivut() String ordet Konstruktører: Ord (String s) {ordet = s;} Node (T t) {denne = t;} michael@ifi.uio.no INF mai 2012 (uke 18) 8
9 Fra main-metoden Node<Ord> = new Node<Ord> (new Ord( " " ) ) ;. leggtiltre (new Node<Ord> (new Ord( "" ) ) ) ;. leggtiltre (new Node<Ord> (new Ord( " " ) ) ) ;. leggtiltre (new Node<Ord> (new Ord( " " ) ) ) ;. leggtiltre (new Node<Ord> (new Ord( " " ) ) ) ;. leggtiltre (new Node<Ord> (new Ord( " " ) ) ) ;. leggtiltre (new Node<Ord> (new Ord( " " ) ) ) ;. leggtiltre (new Node<Ord> (new Ord( " " ) ) ) ;. leggtiltre (new Node<Ord> (new Ord( " " ) ) ) ;. leggtiltre (new Node<Ord> (new Ord( " " ) ) ) ; michael@ifi.uio.no INF mai 2012 (uke 18) 9
10 Settinnmetoden i Node<T> void leggtiltre (Node <T> inn ) { int smnlgn = denne. compareto( inn. denne ) ; i f ( smnlgn < 0 ) i f ( høyre == null ) høyre = inn ; else høyre. leggtiltre ( inn ) ; else i f ( venstre == null ) venstre = inn ; else venstre. leggtiltre ( inn ) ; } michael@ifi.uio.no INF mai 2012 (uke 18) 10
11 Datastruktur ved kall på settinn-metoden (over) og resultat (under) Node<Ord> INF mai 2012 (uke 18) 11
12 void leggtiltre (Node <T> inn ) { int smnlgn = denne. compareto( inn. denne ) ; i f ( smnlgn < 0 ) i f ( høyre == null ) høyre = inn ; else høyre. leggtiltre ( inn ) ; else i f ( venstre == null ) venstre = inn ; else venstre. leggtiltre ( inn ) ; } michael@ifi.uio.no INF mai 2012 (uke 18) 12
13 void leggtiltre (Node <T> inn ) { int smnlgn = denne. compareto( inn. denne ) ; i f ( smnlgn < 0 ) i f ( høyre == null ) høyre = inn ; else høyre. leggtiltre ( inn ) ; else i f ( venstre == null ) venstre = inn ; else venstre. leggtiltre ( inn ) ; } michael@ifi.uio.no INF mai 2012 (uke 18) 13
14 void leggtiltre (Node <T> inn ) { int smnlgn = denne. compareto( inn. denne ) ; i f ( smnlgn < 0 ) i f ( høyre == null ) høyre = inn ; else høyre. leggtiltre ( inn ) ; else i f ( venstre == null ) venstre = inn ; else venstre. leggtiltre ( inn ) ; } michael@ifi.uio.no INF mai 2012 (uke 18) 14
15 INF mai 2012 (uke 18) 15
16 INF mai 2012 (uke 18) 16
17 INF mai 2012 (uke 18) 17
18 INF mai 2012 (uke 18) 18
19 INF mai 2012 (uke 18) 19
20 INF mai 2012 (uke 18) 20
21 INF mai 2012 (uke 18) 21
22 INF mai 2012 (uke 18) 22
23 INF mai 2012 (uke 18) 23
24 INF mai 2012 (uke 18) 24
25 Finnmetoden i Node<T> Node<T> finnidenneellerunder (Node <T> likdenne ) { Node<T> fantdette ; int smnlgn = denne. compareto( likdenne. denne ) ; i f ( smnlgn < 0 ) i f ( høyre == null ) fantdette = null ; else fantdette = høyre. finnidenneellerunder ( likdenne ) ; else i f ( smnlgn > 0 ) i f ( venstre == null ) fantdette = null ; else fantdette = venstre. finnidenneellerunder ( likdenne ) ; else // smnlgn == 0, dvs. dette er noden det l e t e s etter fantdette = this ; } return fantdette ; michael@ifi.uio.no INF mai 2012 (uke 18) 25
26 Node<Ord> funnet =. finnidenneellerunder (new Node<Ord> (new Ord( " " ) ) ) ; michael@ifi.uio.no INF mai 2012 (uke 18) 26
27 funnet. skrivut ( ) ; michael@ifi.uio.no INF mai 2012 (uke 18) 27
28 Skrivutmetoden i Node<T> void skrivut ( ) { i f ( venstre!= null ) venstre. skrivut ( ) ; denne. skrivut ( ) ; i f ( høyre!= null ) høyre. skrivut ( ) ; } NB! Rekkefølgen på skrivut-kallene vil forandre rekkefølgen. Metoden som er vist skriver ut objektene i alfabetisk stigende rekkefølge. Hvorfor? michael@ifi.uio.no INF mai 2012 (uke 18) 28
29 Fra binærtre til liste Node<Ord> Liste er en enklere struktur å lage en iterator over. INF mai 2012 (uke 18) 29
30 INF mai 2012 (uke 18) 30
31 Node<Ord> liste INF mai 2012 (uke 18) 31
32 Et objekt av klassen Tre<Ord> Svarte nodeobjekter er av den indre klassen Node i Tre Et objekt av klassen Liste<Ord> Grønne objekter er av klassen Ord Røde nodeobjekter er objekter av den indre nodeklassen i Liste michael@ifi.uio.no INF mai 2012 (uke 18) 32
33 Oppgaver 1. Snu ulikhetstegnet i settinnmetoden. Hva blir resultatet? Gjør endringer i skrivut, slik at ordningen fortsatt blir alfabetisk. 2. Gjør endringer i innsettingsrekkefølgen. Får dette konsekvenser for utkriften? 3. Hvor mange forskjellige utskrifter kan vi få ved å endre rekkefølgen på de tre skrivkallene i skrivut? 4. Gjør endringer i klassestrukturen, ved å innføre en ny klasse BTre med metodene som manipulerer treet. La Node være en indre klasse uten metoder, men med pekere. (Vanskelig). 5. Hvor mange forskjellige rekkefølger kan vi sette inn de ti ordene i eksemplet og få det samme treet? 6. Hvor mange forskjellige trær kan vi få ved å endre innsettingsrekkefølgen? michael@ifi.uio.no INF mai 2012 (uke 18) 33
INF1010 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å
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 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
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
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
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:
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
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
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
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
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
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
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
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
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
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:
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.
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
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.
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
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
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)
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
DetaljerINF1010 Eksamenstips. Løsningsforslag prøveeksamen del 1.
INF1010 Eksamenstips Løsningsforslag prøveeksamen del 1. michael@ifi.uio.no INF1010 FSE 25. mai 2011 (uke 21) 2 Les igjennom hele oppgaven. Les igjennom hele oppgaven en gang til, marker i teksten ting
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
DetaljerBalanserte binære søketrær
Balanserte trær Balanserte binære søketrær Balanserte binære søketrær høyden (l treet er O(log 2 n) AVL trær rød-svarte trær svake AVL trær splaytrær heaps AVL trær rød-svarte trær svake AVL trær splaytrær
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
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
DetaljerDagens plan: INF2220 - Algoritmer og datastrukturer. Repetisjon: Binære søketrær. Repetisjon: Binære søketrær
Dagens plan: INF2220 - lgoritmer og datastrukturer HØTEN 2007 Institutt for informatikk, Universitetet i Oslo (kap. 4.7) (kap. 12.2) Interface ollection og Iterator (kap. 3.3) et og maps (kap. 4.8) INF2220,
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
DetaljerLøsningsforslag. Oppgave 1.1. Oppgave 1.2
Løsningsforslag Oppgave 1.1 7 4 10 2 5 9 12 1 3 6 8 11 14 13 Oppgave 1.2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 Oppgave 1.3 Rekursiv løsning: public Node settinn(person ny, Node rot) if (rot == null) return
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(?):
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
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
DetaljerAlgoritmer og datastrukturer Kapittel 9 - Delkapittel 9.2
Delkapittel 9.2 Rød-svarte og 2-3-4 trær side 1 av 21 Algoritmer og datastrukturer Kapittel 9 - Delkapittel 9.2 9.2 Rød-svarte og 2-3-4 trær 9.2.1 B-tre av orden 4 eller 2-3-4 tre Et rød-svart tre og et
DetaljerSortering med Comparable og Comparator
Sortering med Comparable og Comparator Denne siden forklarer hvordan grensesnittene java.util.comparable og java.util.comparator bidrar til sortering i Java. Comparable og Comparator er grensesnitt som
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
DetaljerUNIVERSITETET I OSLO
BOKMÅL Eksamen i : UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet INF1020 Algoritmer og datastrukturer Eksamensdag : Fredag 15. desember 2006 Tid for eksamen : 15.30 18.30 Oppgavesettet
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»
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
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 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.
Detaljerklassen Vin må få en ny variabel Vin neste alle personvariable (personpekere) i listeklassen må byttes til Vin
INF1010 forelesning Lenkelister II Dette skrivet inneholder en oversikt over det jeg planlegger å forelese på andre forlesning om lenkelister. Det inneholder stort sett programeksempler med kommentarer
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 6. juni 2006 Tid for eksamen: 1430 1730 Oppgavesettet er på 6 sider. Vedlegg: INF1010 Objektorientert programmering
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 Eksamen
Algoritmer og datastrukturer Eksamen 24.02.2010 Eksamenstid: 5 timer Hjelpemidler: Alle trykte og skrevne + håndholdt kalkulator som ikke kommuniserer. Faglærer: Ulf Uttersrud Råd og tips: Bruk ikke for
DetaljerINF1010 e-postadresser
INF1010 e-postadresser Ikke-faglige spørsmål til studieinfo@ifi.uio.no. Faglige spørsmål til blogen eller til @ifi.uio.no: brukernavn kristoeb josek stianf bendiko bmmender espeak richar daghf
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
DetaljerINF1010, 22. mai Prøveeksamen (Eksamen 12. juni 2012) Stein Gjessing Inst. for Informatikk Universitetet i Oslo
INF, 22. mai 23 Prøveeksamen 23 (Eksamen 2. juni 22) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Oppgave a Tegn klassehierarkiet for de 9 produkttypene som er beskrevet over. Inkluder også
DetaljerAlgoritmer og datastrukturer Eksamen
1 Algoritmer og datastrukturer Eksamen 29.11.2011 Eksamenstid: 5 timer Hjelpemidler: Alle trykte og skrevne + håndholdt kalkulator som ikke kommuniserer. Faglærer: Ulf Uttersrud Råd og tips: Bruk ikke
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å
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
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
DetaljerAlgoritmer og datastrukturer Eksamen
Algoritmer og datastrukturer Eksamen 02.12.2009 Eksamenstid: 5 timer Hjelpemidler: Alle trykte og skrevne + håndholdt kalkulator som ikke kommuniserer. Faglærer: Ulf Uttersrud Råd og tips: Bruk ikke for
DetaljerUNIVERSITETET I OSLO
1 UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : IN 115 Eksamensdag : Lørdag 20 mai, 2000 Tid for eksamen : 09.00-15.00 Oppgavesettet er på : 5 sider Vedlegg : Intet. Tillatte
DetaljerFagnr: A. Ant. vedlegg: 1 (2 sider)
Fag: Algoritmer datastrukturer og Fagnr: 50 131 A Faglig ansv.: Ulf Uttersrud Sensor: Tor Lønnestad Ant. sider 3 Ant. oppgaver: 3 Ant. vedlegg: 1 (2 sider) Dato: 15.02.2002 Eksamenstid 9-14 c Råd og tips:
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
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
DetaljerAlgoritmer og datastrukturer Løsningsforslag
Algoritmer og datastrukturer Løsningsforslag Eksamen 30. november 2010 Oppgave 1A Et turneringstre for en utslagsturnering med n deltagere blir et komplett binærtre med 2n 1 noder. I vårt tilfelle får
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
DetaljerEKSAMENSOPPGAVE. INF-1101 Datastrukturer og algoritmer. Adm.bygget, rom K1.04 og B154 Ingen
Fakultet for naturvitenskap og teknologi EKSAMENSOPPGAVE Eksamen i: Dato: 15.mai 2018 Klokkeslett: 09:00 13:00 Sted: Tillatte hjelpemidler: Adm.bygget, rom K1.04 og B154 Ingen Type innføringsark (rute/linje):
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Eksamensdag: 14. juni 2010 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 7 sider. Vedlegg:
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»
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
DetaljerAlgoritmer og datastrukturer Kapittel 9 Delkapittel 9.2
Delkapittel 9.2 Rød-svarte og 2-3-4 trær Side 1 av 24 Algoritmer og datastrukturer Kapittel 9 Delkapittel 9.2 9.2 Rød-svarte og 2-3-4 trær 9.2.1 B-tre av orden 4 eller 2-3-4 tre Et 2-3-4 tre (et B-tre
DetaljerKøbenhavn 20 Stockholm
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 115 Algoritmer og datastrukturer Eksamensdag: 26. mai 2001 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 7 sider. Vedlegg:
DetaljerEKSAMEN. Algoritmer og datastrukturer. Eksamensoppgaven: Oppgavesettet består av 10 sider inklusiv vedlegg og denne forsiden.
EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: Eksamenstid: 22. mai 2007 kl 09.00 til kl 13.00 Hjelpemidler: 4 A4-ark med valgfritt innhold på begge sider. Faglærer: Mari-Ann Akerjord
DetaljerEKSAMEN. Dato: 18. mai 2017 Eksamenstid: 09:00 13:00
EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 18. mai 2017 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Kalkulator Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet
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
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
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
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
DetaljerINF1000: Forelesning 7
INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Repetisjon forts. Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en
DetaljerFagnr: SO 131 A. Ant. vedlegg: 1 (2 sider)
Fag: Algoritmer datastrukturer og Fagnr: SO 131 A Faglig ansv.: Ulf Uttersrud Sensor: Tor Lønnestad Ant. sider: 4 Ant. oppgaver: 3 Ant. vedlegg: 1 (2 sider) Dato: 10.12.2001 Eksamenstid: 9-14 RAd og tips:
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)
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:
Detaljer2 Om statiske variable/konstanter og statiske metoder.
Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.
Detaljer1. Krav til klasseparametre 2. Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo
INF1010, 26. februar 2014 1. Krav til klasseparametre 2. Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Vi tar utgangspunkt i dette programmet for
DetaljerLøsningsforslag for Obligatorisk Oppgave 3. Algoritmer og Datastrukturer ITF20006
Løsningsforslag for Obligatorisk Oppgave 3 Algoritmer og Datastrukturer ITF20006 Lars Vidar Magnusson Frist 28.03.14 Den tredje obligatoriske oppgaven tar for seg forelesning 9 til 13, som dreier seg om
Detaljer09.12.2003 9-14. ~ta11 oppgaver: 4. Nle skriftlige hjelpemidler-både trykte og håndskrevne, er tillatt
I Kontrollert I høgskolen i oslo Emne Emnekode: Faglig veileder: Algoritmer og datastrukturer 80 131A UlUttersrud ppe(r): Dato: Eksamenstid:- 09.12.2003 9-14 Eksamensoppgaven består av: ta11 sider (inkl
DetaljerINF våren 2017
INF1010 - våren 2017 Om Java Objekter og klasser Både for deg som kan og for deg som ikke kan Java Stein Gjessing Universitetet i Oslo Ny versjon etter forlesningen der tre meningsløse private modifikatorer
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 =
DetaljerINF1000: Forelesning 7. Konstruktører Static
INF1000: Forelesning 7 Klasser og objekter del 2 Konstruktører Static UML REPETISJON 2 Repetisjon Verden består av objekter av ulike typer (klasser). Ofte er det mange objekter av en bestemt type. Objekter
DetaljerEnkle datastrukturer. Lars Greger Nordland Hagen. Introduksjon til øvingsopplegget og gjennomgang av python
1 Enkle datastrukturer Lars Greger Nordland Hagen algdat@idi.ntnu.no Introduksjon til øvingsopplegget og gjennomgang av python 2 I dag Stack Kø (queue) Lenkede lister (linked list) Trær Binære søketrær
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
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
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
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
DetaljerUNIVERSITETET I OSLO
Eksamen i UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamensdag: 14. desember 2015 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 6 sider. Vedlegg: Tillatte hjelpemidler: INF2220
DetaljerLenkelister og beholdere av lenkelister
Lenkelister og beholdere av lenkelister Et notat for INF1010 Stein Michael Storleer 4. februar 2013 Lister er den vanligste datastrukturen. Vi treffer på den overalt. Når vi har mange objekter i et program,
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
DetaljerOppsummering. Kort gjennomgang av klasser etc ved å løse halvparten av eksamen Klasser. Datastrukturer. Interface Subklasser Klasseparametre
Oppsummering Kort gjennomgang av klasser etc ved å løse halvparten av eksamen 2012. Klasser Interface Subklasser Klasseparametre Datastrukturer Hva er problemet? Oppgaven Emballasjefabrikken Renpakk skal
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 4. juni 2005 Tid for eksamen: 0900 1500 Oppgavesettet er på 5 sider. Vedlegg: Tillatte hjelpemidler: INF1010 Objektorientert
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
DetaljerUNIVERSITETET I OSLO
Eksamen i UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamensdag: 14. desember 2012 Tid for eksamen: 14:30 18:30 Oppgavesettet er på 7 sider. Vedlegg: Tillatte hjelpemidler: INF2220
DetaljerEksamen INF1010 V2009 Del B prøveeksamen V2010 Vekt 60 %
Eksamen INF1010 V2009 Del B prøveeksamen V2010 Vekt 60 % Stein Gjessing Institutt for Informatikk Universitetet i Oslo 1 Oppgave 10 Tegning av datastrukturen (vekt 5% av del B) Tegn datastrukturen til
Detaljer