Lecture 01 Introduction to Data Structures and Algorithms
Lecture 01 Introduction to Data Structures and Algorithms
1 / 18
Introduction
Course overview
2 / 18
Introduction
Course overview
3 / 18
Introduction
Course overview
4 / 18
Introduction
Course overview
5 / 18
Introduction
6 / 18
Introduction
7 / 18
Introduction
8 / 18
Introduction
9 / 18
Introduction
10 / 18
Introduction
“For me, great algorithms are the poetry of computation. Just like verse,
they can be terse, allusive, dense, and even mysterious. But once
unlocked, they cast a brilliant new light on some aspect of computing."
— Francis Sullivan
11 / 18
Introduction
“I will, in fact, claim that the difference between a bad programmer and
a good one is whether he considers his code or his data structures
more important. Bad programmers worry about the code. Good
programmers worry about data structures and their relationships." —
Linus Torvalds (creator of Linux)
12 / 18
Introduction
13 / 18
Introduction
14 / 18
Introduction
Course contents
15 / 18
Introduction
Resources
16 / 18
Introduction
Prerequisites
Prerequisites
Programming: loops, arrays, functions, objects, recursion.
C++: we use as expository language.
Mathematics: high-school algebra.
Useful reading material.
Quick: Introduction to Algorithms, 3/e (2009) by Cormen et al.
Data Structures and Algorithms in C++, 3/e (2005) by Adam
Drozdek.
The Algorithm Design Manual, 2/e (2008) by Steven S Skiena.
Programming environment: Visual Studio, gcc/g++ with Cygwin.
17 / 18
Introduction
Question
18 / 18