Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Course Introduction.

Slides:



Advertisements
Similar presentations
Advanced Data Structures
Advertisements

5/19/2015CS 2011 CS 201 – Data Structures and Discrete Mathematics I Syllabus Spring 2014.
Cpt S 122 – Data Structures Course Introduction
COMP171 Data Structures and Algorithms Spring 2009.
InOrder Traversal Algorithm // InOrder traversal algorithm inOrder(TreeNode n) { if (n != null) { inOrder(n.getLeft()); visit(n) inOrder(n.getRight());
Jan Welcome to the Course of Data Structures and Algorithms.
June 13, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
1 Advanced Data Structures. 2 Topics Data structures (old) stack, list, array, BST (new) Trees, heaps, union-find, hash tables, spatial, string Algorithm.
CS 104 Introduction to Computer Science and Graphics Problems Data Structure & Algorithms (4) Data Structures 11/18/2008 Yang Song.
Review for Test 2 i206 Fall 2010 John Chuang. 2 Topics  Operating System and Memory Hierarchy  Algorithm analysis and Big-O Notation  Data structures.
Administrivia- Introduction CSE 373 Data Structures.
COMP171 Data Structures and Algorithm Qiang Yang Lecture 1 ( Fall 2006)
EE 220 (Data Structures and Analysis of Algorithms) Instructor: Saswati Sarkar T.A. Prasanna Chaporkar, Programming.
CENG 213 Data Structures Department of Computer Engineering Middle East Technical University Fall 2014 CENG 213 Data Structures 1.
COMS W1004 Introduction to Computer Science May 29, 2009.
CSE 220 (Data Structures and Analysis of Algorithms) Instructor: Saswati Sarkar T.A. Dimosthenes Anthomelidis
1 CPT S 223: Advanced Data Structures (section 01) Fall 2010 School of EECS Washington State University, Pullman MWF 10:10-11 Sloan 5.
HORSEED International University
CSCE 3110 Data Structures and Algorithm Analysis.
METU Computer Engineering Department
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
COMP 151: Computer Programming II Spring Course Topics Review of Java and basics of software engineering (3 classes. Chapters 1 and 2) Recursion.
© 2004 Goodrich, Tamassia CS2210 Data Structures and Algorithms Lecture 1: Course Overview Instructor: Olga Veksler.
Teaching Teaching Discrete Mathematics and Algorithms & Data Structures Online G.MirkowskaPJIIT.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 122 – Data Structures Data Structures Trees.
CS223 Algorithms D-Term 2013 Instructor: Mohamed Eltabakh WPI, CS Introduction Slide 1.
Data Structures Lecture 1: Introduction Azhar Maqsood NUST Institute of Information Technology (NIIT)
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Course Review Midterm.
Data Structures (Second Part) Lecture 1 Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University.
Introduction to Data Structures
CSE 3358 NOTE SET 1 Data Structures and Algorithms.
Computer Science 102 Data Structures and Algorithms CSCI-UA.0102 Fall 2012 Lecture 1: administrative details Professor: Evan Korth New York University.
Review for Final Andy Wang Data Structures, Algorithms, and Generic Programming.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Course Introduction.
CS-2851 Dr. Mark L. Hornick 1 CS-2852 Data Structures Dr. Mark L. Hornick Office: L341 Phone: web: people.msoe.edu/hornick/
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
CSE 3358 NOTE SET 1 Data Structures and Algorithms.
Introduction to ECE 2401 Data Structure Fall 2005 Chapter 0 Chen, Chang-Sheng
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
Data Structures and Algorithm Analysis Introduction Lecturer: Ligang Dong, egan Tel: , Office: SIEE Building.
+ David Kauchak cs312 Review. + Midterm Will be posted online this afternoon You will have 2 hours to take it watch your time! if you get stuck on a problem,
Materials Science Dr. Deniz UZUNSOY Friday AM A-504.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2001 Sections Ms. Susan Mitchell.
1 Data Structures COP 4530 Spring 2010 MW 4:35 PM – 5:50 PM CHE 101 Instructor:Dr. Rollins Turner Dept. of Computer Science and Engineering ENB
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2003 Mr. Frey (0101 – 0104) Mr. Raouf (0201 – 0204)
Course Info Instructor U.T. Nguyen Office: CSEB Office hours: Tuesday, 14:30-15:30 Thursday, 12:00-12:45 By.
Data Structures and Algorithms in Java AlaaEddin 2012.
Course Introductions.  Introduction to java  Basics of Java  Classes & Objects  Java Collections and APIs  Algorithms and their analysis  Recursion.
 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.
Data Structures By Dr. Mehedi Masud ِAssociate Professor, Computer Science Dept. College of Computers and Information Systems Taif University 1.
CMPT 238 Data Structures Instructor: Tina Tian. General Information Office: RLC 203A Office Hour: Tue and Fri 12:30 - 2:00PM.
1 CENG 707 Data Structures and Algorithms Nihan Kesim Çiçekli Department of Computer Engineering Middle East Technical University Fall 2013.
CENG 213 Data Structures1 Nihan Kesim Çiçekli Department of Computer Engineering Middle East Technical University.
CENG 213 Data Structures Nihan Kesim Çiçekli
CENG 707 Data Structures and Algorithms
COMP9024: Data Structures and Algorithms
CS 315 Data Structures B. Ravikumar Office: 116 I Darwin Hall Phone:
CENG 213 Data Structures Dr. Cevat Şener
CS5040: Data Structures and Algorithms
CPSC 311 Section 502 Analysis of Algorithm
CMPT 238 Data Structures Instructor: Tina Tian.
Computer Science 102 Data Structures CSCI-UA
Cse 373 April 26th – Exam Review.
Lecture 1: Introduction
Definition In simple terms, an algorithm is a series of instructions to solve a problem (complete a task) We focus on Deterministic Algorithms Under the.
Introduction CSE 373 Data Structures.
COSC 320 Advanced Data Structures and Algorithm Analysis
Administrivia- Introduction
Administrivia- Introduction
CMPT 238 Data Structures Instructor: Tina Tian.
Presentation transcript:

Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Course Introduction

Course Introduction Course Information  Who am I?  Teaching Assistants  Course Logistics  Evaluation and Grading  Assignments  Exams  Course Expectations Course Overview Questions

Who Am I? Dr. Nirmalya Roy  MS in CSE: UT-Arlington, 2004  PhD in CSE: UT-Arlington, 2008  Postdoc in ECE: UT-Austin, 2010  Research Scientist at Institute for Infocomm Research (I2R), Singapore, Office: EME 127 Office Hours: MWF 2:00 pm – 3:00 pm

Teaching Assistants Mr. XYZ  Office Hours:  Location: Mr. ABC  Office Hours:  Location:

Course Logistics Time and Location  Monday and Wednesday and Friday 12:10pm - 1:00pm  Sloan 169 Course description  This course is about data structures, methods of organizing large amounts of data so they can be used efficiently, and algorithm analysis, the estimation of the running time of algorithms. Course website  Prerequisites  Cpt S 122 (Data Structures), Math 216 (Discrete Structures) or equivalent

TextBook TextBooks:  Data Structures and Algorithm Analysis in C++, Third Edition by Mark Allen Weiss  Accelerated C++: Practical Programming by Example, 2000 by Andrew Koenig and Barbara E. Moo

Evaluation and Grading Evaluation  Homeworks and Pop Quizzes: 25% of grade  Programming Assignments: 30% of grade  Exams: 45% of grade (3 exams, 15% each) Grading Scale  %: A  80-89%: B  70-79%: C  60-69%: D  0-59%: F

Assignments Quizzes (# 6)  5-6 objective questions  delivered mostly at the end of the class Homeworks (# 5)  7-8 problem sets, assigned on class  due after one week  no late assignments will be accepted Programming Assignments (# 4)  4 programming assignments  due two weeks later electronically by 11:59pm (mechanism to be described in advance of the first assignment)  no late assignments will be accepted

Exams Tentative exam dates:  February 28, 2012  April 4, 2012  Final TBD All exams are cumulative.

Course Expectations Attendance  You should attend class. Lecture notes will be made available, but they should not be considered a substitution for attending class Collaboration  You can discuss both homework problems and programming assignments with other students at a conceptual level  Do not write or program while talking to a fellow student  Do not use any other resources without citation

Course Overview Math and C++ Review Algorithm development and analysis  Running time Abstract Data Types  Linked Lists, Stacks and Queues  Insert, delete, search, sort Advanced data structures  Trees, hash tables, heaps, disjoint sets, graphs Applications and Object-oriented implementation in C++

Advanced Data Structures “Why not just use a big array?” Example problem  Search for a number k in a set of N numbers Solution # 1: Linear Search  Store numbers in an array of size N  Iterate through array until find k  Number of checks Best case: 1 (k=15) Worst case: N (k=27) Average case: N/

Advanced Data Structures Solution # 2: Binary Search Tree (BST)  Store numbers in a binary search tree Requires: Elements to be sorted  Properties: The left subtree of a node contains only nodes with keys less than the node's key The right subtree of a node contains only nodes with keys greater than the node's key Both the left and right subtrees must also be binary search trees  Search tree until find k  Number of checks Best case: 1 (k=15) Worst case: log 2 N (k=27) Average case: (log 2 N) /

Example Does it matter? Assume  N = 1,000,000,000 1 billion (Walmart transactions in 100 days)  1 Ghz processor = 10 9 cycles per second Solution #1 (10 cycles per check)  Worst case: 1 billion checks = 10 seconds Solution #2 (100 cycles per check)  Worst case: 30 checks = seconds

Analysis Does it matter?  N vs. (log 2 N)

Insights Moral  Appropriate data structures ease design and improve performance Challenge  Design appropriate data structure and associated algorithms for a problem  Analyze to show improved performance

Next Class—Math Review Analyzing data structures and algorithms  Deriving formulae for time and memory requirements  Will the solution scale? Proving algorithm correctness

Questions ?