Computer Science Department Data Structures and Algorithms Lecture 1.

Slides:



Advertisements
Similar presentations
Data Structures.
Advertisements

Chapter 9: Data Structures I
Computer Science 112 Fundamentals of Programming II Overview of Collections.
ADVANCED DATA STRUCTURES AND ALGORITHM ANALYSIS Chapter 3 Lists, Stacks, and Queues.
CS Data Structures II Review COSC 2006 April 14, 2017
Advanced Data Structures
CS 307 Fundamentals of Computer Science 1 Abstract Data Types many slides taken from Mike Scott, UT Austin.
CS 104 Introduction to Computer Science and Graphics Problems Data Structure & Algorithms (4) Data Structures 11/18/2008 Yang Song.
©Brooks/Cole, 2003 Chapter 12 Abstract Data Type.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 12 – Data Structures Outline 12.1Introduction.
Basic Definitions Data Structures: Data Structures: A data structure is a systematic way of organizing and accessing data. Or, It’s the logical relationship.
Introduction - The Need for Data Structures Data structures organize data –This gives more efficient programs. More powerful computers encourage more complex.
Data Structures Lecture-1:Introduction
Data Structures & Agorithms Lecture-1: Introduction.
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.
Chapter 12 Data Structure Associate Prof. Yuh-Shyan Chen Dept. of Computer Science and Information Engineering National Chung-Cheng University.
Data Structures Winter What is a Data Structure? A data structure is a method of organizing data. The study of data structures is particularly important.
Data Structures Lecture 1: Introduction Azhar Maqsood NUST Institute of Information Technology (NIIT)
October 18, Algorithms and Data Structures Lecture V Simonas Šaltenis Nykredit Center for Database Research Aalborg University
Introduction to Data Structures. Definition Data structure is representation of the logical relationship existing between individual elements of data.
© 2006 Pearson Education Chapter 12: Data Structures Presentation slides for Java Software Solutions for AP* Computer Science A 2nd Edition by John Lewis,
Chapter 3 List Stacks and Queues. Data Structures Data structure is a representation of data and the operations allowed on that data. Data structure is.
Data Structures and Abstract Data Types "Get your data structures correct first, and the rest of the program will write itself." - David Jones.
ECE 103 Engineering Programming Chapter 61 Abstract Data Types Herbert G. Mayer, PSU CS Status 6/4/2014 Initial content copied verbatim from ECE 103 material.
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 Introduction to Data Structures. 2 Course Name : Data Structure (CSI 221) Course Teacher : Md. Zakir Hossain Lecturer, Dept. of Computer Science Stamford.
 DATA STRUCTURE DATA STRUCTURE  DATA STRUCTURE OPERATIONS DATA STRUCTURE OPERATIONS  BIG-O NOTATION BIG-O NOTATION  TYPES OF DATA STRUCTURE TYPES.
CSS446 Spring 2014 Nan Wang  Java Collection Framework ◦ LinkedList ◦ Set ◦ Map 2.
ELC 310 Day 24. © 2004 Pearson Addison-Wesley. All rights reserved12-2 Agenda Questions? Problem set 5 Parts A & B Corrected  Good results  2 A’s, 1.
Data Structures and Algorithms Lecture 1 Instructor: Quratulain Date: 1 st Sep, 2009.
Data Structures Lecture 1: Introduction. Course Contents Data Types   Overview, Introductory concepts   Data Types, meaning and implementation  
Foundation of Computing Systems Lecture 3 Stacks and Queues.
Elementary Data Organization. Outline  Data, Entity and Information  Primitive data types  Non primitive data Types  Data structure  Definition 
Data Structures Chapter 6. Data Structure A data structure is a representation of data and the operations allowed on that data. Examples: 1.Array 2.Record.
Abstract Data Type EnhanceEdu.
2 Obaid Ullah HOD Computer Science Dept. Superior University Sialkot Campus.
Dale Roberts Department of Computer and Information Science, School of Science, IUPUI CSCI 240 Elementary Data Structures Array Lists Array Lists Dale.
DATA STRUCTURES (CS212D) Overview & Review Instructor Information 2  Instructor Information:  Dr. Radwa El Shawi  Room: 
Topic 2 Collections. 2-2 Objectives Define the concepts and terminology related to collections Discuss the abstract design of collections.
Data Structures What The Course Is About Data structures is concerned with the representation and manipulation of data.
REEM ALMOTIRI Information Technology Department Majmaah University.
Data Structure and Algorithms
Computer Science: A Structured Programming Approach Using C1 Objectives ❏ To introduce the basic concepts of linked lists ❏ To introduce the basic concepts.
CPS120: Introduction to Computer Science Nell Dale John Lewis Abstract Data Types.
Lecture 1 Data Structures Aamir Zia. Introduction Course outline Rules and regulations Course contents Good Programming Practices Data Types and Data.
Mohammed I DAABO COURSE CODE: CSC 355 COURSE TITLE: Data Structures.
Introduction toData structures and Algorithms
Introduction to Data Structures
G64ADS Advanced Data Structures
Chapter 12 – Data Structures
Lecture 1 (UNIT -4) TREE SUNIL KUMAR CIT-UPES.
Data Structure Interview Question and Answers
Chapter 15 Lists Objectives
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.
Introduction to Data Structure
structures and their relationships." - Linus Torvalds
Chapter 15 Lists Objectives
structures and their relationships." - Linus Torvalds
Introduction to Data Structures
Data Structures: Introductory lecture
Week # 1: Overview & Review
Cs212: Data Structures Computer Science Department Lecture 7: Queues.
Introduction to Data Structures
Introduction to Data Structure
structures and their relationships." - Linus Torvalds
Data Structures and Algorithms Lecture-1: Introduction
Presentation transcript:

Computer Science Department Data Structures and Algorithms Lecture 1

Computer Science Department Course Information Textbooks –Introduction to Data Structures in C by Ashok N. Kamthane –Data Structures and Algorithms by A. V. Aho, J. E. Hopcroft, J. D. Ullman –Data Structures Using C and C++ by Y. Langsam, M. J. Augenstein, A. M. Tenenbaum –Algorithms in C++ by Robert Sedgewick

Computer Science Department Course Outline Introduction to Data Structure Algorithms Recursion Stacks Queues Lists and linked lists Trees Sorting Searching Graphs Hashing

Computer Science Department Grading Theory –Quizzes % –Assignments % –Mid Term % –Final % Labs –Assignments/Exercises and Project % –Mid term % –Final %

Computer Science Department Introduction to Data Structure and Abstract Data Types

Computer Science Department What is Data Structure? Data structure is a representation of data and the operations allowed on that data. A data structure is a way to store and organize data in order to facilitate the access and modifications. Data Structure are the method of representing of logical relationships between individual data elements related to the solution of a given problem.

Computer Science Department Basic Data Structure Basic Data Structures Linear Data Structures Non-Linear Data Structures ArraysLinked ListsStacksQueuesTreesGraphsHash Tables

Computer Science Department array Linked list tree queue stack

Computer Science Department Selection of Data Structure The choice of particular data model depends on two consideration: –It must be rich enough in structure to represent the relationship between data elements –The structure should be simple enough that one can effectively process the data when necessary

Computer Science Department Types of Data Structure Linear: In Linear data structure, values are arrange in linear fashion. –Array: Fixed-size –Linked-list: Variable-size –Stack: Add to top and remove from top –Queue: Add to back and remove from front –Priority queue: Add anywhere, remove the highest priority

Computer Science Department Types of Data Structure Non-Linear: The data values in this structure are not arranged in order. –Hash tables: Unordered lists which use a ‘hash function’ to insert and search –Tree: Data is organized in branches. –Graph: A more general branching structure, with less strict connection conditions than for a tree

Computer Science Department Type of Data Structures Homogenous: In this type of data structures, values of the same types of data are stored. –Array Non-Homogenous: In this type of data structures, data values of different types are grouped and stored. –Structures –Classes

Computer Science Department Abstract Data Type and Data Structure Definition:- –Abstract Data Types (ADTs) stores data and allow various operations on the data to access and change it. –A mathematical model, together with various operations defined on the model –An ADT is a collection of data and associated operations for manipulating that data Data Structures –Physical implementation of an ADT –data structures used in implementations are provided in a language (primitive or built-in) or are built from the language constructs (user-defined) –Each operation associated with the ADT is implemented by one or more subroutines in the implementation

Computer Science Department Abstract Data Type ADTs support abstraction, encapsulation, and information hiding. Abstraction is the structuring of a problem into well- defined entities by defining their data and operations. The principle of hiding the used data structure and to only provide a well-defined interface is known as encapsulation.

Computer Science Department The Core Operations of ADT Every Collection ADT should provide a way to: –add an item –remove an item –find, retrieve, or access an item Many, many more possibilities –is the collection empty –make the collection empty –give me a sub set of the collection

Computer Science Department No single data structure works well for all purposes, and so it is important to know the strengths and limitations of several of them

Computer Science Department Stacks Collection with access only to the last element inserted Last in first out insert/push remove/pop top make empty TopData4 Data3 Data2 Data1

Computer Science Department Queues Collection with access only to the item that has been present the longest Last in last out or first in first out enqueue, dequeue, front priority queues and dequeue Data4Data3Data2Data1 Front Back

Computer Science Department List A Flexible structure, because can grow and shrink on demand. Elements can be:  Inserted  Accessed  Deleted At any position first last

Computer Science Department Tree A Tree is a collection of elements called nodes. One of the node is distinguished as a root, along with a relation (“parenthood”) that places a hierarchical structure on the nodes. Root