INTRODUCTION Data Structures. Why study data structures and algorithms? zPrograms solve problems zPrograms process information zInformation needs to be.

Slides:



Advertisements
Similar presentations
COMPSCI 105 S Principles of Computer Science 12 Abstract Data Type.
Advertisements

COEN 352 Data structures and Algorithms R. Dssouli.
© Janice Regan Problem-Solving Process 1. State the Problem (Problem Specification) 2. Analyze the problem: outline solution requirements and design.
INTRODUCTION COMPUTATIONAL MODELS. 2 What is Computer Science Sciences deal with building and studying models of real world objects /systems. What is.
Lecture 14 Go over midterm results Algorithms Efficiency More on prime numbers.
Abstract Data Types (ADT)
Chapter 1 Principles of Programming and Software Engineering.
Algorithms. Introduction Before writing a program: –Have a thorough understanding of the problem –Carefully plan an approach for solving it While writing.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
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.
Design and Analysis of Algorithms
Design & Analysis of Algorithms Introduction. Introduction Algorithms are the ideas behind computer programs. An algorithm is the thing which stays the.
Algorithm analysis and design Introduction to Algorithms week1
DCT 1123 PROBLEM SOLVING & ALGORITHMS INTRODUCTION TO PROGRAMMING.
What is Object-Oriented Programming?. Objects – Variables and Logic inside "Objects", not standalone code – Objects contain related variables and functions.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 27. Review UML dynamic view – State Diagrams.
Computer Concepts 2014 Chapter 12 Computer Programming.
Introduction to Algorithms By Mr. Venkatadri. M. Two Phases of Programming A typical programming task can be divided into two phases: Problem solving.
1 CS 350 Data Structures Chaminade University of Honolulu.
1 Life Cycle of Software Specification Design –Risk Analysis –Verification Coding Testing –Refining –Production Maintenance.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Lecture 6 Problem Solving: Algorithm Design & Analysis.
Design & Analysis of Algorithms Lecture 1 Introduction.
Data Structures Using C++1 Chapter 1 Software Engineering Principles and C++ Classes.
OBJECT-ORIENTED PROGRAMMING (OOP) WITH C++ Instructor: Dr. Hany H. Ammar Dept. of Electrical and Computer Engineering, WVU.
Data Structures and Algorithms Lecture 3 Instructor: Quratulain Date: 8 th September, 2009.
Chapter 1 Data Structures and Algorithms. Primary Goals Present commonly used data structures Present commonly used data structures Introduce the idea.
Algorithm Analysis CS 400/600 – Data Structures. Algorithm Analysis2 Abstract Data Types Abstract Data Type (ADT): a definition for a data type solely.
The basics of the programming process The development of programming languages to improve software development Programming languages that the average user.
Abstraction ADTs, Information Hiding and Encapsulation.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
CS 100 Introduction to Computing Seminar September 21, 2015.
Data Structures Using C++ 2E
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
OOP using C Abstract data types How to accomplish the task??? Requirements Details Input, output, process Specify each task in terms of input.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
1 CS 311 Data Structures. 2 Instructor Name : Vana Doufexi Office : 2-229, Ford Building Office hours: By appointment.
Data Structure Introduction Dr. Bernard Chen Ph.D. University of Central Arkansas Fall 2010.
Flowcharts C++ Lab. Algorithm An informal definition of an algorithm is: a step-by-step method for solving a problem or doing a task. Input data A step-by-step.
1 A Practical Introduction to Data Structures and Algorithm Analysis Chaminade University of Honolulu Department of Computer Science Text by Clifford Shaffer.
Chapter 2 Principles of Programming and Software Engineering.
1 Enhanced Class Design Introduction zWe now examine several features of class design and organization that can improve reusability and system elegance.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
BITS Pilani Pilani Campus Data Structure and Algorithms Design Dr. Maheswari Karthikeyan Lecture1.
Software. Introduction n A computer can’t do anything without a program of instructions. n A program is a set of instructions a computer carries out.
Introduction to Problem Solving Programming is a problem solving activity. When you write a program, you are actually writing an instruction for the computer.
Computer Systems Architecture Edited by Original lecture by Ian Sunley Areas: Computer users Basic topics What is a computer?
CS 1044 Introduction to Programming in C/C++. Hi, My Name is… David McPherson David McPherson 625 McBryde Hall 625 McBryde Hall
Prof. I. J. Chung Data Structure #1 Professor I. J. Chung.
南昌大学自动化系胡凌燕 1 Charpter 1 The data structures and algorithms (p3) There are often many approaches to solving a problem. How do we choose between them? 
Maitrayee Mukerji. INPUT MEMORY PROCESS OUTPUT DATA INFO.
Advanced Data Structures Lecture 1
Introduction toData structures and Algorithms
Principles of Programming & Software Engineering
The Design and Analysis of Algorithms
Principles of Programming and Software Engineering
Algorithm and Ambiguity
About the Presentations
Lecture 2 of Computer Science II
Object-Orientated Programming
CSE322 Recursive and Recursively enumerable sets
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING (OOP) & CONCEPTS
Algorithm and Ambiguity
Introduction to Computer Science for Majors II
Click to add Text Computers & Instructions. Computers are given instructions in the form of computer programs that are created through the development.
Algorithm: Word comes from Arabic Author Abū ‘Abdallāh Muḥammad ibn Mūsā al-Khwārizmī Algorism Algebra: Kitab al-Mukhtasar fi Hisab al-Jabr wal-Muqabala.
Ch. 1 Vocabulary Alice.
Presentation transcript:

INTRODUCTION Data Structures

Why study data structures and algorithms? zPrograms solve problems zPrograms process information zInformation needs to be organized ÕData structures zPrograms carry out tasks ÕAlgorithms zData structures and algorithms need to be correct and efficient

Terms zType – a collection of values zData Type – a type together with a collection of operations to manipulate the type zAbstract Data Type (ADT) – defines a data type solely in terms of a type and a set of operations on that type zData Structure – the physical implementation of the ADT

Data Structures and OOP Principles zData Structures are Objects zAbstraction (ability to distill a software system into its most basic parts) and Encapsulation (implementing the abstraction without revealing how is implemented) applies to Data Structures zInheritance and Polymorphism ÕData Structures are often “containers” and share similar operations

More terms zProblem – a function or an association of inputs with outputs. zAlgorithm – a recipe for solving a problem whose steps are concrete and unambiguous zProgram – an instantiation of an algorithm in a computer programming language

Properties of an algorithm zIt must be correct. zIt must be composed of a series of concrete steps. zThere has to be no ambiguity. zIt must be composed of a finite number of steps. zIt must terminate.