Algoritmer og datastrukturer (I2ALD1)
Forår 2008
Informations- og Kommunikations- Teknologi
Ingeniørhøjskolen i Aarhus
Forside ·
Materiale ·
Om kurset ·
Uge for uge ·
Kontakt ·

Materiale
Nedenfor finder du en oversigt over anvendt materiale (bøger, slides, opgaver og løsningsforslag, udleveret materiale etc.) til brug i faget.

Lærebog

Michael Main and Walter Savitch
Data Structures & other Objects using C++
, Third edition
Addison Wesley, 2005

En udmærket lærebog der starter fra bunden.

Noter

    Noter til ALD-1
    Dynamisk memory-allokering

Pensum

Pensum i faget er:
    - Alle opgivne kapitler i Main & Savitch
    - Alle laboratorieopgaver
    - Alt listet under "Udleveret materiale" længere nede på denne side

Bemærk at materiale listet under "Andet" længere ned på denne side ikke er pensum - selv om noget af det er udmærket repetitionsmateriale.

 

Teorilektioner

Uge

Hvad

Hvor

35

Algoritmer til Max Sub Sequence problemet
 

obviuosMSS.cpp
cleverMSS.cpp
magicalMSS.cpp

36

Note om floats og doubles
Slides

IEEE 754 Single-Precision Numbers
Slides-Numeriske metoder

37

Note om dynamisk memory allokering
Slides

Dynamisk memory allokaring
Slides-Linked lists

38

 

 

39

 

 

40

 

 

41

 

 

43

 

 

44

 

 

45

 

 

46

 

 

47

 

 

48

 

 

49

 

 

 

Opgaver og løsningsforslag

Opgave Udleveret materiale Løsningsforslag
Lab Exercise 1 Lab exercise 1 - Time Complexity
 
Vector.h
Vector.cpp
test_Vector.cpp
Lab Exercise 2 Lab exercise 2.1 - Numerical Methods
numerical integration files.zip

Lab exercise 2.2 - Calculation errors
 
meanStdDeviation.cpp
Numerical integration - solution.zip

Bubble.cpp
Lab Exercise 3 Lab exercise 3 - Linked Lists
 
Se Lab 4
Lab Exercise 4 Lab exercise 4 - Template Linked Lists
Handout, Template Linked List.zip
 
TmplNode.h
Lab Exercise 5 Lab exercise 5.1 - Stacks
Lab exercise 5.2 - PriorityQueue
 
Stacks.zip
PriorityQueue.zip
Lab Exercise 6 Lab exercise 6.1 - hashing (paper exercise)

Lab exercise 6.2 - LL Hashing
Handout - LLHashMap.zip

LLHashMap.beat_this (TFJ's udgave - rename til .exe)
 

 
Lab Exercise 7 Lab exercise 7 – Recursion
 
main.cpp
Lab Exercise 8 Lab exercise 8 - Sorting

Handout.cpp
 

sorting.cpp
Lab Exercise 9 Lab exercise 9.1 - Binary Trees
Lab exercise 9.2 - AVL Trees

Top-down tree print.renameToExe
 

Lab 9 Solution - Binary Trees.zip

Lab 9 Solution - Top-down tree print.zip 

Lab Exercise 10 Lab exercise 10 - Graphs 2 (Shortest path + Dijkstra)
 
 
Lab Exercise 11 Lab exercise 11 - GraphNode
GraphAlgorithms.h
GraphNode.h
GraphToolkit.h
 
 
     

 

 

   

 

Andet

Stopur, høj opløsning Stopwatch.h
Mere om binære træer http://www.site.uottawa.ca/~holte/T26/lecture9.html
Gode noter om pointers, memory, linked lists og binære træer (C-specifik, men kan sagtens bruges af C++ programmører) http://cslibrary.stanford.edu/

PointerFunCppBig.avi

Wikipedia om Linked Lists http://en.wikipedia.org/wiki/Linked_list
Grafisk fremstilling af Sorteringsalgoritmer  
Grafisk fremstilling af Søgealgoritmer  
Note om Fibonacci-tal og antallet af operationer for at finde dem Fibonaccital og antallet af operationer for at bestemme det.pdf
Generel C++-ressource www.cplusplus.com



Opdateret 05. september 2008
Nils V. Jensen (nvj@iha.dk)