notes - CS130 A: Data S tructure and Algorithm s s Focus of...

Info iconThis preview shows pages 1–9. Sign up to view the full content.

View Full Document Right Arrow Icon
1 CS 130 A: Data Structures and Algorithms CS 130 A: Data Structures and Algorithms Focus of the course: Data structures and related algorithms Correctness and ( time and space ) complexity Prerequisites CS 20: stacks, queues, lists, binary search trees, … CS 40: functions, recurrence equations, induction, … CS 60: C , C++ , and UNIX
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
2 Course Organization Course Organization Grading: See course web page Policy: No late homeworks. Cheating and plagiaris: F grade and disciplinary actions Online info: Homepage: www.cs.ucsb.edu/~cs130a Email: cs130a@cs.ucsb.edu Teaching assistants: See course web page
Background image of page 2
3 Introduction Introduction A famous quote: Program = Algorithm + Data Structure. All of you have programmed; thus have already been exposed to algorithms and data structure. Perhaps you didn't see them as separate entities; Perhaps you saw data structures as simple programming constructs (provided by STL--standard template library). However, data structures are quite distinct from algorithms, and very important in their own right.
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
4 Objectives Objectives The main focus of this course is to introduce you to a systematic study of algorithms and data structure. The two guiding principles of the course are: abstraction and formal analysis. Abstraction: We focus on topics that are broadly applicable to a variety of problems. Analysis: We want a formal way to compare two objects (data structures or algorithms). In particular, we will worry about "always correct"-ness, and worst-case bounds on time and memory (space).
Background image of page 4
5 Textbook Textbook Textbook for the course is: Data Structures and Algorithm Analysis in C++ by Mark Allen Weiss But I will use material from other books and research papers, so the ultimate source should be my lectures.
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
6 Course Outline Course Outline C++ Review (Ch. 1) Algorithm Analysis (Ch. 2) Sets with insert/delete/member: Hashing (Ch. 5) Sets in general: Balanced search trees (Ch. 4 and 12.2) Sets with priority: Heaps, priority queues (Ch. 6) Graphs: Shortest-path algorithms (Ch. 9.1 – 9.3.2) Sets with disjoint union: Union/find trees (Ch. 8.1–8.5) Graphs: Minimum spanning trees (Ch. 9.5) Sorting (Ch. 7)
Background image of page 6
7 130a: Algorithm Analysis 130a: Algorithm Analysis Foundations of Algorithm Analysis and Data Structures. Analysis: How to predict an algorithm’s performance How well an algorithm scales up How to compare different algorithms for a problem Data Structures How to efficiently store, access, manage data Data structures effect algorithm’s performance
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
8 Example Algorithms Example Algorithms Two algorithms for computing the Factorial Which one is better? int factorial (int n) {
Background image of page 8
Image of page 9
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 03/21/2011 for the course CMPSC 130a taught by Professor Suri during the Winter '11 term at UCSB.

Page1 / 56

notes - CS130 A: Data S tructure and Algorithm s s Focus of...

This preview shows document pages 1 - 9. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online