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
Enter the password to open this PDF file:
File name:
-
File size:
-
Title:
-
Author:
-
Subject:
-
Keywords:
-
Creation Date:
-
Modification Date:
-
Creator:
-
PDF Producer:
-
PDF Version:
-
Page Count:
-
Preparing document for printing…
0%
Comments 0
Log in to post a comment