Effektivitetsanalyse for algoritmer. Definisjon, bruk og implementeringer av abstrakte datatyper som: Stabler, køer, lister, assosiative tabeller (Python dictionary), trestrukturer, grafer, prioritetskøer, hauger. Hash-teknikker. Trestrukturer. Bruk og implementering av datastrukturer som kan representere grafer. Algoritmer for sortering og søking. Noen grunnleggende algoritmer for grafer, inkludert veifinning. Rekursjon som programmeringsteknikk.
Læringsutbytte
Etter å ha tatt dette emnet skal studenten:
Kunnskap
Vite hvordan grunnleggende algoritmer for sortering, søking, og veifinning i grafer virker
Vite hvordan grunnleggende datastrukturer for lister, stabler, køer, prioritetskøer, mengder, assosiative tabeller og grafer virker
Ferdigheter
Være i stand til å beregne effektiviteten til algoritmer
Være i stand til å forstå og lage effektive rekursive algoritmer
Være i stand til å implementere effektive algoritmer for sortering og søking
Generell kompetanse
Vite hvordan datastrukturer og algoritmer for lister, køer, stabler (stack), hauger (heap), binære trær, og grafer kan implementeres.
Kunne bruke standard algoritmer og datastrukturer til å lage effektive programmer
Forkunnskapskrav
Emnet forutsetter at studenten kan programmere i henhold til pensum i DAT110 eller DAT120 Grunnleggende programmering.
Dette emnet har digital eksamen. Det vil være mulig å bruke Scantron for å skanne inn håndtegninger og koble dem til den digitale besvarelsen.
Vilkår for å gå opp til eksamen/vurdering
Innleveringsoppgaver
Det er 9 øvinger i faget. For å få godkjent øvingsopplegget og dermed få lov til å ta eksamen i faget må minimum 7 av 9 øvinger være godkjente innen angitt frist.
4 timer forelesning pluss 2 timer gruppearbeid i uka. Alle studenter får tilbud om å delta på øvingstimer 4 timer i uken. På datalaben får en hjelp til å fullføre de obligatoriske oppgavene. Dessuten skal studentene presentere løsningene sine på laben.
Gjennomføring av obligatoriske øvinger skal gjøres til de tider og i de grupper som er oppsatt og publisert på Canvas. Fravær på grunn av sykdom eller av andre årsaker skal snarest mulig kommuniseres til laboratorie- eller fagansvarlig. Det kan ikke påregnes å få godkjent øvinger utenom oppsatt tid hvis dette ikke er kommunisert og ny avtale gjort.
Konsekvensen av at du ikke har fått godkjent øvingsoppgavene er at du ikke får gå opp til eksamen i faget.
Overlapping
Emne
Reduksjon (SP)
Algoritmer og datastrukturer (DAT200_1)
,
Datastrukturer og algoritmer (TE0458_1)
6
Algoritmer og datastrukturer (DAT200_1)
,
Datastrukturer og algoritmer (TE0458_A)
6
Datastrukturer og algoritmer (BIE270_1)
,
Algoritmer og datastrukturer (DAT200_1)
Det skal være en tidligdialog mellom emneansvarlig, studenttillitsvalgt og studentene. Formålet er tilbakemelding fra studentene for endringer og justering i emnet inneværende semester.I tillegg skal det gjennomføres en digital emneevaluering minimum hvert tredje år. Den har som formål å innhente studentenes erfaringer med emnet.
Litteratur
E-book Problem solving with algorithms and data structures using Python Miller, B.N., Ranum, D.L., Wilsonville, Or, Franklin, Beedle & Associates, XI, 357, 2006, isbn:1590280539, Jeg vil basere meg på on-line versjonen av denne boka. I denne versjonen kan studentene prøve ut en del av algoritmene selv. https://runestone.academy/runestone/books/published/pythonds/index.htmlView online Other Kompendium Forelesningsnotater, terminologilister og kompendier som legges ut på Canvas i løpet av faget er del av pensum. Disse dekker pensum som ikke er dekket av primær pensumbok, eller ikke er godt nok dekket av primær lærebok. Other Øvingsoppgaver Øvingene er del av pensum. Løsningsforslag til øvingene er del av pensum. Du må levere 7 av 9 øvinger for å gå opp til eksamen. Oppgaver og løsningsforslag legges ut på Canvas i løpet av faget. Book Introduction to algorithms Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C., Stein, Clifford,; Rivest, Ronald.; Leiserson, Charles Eric.; Cormen, Thomas H., Cambridge, Massachusetts. :, MIT Press, 1 online resource (xix, 1292 pages) :, 2009, isbn:1-62870-913-8; 0-262-53305-7; 0-262-25810-2; 9780262270830, This textbook is thorough and is used for the master course DAT600 algorithm theory. It is also used in other universities for bachelor courses on algorithms. However, this book is very theoretical and mathematical. All algorithms are illustrated with pseudocode alone and not in a real programming language. https://bibsys-ur.userservices.exlibrisgroup.com/view/uresolver/47BIBSYS_UBIS/openurl?ctx_enc=info:ofi/enc:UTF-8&ctx_id=10_1&ctx_tim=2019-11-21T16%3A03%3A53IST&ctx_ver=Z39.88-2004&url_ctx_fmt=info:ofi/fmt:kev:mtx:ctx&url_ver=Z39.88-2004&rfr_id=info:sid/primo.exlibrisgroup.com-vlebooks&req_id=&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=book&rft.atitle=&rft.jtitle=&rft.btitle=Introduction%20to%20algorithms&rft.aulast=Cormen&rft.auinit=&rft.auinit1=&rft.auinitm=&rft.ausuffix=&rft.au=&rft.aucorp=&rft.date=2009&rft.volume=&rft.issue=&rft.part=&rft.quarter=&rft.ssn=&rft.spage=&rft.epage=&rft.pages=xix,%201292&rft.artnum=&rft.issn=&rft.eissn=97802622&rft.isbn=9780262533058&rft.sici=&rft.coden=&rft_id=info:doi/&rft.object_id=&rft.eisbn=9780262258104&rft.edition=3rd%20ed..&rft.pub=MIT%20Press&rft.place=Cambridge,%20Mass.%20;%20London&rft.series=&rft.stitle=&rft.bici=&rft_id=info:bibcode/&rft_id=info:hdl/&rft_id=info:lccn/QA76.6&rft_id=info:oclcnum/&rft_id=info:pmid/&rft_id=info:eric/((addata/eric}}&rft_dat=%3Cvlebooks%3EAH33814674%3C/vlebooks%3E%3Curl%3E%3C/url%3E,language=eng,view=UBIS&svc_dat=viewit&user_ip=10.16.56.140&req.skin=primo&rft_pqid=EBC3339142&rft_galeid=&rft_cupid=&rft_eruid=&rft_nurid=&rft_ingid=View online
Emnebeskrivelsen er hentet fra Felles studentsystem Versjon 1