1 Data Structures CSC212. 2 Data Types & Data Structures Applications/programs read, store and operate on data. Finally output results. What is data?

Slides:



Advertisements
Similar presentations
Data Structures ADT List
Advertisements

Data Structure & Abstract Data Type
Chapter 3 DATA: TYPES, CLASSES, AND OBJECTS. Chapter 3 Data Abstraction Abstract data types allow you to work with data without concern for how the data.
1 DATA ABSTRACTION: USER DEFINED TYPES AND THE CLASS.
Arrays. What is an array An array is used to store a collection of data It is a collection of variables of the same type.
Chapter 7 User-Defined Methods. Chapter Objectives  Understand how methods are used in Java programming  Learn about standard (predefined) methods and.
Abstract Data Types Data abstraction, or abstract data types, is a programming methodology where one defines not only the data structure to be used, but.
CHAPTER 3 COLLECTIONS Abstract Data Types. 2 A data type consists of a set of values or elements, called its domain, and a set of operators acting on.
Prepared by Dr. Inayatullah Shah1 Data Structures CSC212.
1 Data Structures: Introduction CSC Data Types & Data Structures Applications/programs read data, store data temporarily, process it and finally.
Basic Definitions Data Structures: Data Structures: A data structure is a systematic way of organizing and accessing data. Or, It’s the logical relationship.
1 Type Type system for a programming language = –set of types AND – rules that specify how a typed program is allowed to behave Why? –to generate better.
Abstract Data Type (ADT). 2 An Abstract Data Type (ADT) is a data structure with a set of operations –Operations specify how the ADT behaves, but does.
INTRODUCTION TO DATA STRUCTURE. Topics To Be Discussed………………………. Meaning of Data Structure Classification of Data Structure Data Structure Operations.
1 The First Step Learning objectives write Java programs that display text on the screen. distinguish between the eight built-in scalar types of Java;
Data Structures 1- Course Syllabus. 2- Introduction about Data Structures.
Programming Languages
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.
By Nicholas Policelli An Introduction to Java. Basic Program Structure public class ClassName { public static void main(String[] args) { program statements.
Generic abstraction  Genericity  Generic classes  Generic procedures Programming Languages 3 © 2012 David A Watt, University of Glasgow.
Chap. 1 Classes, Types, and Objects. How Classes Are Declared [ ] class [extends ] [implements,, … ] { // class methods and instance variable definitions.
Data Design and Implementation. Definitions of Java TYPES Atomic or primitive type A data type whose elements are single, non-decomposable data items.
ABSTRACT DATA TYPES Data types, data structures, abstract data types, Java/C++ classes, C++ structs.
Cosc237/data structures1 Data Types Every data type has two characteristics: 1.Domain - set of all possible values 2.set of allowable operations Built-in.
CPSC 252 Concrete Data Types Page 1 Overview of Concrete Data Types There are two kinds of data types: Simple (or atomic) – represents a single data item.
1 Chapter Structured Types, Data Abstraction and Classes Dale/Weems.
An Introduction to Java – Part 1 Dylan Boltz. What is Java?  An object-oriented programming language  Developed and released by Sun in 1995  Designed.
Topic 1 Object Oriented Programming. 1-2 Objectives To review the concepts and terminology of object-oriented programming To discuss some features of.
Lecture4: Arrays Bohyung Han CSE, POSTECH CSED233: Data Structures (2014F)
Views of Data Data – nouns of programming world the objects that are manipulated information that is processed Humans like to group information Classes,
Java Language Basics By Keywords Keywords of Java are given below – abstract continue for new switch assert *** default goto * package.
Lab 1 Logbook ADT. OVERVIEW A monthly logbook consists of a set of entries, one for each day of the month.
Chapter 3 Collections. Objectives  Define the concepts and terminology related to collections  Explore the basic structures of the Java Collections.
Component 4: Introduction to Information and Computer Science Unit 5: Overview of Programming Languages, Including Basic Programming Concepts Lecture 3.
1 Introduction  Algorithms  Data structures  Abstract data types  Programming with lists and sets © 2008 David A Watt, University of Glasgow Algorithms.
Data Design and Implementation. Definitions Atomic or primitive type A data type whose elements are single, non-decomposable data items Composite type.
© 2007 Pearson Addison-Wesley. All rights reserved2-1 Character Strings A string of characters can be represented as a string literal by putting double.
CSC 142 F 1 CSC 142 References and Primitives. CSC 142 F 2 Review: references and primitives  Reference: the name of an object. The type of the object.
REEM ALMOTIRI Information Technology Department Majmaah University.
© 2006 Pearson Addison-Wesley. All rights reserved 1-1 Chapter 1 Review of Java Fundamentals.
A Introduction to Computing II Lecture 1: Java Review Fall Session 2000.
A data type in a programming language is a set of data with values having predefined characteristics.data The language usually specifies:  the range.
Lecture 1 Data Structures Shafay Shamail September 05, 2006.
ENEE150 – 0102 ANDREW GOFFIN Abstract Data Types.
Chapter 6. Character String Types It is one in which the values consists of sequences of characters. How to Define a variable contain a string? In a programming.
1 n Object Oriented Programming. 2 Introduction n procedure-oriented programming consists of writing a list of instructions and organizing these instructions.
1 Lecture # 2. * Introducing Programming with an Example * Identifiers, Variables, and Constants * Primitive Data Types * Byte, short, int, long, float,
CSC 243 – Java Programming, Spring, 2014 Week 4, Interfaces, Derived Classes, and Abstract Classes.
Object Oriented Programming Lecture 2: BallWorld.
CLASSES IN JAVA Primitive Types Example of a Class Allocating Objects of a Class Protecting Class data Constructors Static data and Static Methods.
Prof. I. J. Chung Data Structure #1 Professor I. J. Chung.
Introduction toData structures and Algorithms
Introduction to Computer Science / Procedural – 67130
Lecture 2: Data Types, Variables, Operators, and Expressions
Prepared by Dr. Inayatullah Shah
نوع داده هاي انتزاعي Abstract Data Types
Data Structures ADT List
Data Structures ADT List
An Introduction to Java – Part I, language basics
COMPUTER 2430 Object Oriented Programming and Data Structures I
Data Structures ADT List
Data Structures: Introduction
A Java Application public class Hello { public static void main(String [] args) { System.out.println("Hello, World!"); } } public class.
Introduction to Data Structure
A Java Application public class Hello { public static void main(String [] args) { System.out.println("Hello, World!"); } } public class.
Arrays in Java.
Data Structures: Abstract Data Types (ADTs)
Agenda Types and identifiers Practice Assignment Keywords in Java
Data Structures: Introduction
Introduction to java Part I By Shenglan Zhang.
Presentation transcript:

1 Data Structures CSC212

2 Data Types & Data Structures Applications/programs read, store and operate on data. Finally output results. What is data? Numbers, Characters, etc. Application/ Program Data

3 Data Types & Data Structures Data is classified into data types. e.g. char, float, int, etc. A data type is (i) a domain of allowed values and (ii) a set of operations on these values.

4 Data Types & Data Structures Examples Data TypeDomainOperations boolean0,1and, or, =, etc. charASCII=, <>, <, etc. integer-maxint to +maxint +, _, =, ==, <>, <, etc.

5 Data Types & Data Structures int i,j;  i, j can take only integer values and only integer operations can be carried out on i, j. Built-in types: defined within the language e.g. int,float, etc. User-defined types: defined and implemented by the user e.g. using typedef.

6 Data Types & Data Structures Simple Data types: also known as atomic data types  have no component parts. E.g. int, char, float, etc ‘a’

7 Data Types & Data Structures Structured Data types: can be broken into component parts. E.g. record, array, set, file, etc. Example: a student record. AHMAD 20 CSC Name Age Branch A Component part

8 Data Types & Data Structures A data structure is a data type whose values (i) can be decomposed into a set of component elements each of which is either simple (atomic) or another data structure (ii) include a structure involving the component parts.

9 Data Types & Data Structure Possible Structures: Set, Linear, Tree, Graph. SET LINEAR TREE GRAPH

10 Data Types & Data Structures What is the domain of a structured data type? Operations? Example: boolean Sample[3]; Domain 100

11 Data Types & Data Structures Example: Operations: Sample[0] = 1; C = Sample[1]; etc. Elements Structure Domain Operations Data Type/ Structure

12 Abstract Data Types (ADTs) Abstraction? Hides details, provides only the essentials. Example: an integer 165 = , procedures/subprograms, etc. Abstract Data Types (ADTs): Simple or structured data types whose implementation details are hidden…

13 ADTs Questions about data types: –(i) What values are in the domain? What operations can be performed on the values of a particular data type? –(ii) How is the data type represented? How are the operations implemented?

14 ADTs ADTs specification answers the ‘what’ questions. Done first. ADTs implementation answers the ‘how’ questions. Done after specification. Users & Implementers. Users of an ADT need only know the specification …. no implementation details.  advantage Programmer who implements ADT is concerned with..specification, representation, implementation.

15 ADTs Elements Structure OperationsDomain Specification Representation Implementation User of an ADT must only know this Implementer must know all these.

16 ADT: Example ADT String1 Specification: Elements: type char. Structure: elements (characters) are linearly arranged. Domain: type String, finite domain, there are 0 to 80 chars in a string, therefore … possible stings in the domain. Operations: 1.Procedure Append (S: String, c: char) Requires: length(S) < 80. Results: c is appended to the right end of S.

17 ADT: Example 2. Procedure Remove (S: String, c: char) Requires: length(S) > 0. Results: The rightmost character of S is removed and placed in c, S’s length decreases by Procedure MakeEmpty (S: String) Requires: Length(S) < 80. Results: all characters are removed. 4. Procedure Concatenate (S: String, R: String) Results: String R is concatenated to the right of string S, result placed into S. 5. Procedure Reverse (S: String) 6. Procedure Length (S: String, L: int) 7. Procedure Equal (S: String, R: String; flag: boolean) 8. Procedure GetChar (S: String, int i)

18 Note.. In Java the class construct is used to declare new data types. In Java operations are implemented as function members of classes or methods.

19 ADT String public class String1 extends Object { private char[] str; private int size; public String1 () { size = -1; str = new char[80]; } public void Append (char c) { size++; str[size] = c; } Implementation Representation

20 ADT String public char Remove (){ size--; return(str[size]); } public char GetChar(int i){ return(str[i]); } public void MakeEmpty (){ size = -1; } public int Length (){ return(size);}

21 ADT String public void Concatenate (String1 s){ for (int i = 0; i<=s.Length(); i++) { char c = s.GetChar(i); Append(c); } public boolean Equal (String1 s){ } public void Reverse () { }

22 Using ADT String import java.lang.*; public class Test { public static void main(String[] args) { String1 s = new String1(); String1 s1 = new String1(); System.out.println("Hello, World"); s.Append('a'); s1.Append('b'); s.Concatenate(s1); System.out.print(s.GetChar(0)); System.out.println(s.GetChar(1)); }