CS 315 Data Structures B. Ravikumar Office: 116 I Darwin Hall Phone:

Slides:



Advertisements
Similar presentations
Student Projects in the Course Data Structures
Advertisements

David Luebke 1 6/7/2014 CS 332: Algorithms Skip Lists Introduction to Hashing.
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.
CSCE 210 Data Structures and Algorithms
COMP171 Data Structures and Algorithms Spring 2009.
Welcome CS 315 Data Structures. Instructor: B. Ravikumar Office: 116 I Darwin Hall Phone: Course Web site:
Data Structures & Algorithms What The Course Is About s Data structures is concerned with the representation and manipulation of data. s All programs.
CS 315 Data Structures B. Ravikumar Office: 116 I Darwin Hall Phone: Course Web site:
Review for Test 2 i206 Fall 2010 John Chuang. 2 Topics  Operating System and Memory Hierarchy  Algorithm analysis and Big-O Notation  Data structures.
1 ES 314 Advanced Programming Lec 2 Sept 3 Goals: Complete the discussion of problem Review of C++ Object-oriented design Arrays and pointers.
DATA STRUCTURE Subject Code -14B11CI211.
Data Structures and Programming.  John Edgar2.
C o n f i d e n t i a l Developed By Nitendra NextHome Subject Name: Data Structure Using C Title: Overview of Data Structure.
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
Data Structures Lecture 1: Introduction Azhar Maqsood NUST Institute of Information Technology (NIIT)
Computer Science Department Data Structures and Algorithms Lecture 1.
CS212: DATA STRUCTURES Lecture 1: Introduction. What is this course is about ?  Data structures : conceptual and concrete ways to organize data for efficient.
COMP2012 Object-Oriented Programming and Data Structures Fall 2015.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Course Introduction.
Data Structures Lecture 1: Introduction. Course Contents Data Types   Overview, Introductory concepts   Data Types, meaning and implementation  
CS223 Advanced Data Structures and Algorithms 1 Review for Midterm Neil Tang 03/06/2008.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 223 – Advanced Data Structures Course Introduction.
Elementary Data Organization. Outline  Data, Entity and Information  Primitive data types  Non primitive data Types  Data structure  Definition 
Review for Final Exam – cs411/511 Definitions (5 questions, 2 points each) Algorithm Analysis (3 questions, 3 points each) General Questions (3 questions,
Data Structure II So Pak Yeung Outline Review  Array  Sorted Array  Linked List Binary Search Tree Heap Hash Table.
2 Obaid Ullah HOD Computer Science Dept. Superior University Sialkot Campus.
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.
CS 315 Data Structures Fall 2011 Instructor: B. (Ravi) Ravikumar Office: 116 I Darwin Hall Phone: Course Web site:
 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.
Data Structures Dr. Abd El-Aziz Ahmed Assistant Professor Institute of Statistical Studies and Research, Cairo University Springer 2015 DS.
CS 315 Data Structures Spring 14 Instructors (lecture) Bala Ravikumar Office: 116 I Darwin Hall Phone: piazza, (Lab.
Introduction toData structures and Algorithms
CSCE 210 Data Structures and Algorithms
CENG 707 Data Structures and Algorithms
CSE373: Data Structures & Algorithms Priority Queues
Binary Search Trees Implementing Balancing Operations Hash Tables
Top 50 Data Structures Interview Questions
Midterm Review.
March 27 – Course introductions; Adts; Stacks and Queues
Lecture No.43 Data Structures Dr. Sohail Aslam.
Exam Hints.
Data Structures Data Structure is a way of collecting and organising data in such a way that we can perform operations on these data in an effective.
Hashing Exercises.
Computer Science 102 Data Structures CSCI-UA
Cse 373 April 26th – Exam Review.
November 1st – Exam Review
Review for Midterm Neil Tang 03/04/2010
CS302 Data Structures Fall 2012.
Map interface Empty() - return true if the map is empty; else return false Size() - return the number of elements in the map Find(key) - if there is an.
structures and their relationships." - Linus Torvalds
Data Structures (CS212D) Overview & Review.
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.
Data Structures and Algorithms
Introduction CSE 373 Data Structures.
CSS 342 Data Structures, Algorithms, and Discrete Mathematics I
Locators 3 a 1 g 4 e 12/29/2018 7:56 AM Locators Locators
ADTs so far.
Data Structures (CS212D) Overview & Review.
Introduction to Data Structures
Administrivia- Introduction
Final Review Dr. Yingwu Zhu.
Administrivia- Introduction
Final Review B.Ramamurthy 5/8/2019 BR.
Instructor: Dr. Michael Geiger Spring 2019 Lecture 34: Exam 3 Preview
EECE.3220 Data Structures Instructor: Dr. Michael Geiger Spring 2019
Instructor: Dr. Michael Geiger Spring 2017 Lecture 30: Sorting & heaps
CSCE156: Introduction to Computer Science II
structures and their relationships." - Linus Torvalds
Presentation transcript:

E-mail: ravi93@gmail.edu CS 315 Data Structures B. Ravikumar Office: 116 I Darwin Hall Phone: 664 3335 E-mail: ravi93@gmail.edu Course Web site: http://ravi.cs.sonoma.edu/cs315sp09

Textbook for the course: Data Structures and Algorithm Analysis in C++ by Mark Allen Weiss Class time Lecture: T Th 10:45 to 12 noon, Darwin Hall 102 Lab: F 9 to 11:50 AM, Darwin Hall # 25

Data Structures – informal definition How to store data sets in memory so that the computation(s) can be solved easily, efficiently etc. Some typical issues: preprocessing vs. updating trade-offs between operations interaction between algorithm and data structure

Course Goals Learn to use fundamental data structures: arrays, linked lists, stacks and queues hash table priority queue – binary heap and others binary trees, binary search trees, AVL trees quad-trees, skip-lists Improve your skill in programming in c++ recursion, classes, algorithm implementation design solutions using different data structures

Course Goals Analytical and experimental analysis quantitative reasoning about the performance of algorithms (time, storage, network, bandwidth etc.) comparing different data structures Applications image storage and manipulation image and data compression sorting and searching spelling checking, backtracking packet routing in a network geometric problems 5

Goals for today’s lecture Course outline Course work lab assignments projects tests, final exam quiz and class participation (new) If any time left, start discussing recursion.

Data Structures – key to software design Data structures play a key role in every type of software. Data structure deals with how to organize the data in the memory while solving a problem in order to reduce overall running time of a program response time (for queries) memory requirements Cost model for data access - array access, pointers

Abstract Data Structure (ADT), supported operations Dictionary search insert primary operations Delete deleteMin Range search Successor secondary operations Merge Priority queue Insert Merge, split etc. Secondary operations primary operations

Linear data structures key properties of the (1-d) array: a sequence of items are stored in consecutive memory locations. array provides a constant time access to k-th element for any k. (access the element by: Element[k].)

Linear data structures inserting at the end is easy. if the current size is s, then we can add x at the end using the single instruction: Element[s++] = x; deleting at the end is also easy. inserting or deleting at any other position is expensive. searching for a key is expensive (unless sorted). Expensive means the number of operations ~ size of the array. 10

Images stored in 2-dim arrays We will work on 2-d arrays by manipulating images: Each pixel is represented by a blue value, a red value and a green value (any color is a combination of these colors). (255, 255, 255) represents white, (255, 0, 0) represents red etc. pic(i , j)-> Blue represents the blue component of the i-th row, j-th column pixel of pic and so on. Some basic operations on images: open, read, write rotate, copy a sub-image filter (remove blemishes) extract features (identify where buildings are in an aerial photograph)