Presentation is loading. Please wait.

Presentation is loading. Please wait.

Maitrayee Mukerji. INPUT MEMORY PROCESS OUTPUT DATA INFO.

Similar presentations


Presentation on theme: "Maitrayee Mukerji. INPUT MEMORY PROCESS OUTPUT DATA INFO."— Presentation transcript:

1 Maitrayee Mukerji

2

3 INPUT MEMORY PROCESS OUTPUT DATA INFO

4  Representation of data and its associated operations  int or char is a simplest data structure  Systematic way of organizing or structuring a collection of data items  Array of names

5  How to structure information for efficient processing to solve a given problem given specific resource constraints  Measure effectiveness of solutions/ approaches to solve a given problem and determine the most appropriate one  Calculate tradeoffs/cost benefit (time & space) associated with different data structures

6  A data structure requires a certain amount of space for each data item it stores, a certain amount of time to perform a single basic operation (insert, delete, search), and a certain amount of programming effort.  Each problem has constraints on available space and time.  Each solution to a problem makes use of the basic operations in some relative proportion, and the data structure selection process must account for this.  Only after a careful analysis of your problem’s characteristics can you determine the best data structure for the task.

7  Analyze the problem to determine the basic operations that must be supported.  Examples of basic operations include inserting a data item into the data structure, deleting a data item from the data structure, and finding a specified data item.  Quantify the resource constraints for each operation.

8  Resource constraints on certain key operations normally drive the data structure selection process.  Are all data items inserted into the data structure at the beginning, or are insertions interspersed with other operations?  Can data items be deleted?  Are all data items processed in some well-defined order, or is search for specific data items allowed?  Select the data structure that best meets these requirements.

9  A simple model of bank supports opening of accounts, closing of accounts, and adding money or withdrawing money from accounts.

10  A company is developing a database system containing information about cities and towns in the India. There are many thousands of cities and towns, and the database program should allow users to find information about a particular place by name.  Users should also be able to find all places that match a particular value or range of values for attributes such as location or population size.

11  A type is a collection of values ◦ Boolean Type : true or false ◦ Simple Types Vs Aggregate/Composite types  A data type is a type together with a collection of operations to manipulate the type.  For example, an integer variable is a member of the integer data type.  Addition is an example of an operation on the integer data type.

12  An abstract data type (ADT) is the realization of a data type as a software component.  The interface of the ADT is defined in terms of a type and a set of operations on that type.  The behavior of each operation is determined by its inputs and outputs.

13  An ADT does not specify how the data type is implemented. These implementation details are hidden from the user of the ADT and protected from outside access, a concept referred to as encapsulation.  A data structure is the implementation for an ADT.

14  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.

15  In an object-oriented language, an ADT and its implementation together make up a class. ◦ Each operation associated with the ADT is implemented by a member function or method. ◦ The variables that define the space required by a data item are referred to as data members. ◦ An object is an instance of a class, that is, something that is created and takes up storage during the execution of a computer program.

16  The term “data structure” often refers to data stored in a computer’s main memory.  The related term file structure often refers to the organization of data on peripheral storage, such as a disk drive or CD-ROM.

17  A distinction should be made between the logical concept of a data type and its physical implementation in a computer program. ◦ LIST can be implemented using either arrays or linked list ◦ Array – “ambiguous” term – it can either refer to a data type or implementation

18

19  A problem is a task to be performed. ◦ often expressed in terms of inputs and matching outputs.  A problem definition should not include any constraints on how the problem is to be solved. ◦ The solution method should be developed only after the problem is precisely defined and thoroughly understood.

20  However, a problem definition should include constraints on the resources that may be consumed by any acceptable solution. ◦ For example, any computer program may use only the main memory and disk space available, and it must run in a “reasonable” amount of time.

21  An algorithm is a method or a process followed to solve a problem.  If the problem is viewed as a function, then an algorithm is an implementation for the function that transforms an input to the corresponding output.  A problem can be solved by many different algorithms. A given algorithm solves only one problem  Associated with each data structure are algorithms for manipulating the data,

22  It must be correct / gives intended output for specified inputs  It is composed of a series of concrete steps. ◦ Action specified by the step is completely understood and is doable  There can be no ambiguity as to which step will be performed next ◦ Conditional, Branching, Repetitions  It must terminate. In other words, it may not go into an infinite loop. ◦

23  A program is an instantiation of an algorithm in a computer programming language.

24  Each data structure and each algorithm has costs and benefits ◦ How to assess cost and benefit?  Related to costs and benefits is the notion of tradeoffs ◦ Time vs Speed

25  Programmers should know enough about common practice to avoid reinventing the wheel. ◦ Thus, programmers need to learn the commonly used data structures, their related algorithms, and the most frequently encountered design patterns found in programming.  Data structures follow needs. ◦ Programmers must learn to assess application needs first, then find a data structure with matching capabilities.

26  Chapter 1 on Clifford A. Shaffer (2011), A Practical Introduction to Data Structures and Algorithm Analysis Edition 3.1 (Java Version), Available at http://people.cs.vt.edu/˜shaffer/Book/


Download ppt "Maitrayee Mukerji. INPUT MEMORY PROCESS OUTPUT DATA INFO."

Similar presentations


Ads by Google