Data Structures, Spring 2004 © L. Joskowicz 1 DAST – Final Lecture Summary and overview What we have learned. Why it is important. What next.

Slides:



Advertisements
Similar presentations
©Brooks/Cole, 2003 Chapter 12 Abstract Data Type.
Advertisements

1 Greedy 2 Jose Rolim University of Geneva. Algorithmique Greedy 2Jose Rolim2 Examples Greedy  Minimum Spanning Trees  Shortest Paths Dijkstra.
Review. What to know You are responsible for all material covered in lecture, the readings, or the programming assignments There will also be some questions.
Jan Welcome to the Course of Advanced Algorithm Design (ACS-7101/3)
CSCE 210 Data Structures and Algorithms
Midterm 2 Overview Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
COMP 122 – Design and Analysis of Algorithms Spring 2004 MW 11:00-12:15, SN 014 Instructor:Jack Snoeyink TA: Nathan Fisher SN.
DAST, Spring © L. Joskowicz 1 Data Structures – LECTURE 1 Introduction Motivation: algorithms and abstract data types Easy problems, hard problems.
TDDB57 DALG-C, DALG Exam Requirements Jan Maluszynski - HT 2006DALG-C.1 TDDB57 – DALG-C Examination Requirements.
Course Review COMP171 Spring Hashing / Slide 2 Elementary Data Structures * Linked lists n Types: singular, doubly, circular n Operations: insert,
Dynamic Sets and Data Structures Over the course of an algorithm’s execution, an algorithm may maintain a dynamic set of objects The algorithm will perform.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2005 Lecture 1 Introduction/Overview Text: Chapters 1, 2 Wed. 9/7/05.
Recurrences / HW: 2.4 Quiz: 2.1, 4.1, 4.2, 5.2, 7.3, 7.4 Midterm: 8 given a recursive algorithm, state the recurrence solve a recurrence, using Master.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Spring, 2001 Final Review Mon. 5/14-Wed. 5/16.
DAST, Spring © L. Joskowicz 1 Data Structures – LECTURE 1 Introduction Motivation: algorithms and abstract data types Easy problems, hard problems.
EXAM REVIEW CSC 172 SPRING 2004 LECTURE 26. Want to TA for next semester?
Dynamic Sets and Data Structures Over the course of an algorithm’s execution, an algorithm may maintain a dynamic set of objects The algorithm will perform.
1 Summary of lectures 1.Introduction to Algorithm Analysis and Design (Chapter 1-3). Lecture SlidesLecture Slides 2.Recurrence and Master Theorem (Chapter.
Instructor: Dr. Sahar Shabanah Fall Lectures ST, 9:30 pm-11:00 pm Text book: M. T. Goodrich and R. Tamassia, “Data Structures and Algorithms in.
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
CS112A1 Spring 2008 Practice Final. ASYMPTOTIC NOTATION: a)Show that log(n) and ln(n) are the same in terms of Big-Theta notation b)Show that log(n+1)
Data Structures and Abstract Data Types "Get your data structures correct first, and the rest of the program will write itself." - David Jones.
2IL05 Data Structures Fall 2007 Lecture 13: Minimum Spanning Trees.
Spring 2015 Lecture 11: Minimum Spanning Trees
0 Course Outline n Introduction and Algorithm Analysis (Ch. 2) n Hash Tables: dictionary data structure (Ch. 5) n Heaps: priority queue data structures.
1 Summary of lectures 1.Introduction to Algorithm Analysis and Design (Chapter 1-3). Lecture SlidesLecture Slides 2.Recurrence and Master Theorem (Chapter.
Sorting Sanghyun Park Fall 2002 CSE, POSTECH. Sorts To Consider Selection sort Bubble sort Insertion sort Merge sort Quick sort Why do we care about sorting?
10/20/20151 CS 3343: Analysis of Algorithms Review for final.
December 4, Algorithms and Data Structures Lecture XV Simonas Šaltenis Aalborg University
CS Data Structures II Review & Final Exam. 2 Topics Review Final Exam.
CS223 Advanced Data Structures and Algorithms 1 Review for Final Neil Tang 04/27/2010.
1 BIM304: Algorithm Design Time: Friday 9-12am Location: B4 Instructor: Cuneyt Akinlar Grading –2 Midterms – 20% and 30% respectively –Final – 30% –Projects.
Runtime O(VE), for +/- edges, Detects existence of neg. loops
Review for Final Exam – cs411/511 Definitions (5 questions, 2 points each) Algorithm Analysis (3 questions, 3 points each) General Questions (3 questions,
Review for Final Exam Non-cumulative, covers material since exam 2 Data structures covered: –Treaps –Hashing –Disjoint sets –Graphs For each of these data.
Course Review Fundamental Structures of Computer Science Margaret Reid-Miller 29 April 2004.
Minimum Spanning Trees CSE 373 Data Structures Lecture 21.
Graphs Upon completion you will be able to:
CSE 340: Review (at last!) Measuring The Complexity Complexity is a function of the size of the input O() Ω() Θ() Complexity Analysis “same order” Order.
 Saturday, April 20, 8:30-11:00am in B9201  Similar in style to written midterm exam  May include (a little) coding on paper  About 1.5 times as long.
Design and Analysis of Algorithms Introduction Instructors:1. B V Kiran Mayee, 2. A Madhavi
Course Review Fundamental Structures of Computer Science Margaret Reid-Miller 28 April 2005.
DATA STRUCTURES Prepared by, K.ABINAYA L/IT. Aim: To present the concepts of arrays, structures, stack, queue, linked list, graphs, trees and storage.
Introduction to Data Structure and Algorithms
Course Review Fundamental Structures of Computer Science Ananda Guna May 04, 2006.
CSCE 210 Data Structures and Algorithms
Welcome to the Course of Advanced Algorithm Design
Cse 373 June 2nd – Exam Review.
Data Structures and Algorithms
Set Collection A Bag is a general collection class that implements the Collection interface. A Set is a collection that resembles a Bag with the provision.
CSE 326: Data Structures: Advanced Topics
Summary of lectures Introduction to Algorithm Analysis and Design (Chapter 1-3). Lecture Slides Recurrence and Master Theorem (Chapter 4). Lecture Slides.
Courtsey & Copyright: DESIGN AND ANALYSIS OF ALGORITHMS Courtsey & Copyright:
Review for Final Exam Non-cumulative, covers material since exam 2
Review for Final Exam Non-cumulative, covers material since exam 2
Data Structures and Algorithms
Review for Final Exam Non-cumulative, covers material since exam 2
CS 3343: Analysis of Algorithms
structures and their relationships." - Linus Torvalds
CS 3343: Analysis of Algorithms
structures and their relationships." - Linus Torvalds
CS 3343: Analysis of Algorithms
CS 3343: Analysis of Algorithms
CS 3343: Analysis of Algorithms
Data Structures – LECTURE 13 Minumum spanning trees
CS 3343: Analysis of Algorithms
Review for Final Exam Non-cumulative, covers material since exam 2
Review for Final Neil Tang 05/01/2008
structures and their relationships." - Linus Torvalds
COMP 122 – Design and Analysis of Algorithms
Presentation transcript:

Data Structures, Spring 2004 © L. Joskowicz 1 DAST – Final Lecture Summary and overview What we have learned. Why it is important. What next.

Data Structures, Spring 2004 © L. Joskowicz 2 What have we learned? This course can be viewed as a thorough introduction to the main directions in Computer Science: – Theoretical computer science algorithms design and rigorous analysis –Programming and implementations Abstract data types, encapsulation, data structures –The combination of the two

Data Structures, Spring 2004 © L. Joskowicz 3 Topics 1.Tools for algorithm analysis 2.Sorting 3.ADTs and Data structures 4.Graph algorithms 5.Special topic: Huffman coding Extensive hands-on JAVA programming

Data Structures, Spring 2004 © L. Joskowicz 4 1. Tools for algorithm analysis Algorithm correctness –Loop invariants –Formally proving properties of algorithms Algorithms complexity analysis –Time and space complexity measures –Asymptotic complexity functions: O, Θ, Ω –Worst case, average case, best case –Upper and lower bounds –Amortized, expected. –Recurrence equations: how to formulate and solve them. The Master theorem.

Data Structures, Spring 2004 © L. Joskowicz 5 2. Sorting Sorting is a basic operation of many algorithms! Comparison-based algorithms –Reviewed Insertion Sort, Merge-Sort, Bubble-sort –Quick-Sort and its complexity analysis –Randomization –Lower bound proof –Heap sort Non-comparison based algorithms –Counting sort –Radix sort –Bucket sort

Data Structures, Spring 2004 © L. Joskowicz 6 3. ADTs and Data Structures (1) Ordered collections: insert, remove, first, last, find Stacks: push, pop, top –Array and Linked List implementations Queues: enqueue, dequeue, front –Circular array, Linked List Priority Queues: insert, min, delete-min, decrease-key –Binary Heap (array and binary tree implementation). Prefix-code tree: Binary tree

Data Structures, Spring 2004 © L. Joskowicz 7 Sorted Set: insert, remove, find, find-kth, min, max, successor, predecessor. –Balanced binary trees: Red-Black Trees, AVL trees, B-trees. Dictionaries and Tables: insert, remove, find –Hash tables: chaining and open addressing implementation. 3. ADTs and Data Structures (2)

Data Structures, Spring 2004 © L. Joskowicz 8 Graphs –Adjacency lists –Adjacency matrix Disjoint Sets: MakeSet, FindSet, Union –Linked lists –Trees 3. ADTs and Data Structures (3)

Data Structures, Spring 2004 © L. Joskowicz 9 4. Graph algorithms Graph and shortest path properties Unweighted graph traversals: BFS, DFS Strongly Connected Components: SCC Minimum spanning tree algorithms: MST –Prim, Kruskal Weighted shortest path algorithms: –Dijkstra’s shortest paths algorithm –Bellman-Ford shortest path algorithm All-shortest path algorithms –Floyd-Warshall algorithm; Transitive closure

Data Structures, Spring 2004 © L. Joskowicz Special topic: Huffman coding Prefix code properties Optimal coding Greedy algorithm for optima code construction

Data Structures, Spring 2004 © L. Joskowicz 11 Important Computer Science concepts Mathematical tools for algorithm analysis. Proving algorithm correctness. Lower bounds: show that no algorithm can do better than a certain bound. Algorithmic paradigms: –Randomization –Heuristics –Greedy methods –Dynamic programming How to design and adapt an ADT.

Data Structures, Spring 2004 © L. Joskowicz 12 ADTs and Data Structures The notion of an ADT: The interface. The notion of the data structure: algorithms and ways to implement the ADT efficiently. Preparation for more abstract design of algorithms you will see in the Algorithms course.

Data Structures, Spring 2004 © L. Joskowicz 13 What next? Core courses Algorithms A and B Computability Elective courses Artificial Intelligence Computational geometry Cryptography …

Data Structures, Spring 2004 © L. Joskowicz 14 בהצלחה!!