Algoritmer og datastrukturer Kapittel 11 - Delkapittel 11.2
|
|
- Claus Sletten
- 7 år siden
- Visninger:
Transkript
1 Algoritmer og datastrukturer Kapittel 11 - Delkapittel Korteste vei i en graf Dijkstras metode En graf er et system med noder og kanter mellom noder. Grafen kalles rettet Notasjon Verdien til en node X skrives som v(x) og lengden på kanten fra node X til node Y (avstanden fra X til Y) skrives k(x,y). Algoritmens start Velg en node som startnode, farg noden gul og gi den verdien 0. Farg de nodene som er direkte etterfølgere til startnoden røde og gi dem som verdier den avstanden de har fra startnoden. Resten av nodene skal være grå og skal ikke ha noen verdier foreløpig. 1. Hvis det ikke er noen røde noder igjen, så er vi ferdige. Hvis det er røde noder igjen, velg den blant de røde som har minst verdi. Hvis det er flere med samme minste verdi, så spiller det ingen rolle hvem av dem en velger. Kall den valgte noden X. 2. De direkte etterfølgerne til X er enten farget grå, røde eller gule. De som er grå skal farges røde og får som verdier summen av verdien til X og avstandene fra X til nodene (vektene/lengdene på kantene fra X til nodene). F.eks. hvis en grå direkte etterfølger til X heter Y, så skal verdien til Y (v(y)) bli lik v(x) + k(x,y). Hvis en direkte etterfølger til X er rød, så skal den beholde sin farge. Den har, siden den er rød, allerede fått en verdi. La Z være en rød direkte etterfølger til X. Hvis v(x) + k(x,z) er mindre enn v(z), så skal Z få v(x) + k(x,z) som ny verdi! Hvis v(x) + k(x,z) ikke er mindre enn v(z), så skal Z beholde sin gamle verdi. Hvis en direkte etterfølger til X er gul, så skal den ikke endres verken i farge eller verdi. 3. Farg noden X gul og gå så tilbake til 1. Du kan nå sjekke forståelsen din ved å titte på en applett med Dijkstras algoritme. Den bruker fargene omtrent som beskrevet over. Den eneste forskjellen er at startnoden blir farget blå Implementasjon av Dijkstras metode I implementasjonen av Dijkstras metode bruker vi en prioritetskø. Nodene farges røde i det øyeblikket de legges inn i prioriteskøen. Kantene og nodene er som definert i underkapittel Grafens noder ligger i en nodetabell og alle kantene ut fra en node er kjedet sammen. Se underkapittel import java.util.*; import java.io.*; /////////////////////////// /// /// /// CLASS GRAF /// /// /// /////////////////////////// Side 1 av 14
2 Side 2 av 14 public class Graf // private konstanter private final int TABDIM = 64; private final int NULLNODE = -1; private final int UENDELIG = Integer.MAX_VALUE/3; //////////////////// // class Kant ////// //////////////////// private static class Kant // Edge private int til; // noden kanten går til private int lengde; // kantens lengde private Kant neste; // peker til neste kant // konstruktør public Kant(int til, int lengde, Kant neste) this.til = til; this.lengde = lengde; this.neste = neste; //////////////////// // class Node ////// //////////////////// private static class Node // Vertex private String nodenavn; // nodens navn private Kant førstekant; // peker til første kant i kantlisten private int avstand; // avstand hit private int forrige; // foregående node i korteste vei hit private int teller; // hjelpevariabel // konstruktør public Node (String nodenavn) this.nodenavn = nodenavn; førstekant = null; // en tabell av noder private Node[] node; // En avbildning (map) holder orden på hvilke noder (nodenavn) // grafen består og hvilke nummer nodene er tildelt private Map h; private int antallnoder; // antall noder i gafen
3 Side 3 av 14 /////////////////////////////////////// // PRIVATE HJELPEMETODER /////////////////////////////////////// // privat hjelpemetode private void utvidtabell() Node[] temp = node; node = new Node[2*antallNoder]; // dobler System.arraycopy(temp,0,node,0,antallNoder); // privat hjelpemetode private void nullstill() Node p = null; for (int i = 0; i < antallnoder; i++) p = node[i]; p.avstand = UENDELIG; p.forrige = NULLNODE; p.teller = 0; // en rekursiv hjelpemetode som bruker teknikken "dybde først" // den kalles fra en off. metode med samme navn - se nedenfor private void kortestvei1(int fra, int lengdehit) Kant k = node[fra].førstekant; if (lengdehit + k.lengde < node[k.til].avstand) node[k.til].avstand = lengdehit + k.lengde; node[k.til].forrige = fra; kortestvei1(k.til,lengdehit + k.lengde); ////////////////////////////////////////////// /// OFFENTLIGE METODER ////////////////////////////////////////////// public Graf() // konstruktør node = new Node[TABDIM]; // nodetabellen h = new HashMap(); // holder orden på nodene antallnoder = 0; // i utgangspunktet 0 noder
4 Side 4 av 14 /// nynode ////////////////////////////// public boolean nynode(string nodenavn) Object o = h.get(nodenavn); // Er navn registrert tidligere? if (o!= null) return false; // duplikater ikke tillatt h.put(nodenavn,new Integer(antallNoder)); // Før vi legger noden i nodetabellen må vi sjekke om den // er full! Hvis ja, så utvider vi tabellen! if (antallnoder == node.length) utvidtabell(); // utvider node[antallnoder++] = new Node(nodenavn); // ny node return true; // ny node lagt inn ///// nykant ////////////////////////////////// // Offentlig metode som legger inn nye kanter i grafen public boolean nykant(string fra, String til, int lengde) Object o = h.get(fra); if (o == null) return false; // ingen node med dette navnet int franode = ((Integer)o).intValue(); o = h.get(til); if (o == null) return false; // ingen node med dette navnet int tilnode = ((Integer)o).intValue(); Kant k = node[franode].førstekant; if (k.til == tilnode) // vi oppaterer lengden på en eksistrende kant k.lengde = lengde; return true; // dette er ingen kant mellom disse nodene fra før node[franode].førstekant = new Kant(tilnode,lengde,node[franode].førsteKant); return true; /// skrivgraf ///////////////////////////////////7
5 Side 5 av 14 // en metode som skriver ut for hver node hvilke andre noder // det går en kant til. public void skrivgraf(string fil) throws IOException PrintWriter ut = new PrintWriter(new FileWriter(fil)); Kant k = null; for (int i = 0; i < antallnoder; i++) ut.print("kanter fra " + node[i].nodenavn + " til: "); k = node[i].førstekant; if (k == null) ut.print(" ingen kanter ut fra denne noden"); else ut.print(node[k.til].nodenavn + " (len. " + k.lengde + ") "); ut.println(); ut.close(); /// skrivvei /////////////////////////////////////// // Skriver korteste vei fra en startnode til tilnode. // Utskriften går til ut public void skrivvei(string til, PrintWriter ut) Object o = h.get(til); if (o == null) return; // ukjent navn Stakk s = new TabellStakk(); int nodenr = ((Integer)o).intValue(); int avstand = node[nodenr].avstand; if (avstand == UENDELIG) ut.println("det er ingen vei til " + node[nodenr].nodenavn); while (nodenr!= NULLNODE) s.legginn(new Integer(nodenr)); nodenr = node[nodenr].forrige; while (!s.tom()) ut.print(((integer)(s.taut())).intvalue() + " - ");
6 Side 6 av 14 ut.println(" lengde = " + avstand); ////////////////////////////////////////////// /// OFFENTLIGE METODER ////////////////////////////////////////////// public Graf() // konstruktør node = new Node[TABDIM]; // nodetabellen h = new HashMap(); // holder orden på nodene antallnoder = 0; // i utgangspunktet 0 noder /// nynode ////////////////////////////// public boolean nynode(string nodenavn) Object o = h.get(nodenavn); // Er navn registrert tidligere? if (o!= null) return false; // duplikater ikke tillatt h.put(nodenavn,new Integer(antallNoder)); // Før vi legger noden i nodetabellen må vi sjekke om den // er full! Hvis ja, så utvider vi tabellen! if (antallnoder == node.length) utvidtabell(); // utvider node[antallnoder++] = new Node(nodenavn); // ny node return true; // ny node lagt inn ///// nykant ////////////////////////////////// // Offentlig metode som legger inn nye kanter i grafen public boolean nykant(string fra, String til, int lengde) Object o = h.get(fra); if (o == null) return false; // ingen node med dette navnet int franode = ((Integer)o).intValue(); o = h.get(til); if (o == null) return false; // ingen node med dette navnet int tilnode = ((Integer)o).intValue(); Kant k = node[franode].førstekant; if (k.til == tilnode) // vi oppaterer lengden på en eksistrende kant k.lengde = lengde; return true;
7 Side 7 av 14 // dette er ingen kant mellom disse nodene fra før node[franode].førstekant = new Kant(tilnode,lengde,node[franode].førsteKant); return true; /// skrivgraf ///////////////////////////////////7 // en metode som skriver ut for hver node hvilke andre noder // det går en kant til. public void skrivgraf(string fil) throws IOException PrintWriter ut = new PrintWriter(new FileWriter(fil)); Kant k = null; for (int i = 0; i < antallnoder; i++) ut.print("kanter fra " + node[i].nodenavn + " til: "); k = node[i].førstekant; if (k == null) ut.print(" ingen kanter ut fra denne noden"); else ut.print(node[k.til].nodenavn + " (len. " + k.lengde + ") "); ut.println(); ut.close(); /// skrivvei /////////////////////////////////////// // Skriver korteste vei fra en startnode til tilnode. // Utskriften går til ut public void skrivvei(string til, PrintWriter ut) Object o = h.get(til); if (o == null) return; // ukjent navn Stakk s = new TabellStakk(); int nodenr = ((Integer)o).intValue(); int avstand = node[nodenr].avstand; if (avstand == UENDELIG)
8 Side 8 av 14 ut.println("det er ingen vei til " + node[nodenr].nodenavn); while (nodenr!= NULLNODE) s.legginn(new Integer(nodenr)); nodenr = node[nodenr].forrige; while (!s.tom()) ut.print(((integer)(s.taut())).intvalue() + " - "); ut.println(" lengde = " + avstand); /// graffrafil /////////////////////////////////////// // en metode som leser en fil med grafdata og bygger opp // grafen. Filen må være organisert på en bestemt måte void graffrafil(string filnavn) throws IOException BufferedReader inn = new BufferedReader(new FileReader(filnavn)); StringTokenizer str = null; String tekst = inn.readline(); int antall = Integer.parseInt(tekst); int antkanter = 0; String fra = null; String til = null; for (int i = 0; i < antall; i++) str = new StringTokenizer(inn.readLine()); fra = str.nexttoken(); nynode(fra); antkanter = Integer.parseInt(str.nextToken()); for (int j = 0; j < antkanter; j++) til = str.nexttoken(); nynode(til); nykant(fra,til,integer.parseint(str.nexttoken())); /// Dijkstra ////////////////////////////////////////// // en metode som bruker Dijkstras algoritme for korteste vei public void Dijkstra(String franode) // en lokal hjelpeklasse class Avstand
9 Side 9 av 14 int nodenr; int avstand; Avstand(int nodenr, int avstand) this.nodenr = nodenr; this.avstand = avstand; // en lokal komparator for class Avstand class AvstandKomparator implements Comparator public int compare(object a, Object b) return ((Avstand)b).avstand - ((Avstand)a).avstand; Object o = h.get(franode); // sjekker om noden eksisterer if (o == null) return; // ukjent navn nullstill(); PrioritetsKø q = new HeapPrioritetsKø(new AvstandKomparator()); Kant k = null; // hjelpevariabel Node denne = null; // hjelpevariabel Node etterfølger = null; final int GRÅ = 0; final int GUL = 1; final int RØD = 2; int nodenr = ((Integer)o).intValue(); denne = node[nodenr]; // startnoden denne.avstand = 0; denne.teller = RØD; q.legginn(new Avstand(nodenr,0)); while (!q.tom()) nodenr = ((Avstand)q.taUt()).nodenr; denne = node[nodenr]; if (denne.teller!= RØD) continue; // hopper over denne k = denne.førstekant; int tempavstand = 0; // hjelpevariabel
10 Side 10 av 14 tempavstand = denne.avstand + k.lengde; etterfølger = node[k.til]; if (tempavstand < etterfølger.avstand) etterfølger.avstand = tempavstand; etterfølger.forrige = nodenr; etterfølger.teller = RØD; q.legginn(new Avstand(k.til,tempavstand)); // denne.teller = GUL; // ferdig med denne // while (!q.tom()) // Dijkstra /// kortestevei1 - rekursiv dybde først /////////// public void kortestvei1(string franode) // denne metoden kaller opp en rekursiv hjelpemetode // - se ovenfor Object o = h.get(franode); if (o == null) return; // ukjent nodenavn nullstill(); int nodenr = ((Integer)o).intValue(); node[nodenr].avstand = 0; kortestvei1(nodenr,0); /// kortestevei2 /////////////////////////////////// // en metode som ved hjelp av en stakk bruker "dybde først" public void kortestvei2(string franode) Object o = h.get(franode); if (o == null) return; // ukjent nodenavn nullstill(); Stakk s = new TabellStakk(); int nodex = ((Integer)o).intValue(); int nodey; // hjelpevariabel node[nodex].avstand = 0; node[nodex].teller = 1; // 1 betyr på stakk s.legginn(o);
11 Side 11 av 14 Kant k; try while (!s.tom()) nodex = ((Integer)(s.taUt())).intValue(); node[nodex].teller = 0; // 0 betyr ikke på stakk k = node[nodex].førstekant; nodey = k.til; if (node[nodex].avstand + k.lengde < node[nodey].avstand) node[nodey].avstand = node[nodex].avstand + k.lengde; node[nodey].forrige = nodex; if (node[nodey].teller == 0) // 0 betyr ikke på stakk s.legginn(new Integer(nodeY)); node[nodey].teller = 1; // 1 betyr på stakk catch (TomStakk t) /// kortestevei3 ///////////////////////////////////// // en metode som ved hjelp av en kø bruker "bredde først" public void kortestvei3(string franode) Object o = h.get(franode); if (o == null) return; // ukjent navn nullstill(); Kø q = new TabellKø(); int nodex = ((Integer)o).intValue(); int nodey; node[nodex].avstand = 0; node[nodex].teller = 1; // 1 betyr på kø q.legginn(o); Kant k;
12 Side 12 av 14 while (!q.tom()) nodex = ((Integer)(q.taUt())).intValue(); node[nodex].teller = 0; // 0 betyr ikke på kø k = node[nodex].førstekant; nodey = k.til; if (node[nodex].avstand + k.lengde < node[nodey].avstand) node[nodey].avstand = node[nodex].avstand + k.lengde; node[nodey].forrige = nodex; if (node[nodey].teller == 0) // 0 betyr ikke på kø q.legginn(new Integer(nodeY)); node[nodey].teller = 1; // 1 betyr på kø /// kortestuvektetvei ///////////////////////////////// // En metode som bruker "bredde først" for å finne korteste // vei når vi antar at alle kantene har samme lengde public void kortestuvektetvei(string fra) Object o = h.get(fra); if (o == null) return; // ukjent navn nullstill(); Kø q = new TabellKø(); int nodenr = ((Integer)o).intValue(); Node franode = node[nodenr]; franode.avstand = 0; q.legginn(new Integer(nodenr)); Kant k; Node tilnode; while (!q.tom()) nodenr = ((Integer)(q.taUt())).intValue();
13 Side 13 av 14 franode = node[nodenr]; k = franode.førstekant; tilnode = node[k.til]; if (tilnode.avstand == UENDELIG) tilnode.avstand = franode.avstand + 1; tilnode.forrige = nodenr; // nodenr er nr. til franode q.legginn(new Integer(k.til)); /// asykliskkortestvei /////////////////////////// // En metode som bruker "toplogisk sortering" for å finne // korteste vei i en graf som ikke har sykler public boolean asykliskkortestvei(string fra) Object o = h.get(fra); if (o == null) return false; // ukjent navn nullstill(); Kø q = new TabellKø(); Kant k; // hjelpevariabel int nodenr = ((Integer)o).intValue(); node[nodenr].avstand = 0; // avstand i startnode settes til 0 // variablen teller i hver node skal settes til antallet // inngående kanter til noden for (nodenr = 0; nodenr < antallnoder; nodenr++) k = node[nodenr].førstekant; while(k!= null) node[k.til].teller++; // noder som ikke har inngående kanter legges i køen - det må // finnes minst en slik node siden grafen ikke har sykler
14 Side 14 av 14 for (nodenr = 0; nodenr < antallnoder; nodenr++) if (node[nodenr].teller == 0) q.legginn(new Integer(nodenr)); // hovedløkken starter int i; for (i = 0;!q.tom(); i++) nodenr = ((Integer)(q.taUt())).intValue(); k = node[nodenr].førstekant; if (--node[k.til].teller == 0) q.legginn(new Integer(k.til)); // vi behandler kun noder som har vært "besøkt" - i // begynnelsen er det bare startnoden som har vært "besøkt" if (node[nodenr].avstand < UENDELIG) if (node[k.til].avstand > node[nodenr].avstand + k.lengde) node[k.til].avstand = node[nodenr].avstand + k.lengde; node[k.til].forrige = nodenr; return i == antallnoder; // slutt på class Graf
Algoritmer og datastrukturer Kapittel 9 - Delkapittel 9.2
Delkapittel 9.2 Rød-svarte og 2-3-4 trær Side 1 av 16 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
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
DetaljerTOD063 Datastrukturer og algoritmer
TOD063 Datastrukturer og algoritmer Øving : 3 Utlevert : Uke 7 Innleveringsfrist : 26. februar 2010 Klasse : 1 Data og 1 Informasjonsteknologi Gruppearbeid: 2-3 personer pr. gruppe. Oppgave 1 Vi skal lage
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
DetaljerAlgoritmer og datastrukturer Kapittel 11 Delkapittel 11.2
Delkapittel 11.2 Korteste vei i en graf Side 1 av 17 Algoritmer og datastrukturer Kapittel 11 Delkapittel 11.2 11.2 Vektede grafer 11.2.1 Datastruktur for vektede grafer En graf representeres normalt ved
DetaljerOPPGAVE 5b og 8b Java Kode
OPPGAVE 5b og 8b Java Kode public class Kant boolean behandlereturavbil() BehandleReturAvBil behandler = new BehandleReturAvBil(this); String regnr; int kmstand, tanknivaa; boolean erskadet; // 1: Få verdiene
DetaljerRepetisjon. INF1000 - gruppe 13
Repetisjon INF1000 - gruppe 13 Lese fra fil Scanner import java.util.*; void lesfrafil() { try { Scanner innfil = new Scanner(new File( fugleobservasjoner.txt )); while (innfil.hasnext()) { String linje
DetaljerHØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato:. desember 00 Varighet: timer (9:00 1:00) Fagnummer: LO117D Fagnavn: Algoritmiske metoder Klasse(r): DA DB
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
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
DetaljerUNIVERSITETET I OSLO
Side 1 UNIVERSITETET I OSLO Kandidatnr Det matematisk-naturvitenskapelige fakultet LØSNINGSFORSLAG Eksamen i: PRØVEEKSAMEN INF1000 Eksamensdag: Prøveeksamen 22.11.2011 Tid for eksamen: 12:15-16:15 Oppgavesettet
Detaljerimport java.io.*; import java.util.*; import javagently.text;
//-------------------------------------------------------- // // Fil: Oppg1.java - // løser oppgave 1 i eksamensettet for in105 - v99 // //-------------------------------------------------------- import
DetaljerHØGSKOLEN I SØR-TRØNDELAG
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Kandidatnr: Eksamensdato: 14.desember 2007 Varighet: 0900-1200 Fagnummer: Fagnavn: Klasser: LO347D Web-applikasjoner med Java EE Nettstudenter
DetaljerEksamen i emnet INF100 Grunnkurs i programmering (Programmering I) Løsningsforslag
Universitetet i Bergen Det matematisk naturvitenskapelige fakultet Institutt for informatikk Side 1 av 8 Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) Løsningsforslag Fredag 10. desember
Detaljer13.09.2012 LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke 1-3 12. September 2012 Siri Moe Jensen EKSEMPLER
.9.22 LITT OM OPPLEGGET INF EKSTRATILBUD Stoff fra uke - 2. September 22 Siri Moe Jensen Målgruppe: De som mangler forståelse for konseptene gjennomgått så langt. Trening får du ved å jobbe med oppgaver,
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.
DetaljerEKSAMEN. Algoritmer og datastrukturer. Eksamensoppgaven: Oppgavesettet består av 11 sider inklusiv vedlegg og denne forsiden.
EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: Eksamenstid: 20. mai 2008 kl 09.00 til kl 13.00 Hjelpemidler: 4 A4-sider (2 ark) med valgfritt innhold Kalkulator Faglærer: Mari-Ann
DetaljerLitt om pakker og mest om data inn og ut
Litt om pakker og mest om data inn og ut IN105-javainnogut-1 import java.io.*;. Data inn fra tastaturet lesemetode tastatur BufferedReader void lesemetode (String [ ] args) throws IOException {... /* sett
DetaljerOppgave 3 a. Antagelser i oppgaveteksten. INF1020 Algoritmer og datastrukturer. Oppgave 3. Eksempelgraf
Oppgave 3 3 a IN1020 Algoritmer og datastrukturer orelesning 15: Gjennomgang av eksamen vår 2001 oppgave 3 Arild Waaler Institutt for informatikk, Universitetet i Oslo 11. desember 2006 Oppgave 3 a. Antagelser
DetaljerLøsningsforslag Test 2
Løsningsforslag Test 2 Oppgave 1.1: Interface definerer et grensesnitt som kan implementeres av flere klasser. Dette gir en standardisert måte å kommunisere med objekter av en eller flere relaterte klasser.
DetaljerAlgoritmer og datastrukturer Kapittel 1 - Delkapittel 1.3
Delkapittel 1.3 Ordnede tabeller Side 1 av 70 Algoritmer og datastrukturer Kapittel 1 - Delkapittel 1.3 1.3 Ordnede tabeller 1.3.1 Permutasjoner En samling verdier kan settes opp i en rekkefølge. Hver
DetaljerINF1000 - Løsning på seminaropppgaver til uke 8
INF1000 - Løsning på seminaropppgaver til uke 8 Oppgave 1 a) for(string nokkel : studenter.keyset){ System.out.println(nokkel); Studenten sitt navn blir skrevet ut. b) for(student dennestudenten : studenter.values()){
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
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
DetaljerAlgoritmer og datastrukturer Kapittel 5 - Delkapittel 5.4
Delkapittel 5.4 Huffmantrær Side 1 av 50 Algoritmer og datastrukturer Kapittel 5 - Delkapittel 5.4 5.4 Huffmantrær 5.4.1 Datakomprimering D. Huffman Et Huffmantre er et fullt binærtre med spesielle egenskaper
DetaljerAlgoritmer 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
DetaljerHØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring AITeL
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring AITeL Delprøve Kandidatnr: Prøvedato: 2. mars 2005 Varighet: 3 timer (9:00 12:00) Fagnummer: LO196D Fagnavn: Videregående programmering med
DetaljerNorges Informasjonsteknologiske Høgskole
Oppgavesettet består av 6 (seks) sider. Norges Informasjonsteknologiske Høgskole PG4200 Algoritmer og datastrukturer Side 1 av 6 Tillatte hjelpemidler: Ingen Varighet: 3 timer Dato: 6. august 2014 Fagansvarlig:
DetaljerUniversitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk
Side 1 av 20 Universitetet i Bergen Det matematisk-naturvitenskapelige fakultet Institutt for informatikk Bokmål Eksamen i emnet INF100 Grunnkurs i programmering Torsdag 27. november 2014 Tid: 09:00 14:00
DetaljerAlgoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1
Delkapittel 3.1 Grensesnittet Liste Side 1 av 11 Algoritmer og datastrukturer Kapittel 3 - Delkapittel 3.1 3.1 En beholder 3.1.1 En beholder En pappeske er en beholder En beholder er noe vi kan legge ting
DetaljerKapittel 14, Hashing. Tema. Definere hashing Studere ulike hashfunksjoner Studere kollisjonsproblemet 17-1
Kapittel 14, Hashing Tema Definere hashing Studere ulike hashfunksjoner Studere kollisjonsproblemet 17-1 Hashing Hashing er en effektiv metode ved lagring og gjenfinning (søking) av informasjon Søkemetoder
DetaljerNITH PG4200 Algoritmer og datastrukturer Løsningsforslag Eksamen 4.juni 2013
NITH PG4200 Algoritmer og datastrukturer Løsningsforslag Eksamen 4.juni 20 ette løsningsforslaget er til tider mer detaljert enn det man vil forvente av en eksamensbesvarelse. et er altså ikke et eksempel
Detaljer23.09.2015. Introduksjon til objektorientert. programmering. Hva skjedde ~1967? Lokale (og globale) helter. Grunnkurs i objektorientert.
Grunnkurs i objektorientert programmering Introduksjon til objektorientert programmering INF1000 Høst 2015 Siri Moe Jensen INF1000 - Høst 2015 uke 5 1 Siri Moe Jensen INF1000 - Høst 2015 uke 5 2 Kristen
DetaljerSocket og ServerSocket
Side 1 av 5, socket og klient-tjener, V. Holmstedt, HiO 2006 Dette dokumentet er revidert den 29.8.2006, kl:12:30. Det er foretatt rettelser i begge versjoner av klassen A_Server. Socket og ServerSocket
DetaljerOppgave 1. Sekvenser (20%)
Det matematisk-naturvitenskapelige fakultet UNIVERSITETET I BERGEN Eksamen i emnet I 20 - Algoritmer, datastrukturer og programmering Mandag 2.Mai 200, kl. 09-5. Ingen hjelpemidler tillatt. Oppgavesettet
DetaljerAlgoritmer 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.
DetaljerAlgoritmer og datastrukturer Kapittel 4 - Delkapittel 4.3
Delkapittel 4.3 En toveiskø (deque) Side 1 av 5 Algoritmer og datastrukturer Kapittel 4 - Delkapittel 4.3 4.3 En toveiskø (deque) 4.3.1 Grensesnittet Toveiskø En stakk kan godt ses på som en kø der vi
DetaljerINF1010 våren 2017 Onsdag 25. januar. Litt om unntak i Java
INF1010 våren 2017 Onsdag 25. januar Litt om unntak i Java Stein Gjessing Nytt tema: Feilhåndtering (IO: Innlesing/Utskrift) n En metode som kan komme til å gjøre en IO-feil på fil må enten behandle denne
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
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 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
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
DetaljerINF1010 våren 2018 tirsdag 23. januar
INF1010 våren 2018 tirsdag 23. januar I/O og litt om bruk av unntak i Java Stein Gjessing Lesing fra terminal og fil navn: mininn Bruk Scanner: Scanner mininn = new Scanner(); Type: Scanner boolean
DetaljerOblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59
Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Formål Formålet med denne oppgaven er å gi trening i hele pensum og i å lage et større program. Løsningen du lager skal være
DetaljerForkurs INF1010. Dag 3. Andreas Færøvig Olsen Eivind Storm Aarnæs
Forkurs INF1010 Dag 3 Andreas Færøvig Olsen (andrefol@ifi.uio.no) Eivind Storm Aarnæs (eivinsaa@math.uio.no) Institutt for Informatikk, 14. januar 2015 Forkurs INF1010 - dag 3 Strenger Fil-I/O Unntakshåndtering
DetaljerOrdliste. 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.
DetaljerINF1010 våren 2019 Onsdag 30. januar. Mer om unntak i Java (med litt repetisjon av I/O først)
INF1010 våren 2019 Onsdag 30. januar Mer om unntak i Java (med litt repetisjon av I/O først) Stein Gjessing Lesing fra terminal og fil navn: mininn Bruk Scanner: Scanner mininn = new Scanner(); Type:
DetaljerLøsningsforslag, inf101, våren 2001
Løsningsforslag, inf101, våren 2001 Anders Brunland Oppgave 1 (15%) a) Navn på søker trenger ikke være med i sak-objektet siden den kan hentes fra det første dokumentet i saken. Variabelen FRIST er strengt
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: 11. juni 2004 Tid for eksamen: 9.00 12.00 Oppgavesettet er på 8
DetaljerEksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert programmering i Java I Løsningsforslag
Universitetet i Bergen Det matematisk naturvitenskapelige fakultet Institutt for informatikk Side 1 av 7 Eksamen i emnet INF100 Grunnkurs i programmering (Programmering I) og i emnet INF100-F Objektorientert
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
DetaljerLøsningsforslag eksamen INF1020 høsten 2005
Løsningsforslag eksamen INF1020 høsten 2005 Merk at dette er et løsningsforslag på selve oppgavene, og ikke slik vi forventer at en besvarelse skal se ut. Dette gjelder spesielt oppgave 3. Oppgave 1: Flervalgsoppgaver
DetaljerINF1010 våren 2016. Arv og subklasser - del 2
INF1010 våren 2016 Onsdag 10. februar Arv og subklasser - del 2 pluss litt om feil og unntak hvis tid Stein Gjessing Institutt for informatikk Dagens tema Virtuelle metoder som er det samme som Polymorfi
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
DetaljerINF1010 - Seminaroppgaver til uke 3
INF1010 - Seminaroppgaver til uke 3 Oppgave 1 I denne oppgaven skal vi lage et klassehiearki av drikker. Alle klassene i hiearkiet skal implementere følgende grensesnitt p u b l i c i n t e r f a c e Drikkbar
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.
Detaljer"Nelsons kaffebutikk"
"Nelsons kaffebutikk" et eksempel på systemutvikling med objekter Originale lysark av Jens Kaasbøll - mindre endringer av G. Skagestein og Knut Hegna IN105-javaNelson-1 Nelsons kaffebutikk Området som
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:
DetaljerTre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm
Mer om easyio Mer om forgreninger Løkker 7. september 2004 Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo Java 4 1 Tre måter å lese fra terminal Først:
DetaljerKorteste vei i en vektet graf uten negative kanter
Dagens plan: IN - Algoritmer og datastrukturer HØSTEN 7 Institutt for informatikk, Universitetet i Oslo IN, forelesning 7: Grafer II Korteste vei, en-til-alle, for: Vektet rettet graf uten negative kanter
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
DetaljerLø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:
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
DetaljerLøsningsforslag eksamen in105, våren 2000
Løsningsforslag eksamen in105, våren 2000 Løsningsforslaget er basert på et løsningsforslag av Anders Brunland og er siden modifisert av Ole Christian Lingjærde. Dato: 13.06.00. Oppgave 1A I klassen Hjorne:
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
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å
DetaljerArray&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister
Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java
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
DetaljerINF1010. grensesni-et Comparable<T> grensesni-et Iterable<T> rekursjon
INF1010 grensesni-et Comparable grensesni-et Iterable rekursjon Tenk på hvordan en for- løkke «går igjennom» alle objektene i en array Iterator miniterator Object next() Iterator miniterator = new
DetaljerLøsningsforslag EKSAMEN
1 Løsningsforslag EKSAMEN Emnekode: ITF20006 000 Dato: 18. mai 2012 Emne: Algoritmer og datastrukturer Eksamenstid: 09:00 til 13:00 Hjelpemidler: 8 A4-sider (4 ark) med egne notater Faglærer: Gunnar Misund
DetaljerINF1010, 21. februar Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo
INF1010, 21. februar 2013 Om å gå gjennom egne beholdere (iteratorer) Stein Gjessing Inst. for Informatikk Universitetet i Oslo Ikke noe nytt her From the Java language specification (version 6): 14.14.2
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
DetaljerLeksjon 7. Filer og unntak
6108 Programmering i Java Leksjon 7 Filer og unntak Del1: 7.1 7.2 Roy M. Istad 2015 Fil permanent lagring Ønsker at program skal kunne ta vare på data over tid, fra en kjøring til den neste (kontra hurtigminnet
DetaljerForkurs INF1010. Dag 3. Andreas Færøvig Olsen Gard Inge Rosvold Institutt for Informatikk, 15.
Forkurs INF1010 Dag 3 Andreas Færøvig Olsen (andrefol@ifi.uio.no) Gard Inge Rosvold (gardir@ifi.uio.no) Institutt for Informatikk, 15. januar 2016 Forkurs INF1010 - dag 3 Strenger 2 Forkurs INF1010 - dag
DetaljerINF 1010, vår 2005 Løsningsforslag uke 11
INF 1010, vår 2005 uke 11 Anders Brunland 11. april 2005 Oppgave 1 Oppgave 1 i kapittel 19, Rett på Java Er følgende metoder lovlige? Hovorfor/hvorfor ikke? a) void koknverter ( int mnd ) { konverterdato
DetaljerForelesningsquiz. Forelesning inf1000 - Java 5. Sett dere to (eller tre) sammen og besvar de fire spørsmålene på utdelt ark. Tid: 15 min.
Forelesning inf1000 - Java 5 Forelesningsquiz Tema: En liten quiz (se utdelt ark) Filbehandling Tekster Ole Christian Lingjærde, 19. september 2012 Sett dere to (eller tre) sammen og besvar de fire spørsmålene
DetaljerMED TIDESTIMATER Løsningsforslag
Oppgavesettet består av 12 (mange) sider. Norges Informasjonsteknologiske Høgskole PG4200 Algoritmer og datastrukturer Side 1 av 12 Tillatte hjelpemidler: Ingen Varighet: 3 timer Dato: 6. august 2014 Fagansvarlig:
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
DetaljerHittil har programmene kommunisert med omverden via tastatur og skjerm Ønskelig at data kan leve fra en kjøring til neste
Datafiler og serialisering Tekstfiler Scanner klassen Binær overføring av data Direkte tilgang til filinnholdet Serialisering LC191D Videregående programmering Semesterplan: http://aitel.hist.no/fag/vprg/index_lc191d.php
DetaljerOppgave 1. Løsningsforslag til eksamensoppgave. ITF20006 Algoritmer og datastrukturer Postorden traversering:
Løsningsforslag til eksamensoppgave ITF20006 Algoritmer og datastrukturer 22.05.2007 Oppgave 1 A. Postorden traversering: 1-16-11-2-35-61-81-47-30 B. velformet = sann ; Stack s = new Stack(); while(
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.
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
DetaljerAlgoritmer og datastrukturer Løsningsforslag
Algoritmer og datastrukturer Løsningsforslag Eksamen 23. februar 2011 Oppgave 1A Et Huffmantre blir alltid et fullt tre, dvs. alle indre noder har to barn. Hvis vi tegner et tre ved hjelp av de bitkodene
DetaljerOppgave 1 a. INF1020 Algoritmer og datastrukturer. Oppgave 1 b
Oppgave 1 1 a INF1020 Algoritmer og datastrukturer Forelesning 14: Gjennomgang av eksamen vår 2001 oppgave 1,2,4 Arild Waaler Institutt for informatikk, Universitetet i Oslo Oppgave 1 a Programmer en ikke-rekursiv
DetaljerUNIVERSITETET I OSLO
Side 1 UNIVERSITETET I OSLO Kandidatnr Det matematisk-naturvitenskapelige fakultet Eksamen i: PRØVEEKSAMEN INF1000 Eksamensdag: Prøveeksamen 22.11.2011 Tid for eksamen: 12:15-16:15 Oppgavesettet er på
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : IN 105 Eksamensdag : Mandag 7. juni 1999 Tid for eksamen : 09.00-15.00 Oppgavesettet er på : 6 sider (inkludert vedlegg) Vedlegg
DetaljerAnvendelser av grafer
Grafer Anvendelser av grafer Passer for modeller/datastrukturer med usystematiske forbindelser Ikke-lineære og ikke-hierarkiske koblinger mellom dataobjektene Modellering av nettverk: Veisystemer/rutekart
DetaljerNORGES INFORMASJONSTEKNOLOGISKE HØGSKOLE PG4200 Algoritmer og datastrukturer
Oppgavesettet består av 7 (syv) sider. NORGES INFORMASJONSTEKNOLOGISKE HØGSKOLE PG4200 Algoritmer og datastrukturer Tillatte hjelpemidler: Ingen Side av 7 Varighet: 3 timer Dato:.august 203 Fagansvarlig:
DetaljerArray&ArrayList Lagring Liste Klasseparametre Arrayliste Testing Lenkelister Videre
Dagens tema Lister og generiske klasser, del I Array-er og ArrayList (Big Java 6.1 & 6.8) Ulike lagringsformer (Collection) i Java (Big Java 15.1) Klasser med typeparametre («generiske klasser») (Big Java
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
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
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
DetaljerAlgoritmer og datastrukturer Kapittel 5 - Delkapittel 5.1
Delkapittel 5.1 Binære trær side 1 av 71 Algoritmer og datastrukturer Kapittel 5 - Delkapittel 5.1 5.1 Binære trær 5.1.1 Binære trærs egenskaper Binære trær (eng: binary tree), og trær generelt, er en
DetaljerUNIVERSITETET I BERGEN Det matematisk-naturvitenskapelige fakultet
UNIVERSITETET I BERGEN Det matematisk-naturvitenskapelige fakultet Eksamen i emnet INF101/INF101-F - Programmering 2 Fredag 10. juni 2011, kl. 09-14 Bokmål Tillatte hjelpemidler: alle skrevne og trykte.
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Kandidatnr Eksamen i INF1000 Grunnkurs i objektorientert programmering Eksamensdag: Prøveeksamen tirsdag 23. november 2010 Tid for eksamen:
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:
DetaljerKapittel 9: Sortering og søking Kort versjon
Kapittel 9: Sortering og søking Kort versjon Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen
DetaljerIN2010: Algoritmer og Datastrukturer Series 2
Universitetet i Oslo Institutt for Informatikk S.M. Storleer, S. Kittilsen IN2010: Algoritmer og Datastrukturer Series 2 Tema: Grafteori 1 Publisert: 02. 09. 2019 Utvalgte løsningsforslag Oppgave 1 (Fra
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
DetaljerINF2100. Oppgaver 23. og 24. september 2010
INF2100 Oppgaver 23. og 24. september 2010 Oppgave 1 Vi skal se på et meget enkelt språk E som består av uttrykk med + og ; grammatikken ser du i figur 1 på neste side. Tallkonstanter består av bare ett
Detaljer