Download presentation
Presentation is loading. Please wait.
Published byOddbjørg Turid Kristoffersen Modified over 6 years ago
1
Algorithm Engineering (2017, Q3, 5 ECTS)
Gerth Stølting Brodal
2
Motivation for the course…
Narrow the gap between theoretical algorithm courses and implementing algorithms Systematic experimental evaluation Algorithm vs hardware understanding … new theory
3
From Idea to Program Execution
(Java-)code Pseudocode Divide and Conquer ? … for each x in m up to middle add x to left for each x in m after middle add x to right … if ( t1[t1index] <= t2[t2index] ) a[index] = t1[t1index++]; else a[index] = t2[t2index++]; Idea Compiler (Java) Bytecode + Virtual machine Assembler Machine code Microcode Virtual memory/ TLB L1, L2,… cache Branch Prediction Pipelining ... MergeSort pseudo kode + Java uddrag Image: Athlon Igor Ostrovsky Blog: Gallery of Processor Cache Effects Program execution
4
Theory–Experiment Cycle
5
Pred(x) = return max { yS | y x }
Project 1 Store a set S of N integers to support the query: Pred(x) = return max { yS | y x } Throughout testing of the performance of the Pred operation Groups 2-3 persons Next Tuesday (optional) : A slide with your results so far
6
Statement : ”I implemented my fancy algorithm and ran it on this big input I found on the internet. It took seconds to run the program” + Apparently succeded to implement the algorithm Is the output correct? Is fast or slow? What is the theoretical expected running time?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.