Data Structures and Algorithms

advertisement
CS 233
Data Structures and Algorithms
황승원
Fall 2010
CSE, POSTECH
1
What Is This Course About?
x=2
f=x+2
y=4
2
What Is This Course About?
data:
list of phone #s
data
computer program
data
3
procedure:
find a match
data:
279-2358
What Is This Course About?

The computer program development process requires
us to
–
–
represent data in an effective way
develop an efficient procedure (algorithm), which can be
implemented as a computer program
e.g., telephone directory



Effective data representation ⇒ data structures
Development of an efficient step-by-step procedure ⇒
algorithm design methods
The study of data structures and algorithms is
fundamental to computer science
e.g., interviews
4
Course Homepage




5
Instructor: 황승원 (TA: 이동주)
http://www.postech.ac.kr/~swhwang/cs233.html
Announcements, assignments, feedbacks, etc.
Related web site (linked at the class homepage)
– http://www.mhhe.com/engcs/compsci/sahnijava/
Evaluation
1.
2.
3.
4.
5.
6
Homeworks – 15% (~ 5)
Assignments - 15% (~ 3)
Midterm Exam - 30%
Final Exam - 35%
Class Participation - 5%
Tentative Class Schedule: 1st half






7
Week 1 : Overview and Program
Performance (Chapters 1-2)
Week 2-3 : Linear Lists (Chapters 5-7)
Week 4-5 : Array, Matrices, Stacks, Queues,
Hashing (Chapters 8-10)
Week 6 : Trees (Chapter 12)
Week 7 : Priority Queue (Chapter 12)
Week 8 : Review and Midterm Exam
Tentative Class Schedule: 2nd half








8
Week 9 : Tournament Trees (Chapter 14)
Week 10 : Binary Search Trees (Chapter 15-16)
Week 11 : Graphs (Chapter 17)
Week 12 : Greedy Algorithms (Chapter 18)
Week 13 : Divide and Conquer Algorithms
(Chapter 19)
Week 14 : Dynamic Programming Algorithms
(Chapter 20)
Week 15 : Branch and Bound Algorithms (Chapter
21-22)
Week 16 : Review and Final exam
How to get an “A”?



Take responsibility in learning
– Make sure to catch up (w/ readings and exercises)
Build good reading/thinking habits
– Reading to get the “big picture”
e.g., compare/contrast different structures
– Thinking to smart up and analyze your codes
(beating JAVA for 21 days/dummies)
Learn to participate
0
classroom
9
10
shy-o-meter
bulletin board
office hour
anonymous
Ice Breaker



10
Name
Major/Year
Something memorable about yourself (or your summer)
Coming Up Next


11
READING: Chapter 1
NEXT: Programming Performances (Chapter 2-3)
Download