Advanced Data Structures Lecture 1

Slides:



Advertisements
Similar presentations
Data Structures.
Advertisements

Chapter 3: Abstract Data Types Lists, Stacks Lydia Sinapova, Simpson College Mark Allen Weiss: Data Structures and Algorithm Analysis in Java.
COEN 352 Data structures and Algorithms R. Dssouli.
Chapter 1 Object Oriented Programming. OOP revolves around the concept of an objects. Objects are crated using the class definition. Programming techniques.
1 Problem Solving Abstraction Oftentimes, different real-world problems can be modeled using the same underlying idea Examples: Runtime storage, Undo operation.
Design The goal is to design a modular solution, using the techniques of: Decomposition Abstraction Encapsulation In Object Oriented Programming this is.
© 2006 Pearson Addison-Wesley. All rights reserved4-1 Chapter 4 Data Abstraction: The Walls.
Abstract Data Types (ADT)
Coursenotes CS3114: Data Structures and Algorithms Clifford A. Shaffer Yang Cao Department of Computer Science Virginia Tech Copyright ©
Introduction - The Need for Data Structures Data structures organize data –This gives more efficient programs. More powerful computers encourage more complex.
1 A Introduction to Data Structures and Algorithm Analysis Data Structures Asst. Professor Kiran Soni.
DATA STRUCTURE Subject Code -14B11CI211.
Data Structures 1- Course Syllabus. 2- Introduction about Data Structures.
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.
CSCI-383 Object-Oriented Programming & Design Lecture 4.
Lecture No.01 Data Structures Dr. Sohail Aslam
CSE-C1 Algs & DS 1 CSE–C1 Algorithms and Data Structures 1 lecturer Dr.Matthew Montebello office CB 409 credit 1 lectures 10.
Dr. Engr. Sami ur Rahman Assistant Professor Department of Computer Science University of Malakand Data Structure: Introduction.
Instructor Information: Dr. Radwa El Shawi Room: Week # 1: Overview & Review.
DATA STRUCTURES (CS212D) Week # 1: Overview & Review.
CS212: DATA STRUCTURES Lecture 1: Introduction. What is this course is about ?  Data structures : conceptual and concrete ways to organize data for efficient.
Prepared By Ms.R.K.Dharme Head Computer Department.
1 CS 350 Data Structures Chaminade University of Honolulu.
Course notes CS2606: Data Structures and Object-Oriented Development Ryan Richardson John Paul Vergara Department of Computer Science Virginia Tech Spring.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
Chapter 1 Object Oriented Programming. OOP revolves around the concept of an objects. Objects are created using the class definition. Programming techniques.
Chapter 1 Data Structures and Algorithms. Primary Goals Present commonly used data structures Present commonly used data structures Introduce the idea.
Data Structures and Algorithms Lecture 1 Instructor: Quratulain Date: 1 st Sep, 2009.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
Lecture 11 Data Structures, Algorithms & Complexity Introduction Dr Kevin Casey BSc, MSc, PhD GRIFFITH COLLEGE DUBLIN.
Algorithms and data structures: basic definitions An algorithm is a precise set of instructions for solving a particular task. A data structure is any.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
1 CS 311 Data Structures. 2 Instructor Name : Vana Doufexi Office : 2-229, Ford Building Office hours: By appointment.
1 Data Structures CSCI 132, Spring 2014 Lecture 1 Big Ideas in Data Structures Course website:
DATA STRUCTURES (CS212D) Overview & Review Instructor Information 2  Instructor Information:  Dr. Radwa El Shawi  Room: 
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
1 A Practical Introduction to Data Structures and Algorithm Analysis Chaminade University of Honolulu Department of Computer Science Text by Clifford Shaffer.
BITS Pilani Pilani Campus Data Structure and Algorithms Design Dr. Maheswari Karthikeyan Lecture1.
Unit 1 - Introducing Abstract Data Type (ADT) Part 1.
南昌大学自动化系胡凌燕 1 Charpter 1 The data structures and algorithms (p3) There are often many approaches to solving a problem. How do we choose between them? 
Data Structures Dr. Abd El-Aziz Ahmed Assistant Professor Institute of Statistical Studies and Research, Cairo University Springer 2015 DS.
Maitrayee Mukerji. INPUT MEMORY PROCESS OUTPUT DATA INFO.
Lecture 1 Data Structures Aamir Zia. Introduction Course outline Rules and regulations Course contents Good Programming Practices Data Types and Data.
Introduction To Algorithm and Data Structures Course Teacher: Moona Kanwal -Algorithm Design -Algorithm Analysis -Data structures -Abstract Data Type.
Mohammed I DAABO COURSE CODE: CSC 355 COURSE TITLE: Data Structures.
Introduction toData structures and Algorithms
Introduction to Algorithms
Data Abstraction: The Walls
Algorithms and Problem Solving
Big-O notation Linked lists
GC211Data Structure Lecture2 Sara Alhajjam.
Chapter 2 (16M) Sorting and Searching
Lecture 2 of Computer Science II
Introduction to Data Structure
Data Structures (CS212D) Overview & Review.
Chapter 4 Link Based Implementations
Algorithm An algorithm is a finite set of steps required to solve a problem. An algorithm must have following properties: Input: An algorithm must have.
Objective of This Course
What is CS 253 about? Contrary to the wide spread belief that the #1 job of computers is to perform calculations (which is why the are called “computers”),
Data Structures: Introductory lecture
Week # 1: Overview & Review
Data Structures and Algorithms for Information Processing
Data Structures (CS212D) Overview & Review.
Introduction to Algorithms
Introduction to Data Structure
Abstract Data Types, Elementary Data Structures and Arrays
Data Structures Goal: organize data Criteria: facilitate efficient
Algorithms and data structures: basic definitions
CMPT 225 Lecture 6 – Review of Complexity Analysis using the Big O notation + Comparing List ADT class implementations.
Presentation transcript:

Advanced Data Structures Lecture 1 CSCI-255 Advanced Data Structures Lecture 1

Problem Solving Problem solving = Solution = algorithm? Understanding the problem Designing a solution Implementing the solution Solution = algorithm? Are all algorithms equally good? Define “good” (i.e., what are the comparison criteria?)

Algorithm Efficiency There are often many approaches (algorithms) to solve a problem. How do we choose between them? Need to measure the cost of an algorithm The cost of a solution is the amount of resources that the solution consumes A solution is said to be efficient if it solves the problem within its resource constraints Space Time

Solution = algorithm + data organization Any algorithm we come up with will have to manipulate data in some way The way we choose to organize our data directly affects the efficiency of our algorithm Solution = algorithm + data organization Both components are strongly interconnected

Organizing Data (cont’d) Any organization for a collection of records can be searched, processed in any order, or modified The choice of data structure and algorithm can make the difference between a program running in a few seconds or many days Examples of data structures and algorithms that you have learned before: list, accessing the ith element, insert an element to the beginning of the list Talking about implementation of data organizations: arrays and linked list

Selecting a Data Structure Select a data structure as follows: Analyze the problem to determine the resource constraints a solution must meet Determine the basic operations that must be supported. Quantify the resource constraints for each operation Select the data structure that best meets these requirements

Selecting a Data Structure (cont’d) Each data structure has costs and benefits Rarely is one data structure better than another in all situations A data structure requires: Space for each data item it stores, Time to perform each basic operation, Programming effort

Selecting a Data Structure (cont’d) Each problem has constraints on available space and time Only after a careful analysis of problem characteristics can we know the best data structure for the task Bank example: Open and close accounts  a few minutes Transactions  a few seconds

What this Course is About Classic data structures Design, implementation, and use How to choose or devise the appropriate data structure for a problem Classic algorithms and how the choice of data structure affects their efficiency Understand how to measure the cost of a data structure or algorithm

Abstract Data Type A type is a collection of values E.g., Boolean, Integer A data type is a type together with a collection of operations to manipulate the type E.g., Integer data type An abstract data type (ADT) is the realization of a data type as a software component. It does not specify how the data type is implemented

Abstract Data Type Major components: The data The operations allowed on it These make up an Abstract Data Type (ADT) Each ADT operation is defined by its inputs and outputs Encapsulation: Hide implementation details

Example ADT An ADT for a list of integers might specify the following operations: Insert a new integer at a particular position in the list Return true if the list is empty Reinitialize the list Return the number of integers currently in the list Delete the integer at a particular position in the list From this description, the input and output of each operation should be clear, but the implementation has not been specified

Data Structure A data structure is the implementation of an ADT Each operation associated with the ADT is implemented by or more subroutines in the implementation In an object-oriented language such as C++, an ADT and its implementation together make up a class Each operation associated with the ADT is implemented by a member function An object is an instance of a class, that is, something that created and takes up storage during program execution