Længste plateau En klassisk problemstilling (Gries, 1981) - og her i Java!!! Denne opgave drejer sig om at bestemme længden af det længste plateau i en.

Slides:



Advertisements
Lignende præsentationer
Array og ArrayList Et slideshow. Som er sødt.. Hvordan virker ArrayList?  ArrayList NAVN = new ArrayList ();  NAVN.add(”Værdi”);  NAVN.add(index, ”værdi”)
Advertisements

Første generation (maskiner/operativsystemer) 45-55: radiorør Kun maskinsprog programmering = skrivning af nullerog ettaller Intet operativsystem programmør.
Grundlæggende programmering Efterår 2001
FEN IntroJava AAU1 Java grundelementer Variable og datatyper Sætninger og udtryk Metoder.
FEN KbP/seminar2: LoopsReview1 Kontraktbaseret programmering Seminar 2 Udvikling af løkker: Checklisten for løkker “Hånd-i-hånd” udvikling.
Fundamentale datastrukturer
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
Begreber og Redskaber 7. Plan for idag Rekursive underprogrammer Rekursive datastrukturer Rekursion vs iteration Rekursivt: Flette sortering.
03 – Udtryk og metoder. 2 NOEA2009Java-kursus – Udtryk og metoder Udtryk i Java Java har standard udtrykene… Værditildeling Subrutiner og funktionskald.
Identitet vs lighed. Spørgsmål Hvad udskriver run metoden? 1.”Ens!” 2.”Forskellige!” 3.Ved ikke public class Driver{ public static void run(){ String.
Begreber og Redskaber 4. Plan for idag Om metoder, parametre, returværdier Et par ord om objekt-orientering Håndkøring af programmer.
Begreber og Redskaber 3. Plan for idag Om metoder, parametre, returværdier Overblik over klasser,objekter,nedarvning Et par ord om objekt-orientering.
DAIMIIntroducerende objektorienteret programmering3B.1 Definition af klasser Klasseskelet, metoder, et eksempel: dato.
Gode råd om ansøgning til MUDP 2017
Forældre-information
Hvilke sager ligger der på vejlederkonsulentens bord for tiden?
C4 C4 i Hillerød Erhverv Handel Turisme, kultur, sport Uddannelse
Interaktion og usability
Almen statskundskab Politisk meningsdannelse v/ Peter Nedergaard
SOPU Sund – motion Kondition og kredsløb.
Analyse af miljøforhold
P4: Vejledning i læreruddannelsen
Modulet International Projektudvikling og –Ledelse
Hvor går de unge hen, når de går ud?
Aarhus: Program - dag 1 - d. 17. januar
Bevis for længdeformlen i rummet
Lyd data (audio data) (Side 4-6 i artiklen: 2. Repræsentation og manipulation af Data)
August, Holm, Olsen, Tobias og Viktor
Tilskud & Regnskab Kursus for nye efterskoleledere
Lokale lønforhandlinger
Teknisk service på hoteller, konference - og feriecentre
Hvad er Lindebjergskolens CO2 fodaftryk
Introduktion.
21. november 2018 Ulla Nørskov Philip & Martin Stabell
Informationsmøde om Praktikplads-AUB
Skrivedag 2: At skrive analyserende
Støtte til biomasse-elproduktion efter 1
Modellering af skovtårnet 2019
23. januar 2018 Kasper Bjering Søby Jensen Roskilde Katedralskole
REDUCERET FOREKOMST AF SKULDERSÅR
Biologibogen s Celler, celletyper og forskelle
Grundlæggende Algoritmer og Datastrukturer
DEFF Co-creation Studerende som medproducenter i udviklingen af bibliotekernes læringsprodukter Pernille Holm Lindhardt og Anne C. Andersen AU Library.
Danmarks Naturfredningsforening
Kort-sitet Med alle relevante temaer fra Kommuneplanen
Velkommen Dagens program.
Sejlklubben Sundet og Svanemøllehavnen
GL IFA seminar
Konflikthåndtering Ved Lilian Bihl
Løn og bruttolønafstemning – d. 24. februar 2015
Nyt dagtilbud på Værebrovej 49 Planlægning og proces
Børnehus ved Jernalderlandsbyen Møde i Det Grønne Råd 14. maj 2019
3. Sundhedsmappe Patienten har log-in og password
Hvem bestemmer dine valg? Tobaksforebyggelse i Sønderborg Kommune
Kollektiv vejledning 8. klasse, anden gang
Model og Tilgang strategi på det specialiserede voksenområde
Der er en forsoner Jesus Krist Guds søn. Han er hellig og retfærdig
Nyborg heldagsskole.
Refleksionens betydning for den pædagogiske praksis i SFO og skole
VELKOMMEN TIL BORGERMØDE
Ressort-/organisations-ændring – d. 24. februar 2015
Værktøj: Målhierarkiet eller
Bruttoliste for Interessentanalyse GD1
Hvad kan vi lære af USA og Tyskland?
Oversvømmelses-beskyttelse
Energi, Danisco, Grindsted
It og kristendomsfaget
Forelæsning Uge 2 – Torsdag
Op, al den ting, som Gud har gjort 1, S1
Den Danske Maritime Fond
Præsentationens transcript:

Længste plateau En klassisk problemstilling (Gries, 1981) - og her i Java!!! Denne opgave drejer sig om at bestemme længden af det længste plateau i en sekvens. Et plateau i en sekvens er en delsekvens, hvor elementerne er ens. Det længste plateau er den længste delsekvens, hvor alle elementerne er ens. I denne opgave er sekvensen givet ved et array. Elementerne er heltal, og vi betragter kun et sorteret array. Ex.: I arrayet int[] a = {1,2,2,3,4,5,5,5,6,7,8,8,8,8,9,9}; er det længste plateau {8, 8, 8, 8}, og har længden 4. Nedenfor er angivet et lille program, som afprøver metoden longestPlateau(-).

public static void main(String[] args){ int[] a = {1,2,2,3,4,5,5,5,6,7,8,8,8,8,9,9}; int n= a.length; System.out.println("Det længste plateau har længden: ” + longestPlateau(a,n)); } public static int longestPlateau( int[] a, int n) { int p= 0; int i= 0; //etablering af invariant while(i!=n) { //Bevarelse af invarianten??? i++;//skridt mod terminering }//while return p; } Postbetingelse: p == længden af længste plateau i a[0..n-1] Invariant: (erstat konstant med var.) 0<=i<=n && p == lgd. af hidtil længste plateau i a[0..i-1]. Vagt i!=n

public static int longestPlateau(int[] a, int n){ //pre n>0 && a er sorteret (<=) //post a[0..n-1] har et plateau af lgd. p // && a[0..n-1] har ikke et plateau af lgd. p+1 int p= 0; int i= 0; while(i!=n) {//invariant: 0<=i<=n && p == lgd. af længste // plateau i a[0..i-1] if(a[i]==a[i-p]) p++; i++; }//while return p; } a: 0n-1ii-p p

Øvelse Binærsøgning - iterativ løsning: Skriv koden på den hårde måde. Kan du få det til at virke? Prøv at formulere specifikationer (anvend evt. array-billeder, så specifikationen kun bliver "halvformel"). Prøv at formulerer en invariant, og skriv så algoritmen vha. checklisten for løkker. Var det ikke meget nemmere?