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.
CSCE 145: Algorithmic Design I Introduction Muhammad Nazmus Sakib.
Cpt S 122 – Data Structures Course Introduction
COMP171 Data Structures and Algorithms Spring 2009.
Jan Welcome to the Course of Data Structures and Algorithms.
CS 46101–600/CS Design and Analysis of Algorithms Dr. Angela Guercio Spring 2010.
CSCE 210 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.
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.
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)
CPT: Prelim/01 Computer Programming Techniques v Objectives –to give some background on this subject CPT, Semester Preliminaries.
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.
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.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Course Introduction.
Data Structures and Algorithm Analysis Introduction Lecturer: Ligang Dong, egan Tel: , Office: SIEE Building.
Materials Science Dr. Deniz UZUNSOY Friday AM A-504.
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.
Data Structures Dr. Abd El-Aziz Ahmed Assistant Professor Institute of Statistical Studies and Research, Cairo University Springer 2015 DS.
CSCE 210 Data Structures and Algorithms
CENG 213 Data Structures Nihan Kesim Çiçekli
CENG 707 Data Structures and Algorithms
CENG 213 Data Structures Nihan Kesim Çiçekli
CS 315 Data Structures B. Ravikumar Office: 116 I Darwin Hall Phone:
CENG 213 Data Structures Dr. Cevat Şener
CS5040: Data Structures and Algorithms
CMPT 238 Data Structures Instructor: Tina Tian.
Introduction of ECE665 Computer Algorithms
Computer Science 102 Data Structures CSCI-UA
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.
CENG 213 Data Structures Nihan Kesim Çiçekli
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,  Research Interest: Mobile, Pervasive and Ubiquitous Computing (MPSC) Office: EME 127 Office Hours: W&F 2:00 pm – 3:00 pm or by appointment

Teaching Assistant Mr. Shervin Hajiamini  Office Hours:  Tuesday 3:00 pm – 4:30 pm  Friday 1:00pm - 2:30pm  Location: Sloan 343

Course Logistics Time and Location  Monday and Wednesday and Friday 12:10pm - 1:00pm  Sloan 175 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 Make up classes  Will be occasionally necessary due to travel

TextBook Textbook:  Data Structures and Algorithm Analysis in C++, Third Edition by Mark Allen Weiss Reference Textbook (Optional):  P.J. Deitel & H.M. Deitel, C++: How to Program (8th ed.), Prentice Hall, ISBN-10: ; ISBN-13:  Andrew Koenig and Barbara E. Moo, Accelerated C++: Practical Programming by Example, Addison-Wesley, 2000

Evaluation and Grading Evaluation  Homeworks and Pop Quizzes: 25% of grade  Programming Assignments: 30% of grade  Exams: 45% of grade (2 Midterms 12.5% each & Final 20%) 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:  Midterm 1: February 27, 2013  Midterm 2: April 3, 2013  Final: May 2, 2013 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? Problem Artifacts  N = 1,000,000,000 1 billion (Walmart transactions in 100 days)  1 Ghz processor = 10 9 cycles per second Solution #1 ( assume 10 cycles per check)  Worst case: 1 billion checks = 10 seconds Solution #2 (assume 10 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 ?