BIM304: Algorithm Design

libyantawdryΤεχνίτη Νοημοσύνη και Ρομποτική

23 Οκτ 2013 (πριν από 4 χρόνια και 19 μέρες)

94 εμφανίσεις

1

BIM304: Algorithm Design


Time:

Friday 9
-
12am


Location:

B1


Instructor:

Muzaffer
DOĞAN


Grading


2 Midterms


20% and 30% respectively


Final


30%


Projects


20%

2

What’s this course about?


An
algorithm
(program) is a well
-
defined
computational procedure that


takes some values (
data
) as “input”


produces some result as “output”



Many different algorithms may correctly solve a
given task


But choice of a particular algorithm may have
enormous impact on time and memory used


Time versus space tradeoffs are very common

ALGORITHM

Input (DATA)

Output (Results)

3

Types of Algorithms


Iterative Algorithms


Recursive (Divide & Conquer) Algorithms


Randomized Algorithms


Greedy Algorithms


Dynamic Programming


Approximation Algorithms


Genetic Algorithms


4

Course Goals


Understand the mathematical fundamentals
needed to analyze algorithms



Learn how to compare the efficiency of
different algorithms in terms of running time
and memory usage



Study a number of standard algorithms for
data manipulation and learn to use them for
solving new problems

5

Course Outline


Asymptotic Notations


Analysis of Iterative and Recursive Algorithms


Sorting and Selection


Basic Sorting Algorithms


Recursive Sorting Algorithms


Selection and Medians


Heaps & Heap Sort


Linear Time Sorting


Counting Sort & Radix Sort


Advanced Search Trees: B Trees


6

Course Outline (cont)


Disjoint Set (Union/Find) Data Structure


Graphs


Definition, Representation


Graph Traversal Algorithms


BFS, DFS


Graph Algorithms


Topological Sort


Minimum Spanning Trees


Shortest Paths



Introduct
ion

2
Spatial Data Structures


KD
-
rees