SlideShare a Scribd company logo
Data Structures and File
Organization
Dennis B. Gajo, MIT
Professor,
University of Mindanao
dennis.gajo@gmail.com
Learning Objectives
 Compare and contrast the various
levels of data types
 Understand the concept of abstraction
 Distinguish the different forms of data
types
 Appreciate the benefits of abstraction
through abstract data types
Intro to data structures and
abstract data types
 What is abstraction?
 What are the attributes of a variable?
 What is an abstract data type (ADT)?
 The forms of data types
 The levels of data types
 Benefits of data abstraction through
ADTs
Intro to data structures and
abstract data types
 Abstraction
 The ability to view something as a high-level
object while temporarily ignoring the enormous
amount of underlying detail associated with that
object
 Viewing something only in terms of its external
appearance, without regard to its internal
implementation
 It gives attention to the WHAT rather than the
HOW
 Example :
 Organization, body organ, any object, a program
Intro to data structures and
abstract data types
 Procedural Abstraction
 Function declaration
 int addintegers(int a, int b);
 Use addintegers() to add integers a and b
and return the sum.
 Function call
 int x = addintegers(5,6);
 We don’t really care what happens inside the
function body. What we what to know is what
the function does and how to use it.
Intro to data structures and
abstract data types
 Benefits of abstraction
 Helps us understand complex systems
 Makes things easy to absorb and
manipulate
Intro to data structures and
abstract data types
 Abstraction to data structuring
 Seven attributes
 Name
 Address
 Value
 Lifetime
 Scope
 Type
 Size
Intro to data structures and
abstract data types
 Name
 A textual label used to refer to that variable/data
in the text of the program
 Address
 Denotes its location in memory
 Value
 Quantity which that variable represents
 Lifetime
 Interval of time during the execution of the
program in which the variable is said to exist
Intro to data structures and
abstract data types
 Scope
 Set of statements in the text of the source
program in which the variable is said to be
visible
 Type
 The set of values which can be assigned to the
value attribute and the set of operations which
can be performed on the variable
 Size
 The amount of storage required to represent the
variable
Intro to data structures and
abstract data types
 Variable : int x;
 Name x
 Address memory location
 Value assigned or input
 Lifetime run-time
 Scope block of code
 Type int
 Size 2 bytes
Intro to data structures and
abstract data types
 Data type hierarchy – three levels
 Hardware data types
 Directly supported by the hardware
 Integers, float, characters
 Virtual data types
 Do not actually exist in the sense of being
directly represented by the hardware
 The compiler creates these data types
 Arrays, structures, sets, and pointers
Intro to data structures and
abstract data types
 Abstract data types (ADTs)
 Created by programmers to solve a given
problem: user-defined
 Defined only in terms of the operations
that may be performed on them
 Frees programmers from the limits
imposed by a given programming
language regardless of how interesting or
powerful that language might be
Intro to data structures and
abstract data types
 ADT specifications : four factors
 Domain of values
 Data type of components
 Structural relationship between
components
 Operations on the ADT
ADT Specification
 Domain of values
 Set of values that may be assigned to
variables of this type
 Forms of data type
 Atomic / Simple
 Domain of values is made up of non-
decomposable or primitive elements
 Composite / Structured
 Values can be further divided into elements
called components
 Also called data structure
ADT Specification
 Data Structure
 An aggregation of atomic and composite data
types into a set with defined relationships.
 In other words, a data structure is:
 A combination of elements each of which is either a
data type or another data structure
 A set of associations or relationships (structure)
involving the combined elements.
ADT Specification
 Data type of components (structured)
 What types of data this ADT will contain?
 All integers? All floats? All characters? Mixed?
 Structural relationship of the components
(structured)
 What type of structural relationship should the
components have?
 Should the first element be accessed last? Should
the last element be accessed first? Should an
element be connected to the other elements?
ADT Specification
 Operations on the ADT
 What are the things that the ADT can do?
 This is the most important step in the ADT design
process.
 The operations are the only ones we will be able to
use.
 A data structure must be complete – that is, the
design must include all operations needed to utilize
fully the capabilities of the ADT.
Properties of an ADT
 Data encapsulation
 A process of packaging together a collection of
data values together with the operations on those
values.
 Sample – integer
 Values (-maxint to +maxint)
 Operations (+, -, *, /)
 Information hiding
 Masking the internal implementation of the ADT
so that users do not have to know the messy /
gory details of the ADT specification.
 ONLY the OPERATIONS are accessible to the
user.
Benefits of data abstraction
through ADTs
 Security and software integrity
 Programmer controls access to all resources,
guaranteeing that no improper, illegal, or
potentially dangerous operations can be carried
out
 Maintainability
 External module is independent of the
underlying implementation
 Flexible
 Cost-effective
Benefits of data abstraction
through ADTs
 Sharing and reusability of software
 Easy to import through data
encapsulation
 Code sharing improves productivity
 Cost-effective
 Intellectual manageability
 Simplify things
 Focus on the bigger picture
Ad

More Related Content

What's hot (20)

Databases: Normalisation
Databases: NormalisationDatabases: Normalisation
Databases: Normalisation
Damian T. Gordon
 
UML Diagrams
UML DiagramsUML Diagrams
UML Diagrams
Kartik Raghuvanshi
 
Distributed database
Distributed databaseDistributed database
Distributed database
ReachLocal Services India
 
Chapter-7 Relational Calculus
Chapter-7 Relational CalculusChapter-7 Relational Calculus
Chapter-7 Relational Calculus
Kunal Anand
 
Structure of dbms
Structure of dbmsStructure of dbms
Structure of dbms
Megha yadav
 
Ooad
OoadOoad
Ooad
Hari Aryal
 
database recovery techniques
database recovery techniques database recovery techniques
database recovery techniques
Kalhan Liyanage
 
Demand paging
Demand pagingDemand paging
Demand paging
Trinity Dwarka
 
Query processing in Distributed Database System
Query processing in Distributed Database SystemQuery processing in Distributed Database System
Query processing in Distributed Database System
Meghaj Mallick
 
Database System Architectures
Database System ArchitecturesDatabase System Architectures
Database System Architectures
Information Technology
 
Types of attributes (160210107054)
Types of attributes  (160210107054)Types of attributes  (160210107054)
Types of attributes (160210107054)
ajay_483
 
Functional dependencies and normalization
Functional dependencies and normalizationFunctional dependencies and normalization
Functional dependencies and normalization
daxesh chauhan
 
Lec 7 query processing
Lec 7 query processingLec 7 query processing
Lec 7 query processing
Md. Mashiur Rahman
 
directory structure and file system mounting
directory structure and file system mountingdirectory structure and file system mounting
directory structure and file system mounting
rajshreemuthiah
 
Distributed DBMS - Unit 6 - Query Processing
Distributed DBMS - Unit 6 - Query ProcessingDistributed DBMS - Unit 6 - Query Processing
Distributed DBMS - Unit 6 - Query Processing
Gyanmanjari Institute Of Technology
 
Object Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLObject Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UML
Malek Sumaiya
 
Object Oriented Design
Object Oriented Design Object Oriented Design
Object Oriented Design
DivyaSure
 
DBMS Integrity rule
DBMS Integrity ruleDBMS Integrity rule
DBMS Integrity rule
GirdharRatne
 
Characteristic of dabase approach
Characteristic of dabase approachCharacteristic of dabase approach
Characteristic of dabase approach
Luina Pani
 
Integrity Constraints
Integrity ConstraintsIntegrity Constraints
Integrity Constraints
Megha yadav
 
Chapter-7 Relational Calculus
Chapter-7 Relational CalculusChapter-7 Relational Calculus
Chapter-7 Relational Calculus
Kunal Anand
 
Structure of dbms
Structure of dbmsStructure of dbms
Structure of dbms
Megha yadav
 
database recovery techniques
database recovery techniques database recovery techniques
database recovery techniques
Kalhan Liyanage
 
Query processing in Distributed Database System
Query processing in Distributed Database SystemQuery processing in Distributed Database System
Query processing in Distributed Database System
Meghaj Mallick
 
Types of attributes (160210107054)
Types of attributes  (160210107054)Types of attributes  (160210107054)
Types of attributes (160210107054)
ajay_483
 
Functional dependencies and normalization
Functional dependencies and normalizationFunctional dependencies and normalization
Functional dependencies and normalization
daxesh chauhan
 
directory structure and file system mounting
directory structure and file system mountingdirectory structure and file system mounting
directory structure and file system mounting
rajshreemuthiah
 
Object Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLObject Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UML
Malek Sumaiya
 
Object Oriented Design
Object Oriented Design Object Oriented Design
Object Oriented Design
DivyaSure
 
DBMS Integrity rule
DBMS Integrity ruleDBMS Integrity rule
DBMS Integrity rule
GirdharRatne
 
Characteristic of dabase approach
Characteristic of dabase approachCharacteristic of dabase approach
Characteristic of dabase approach
Luina Pani
 
Integrity Constraints
Integrity ConstraintsIntegrity Constraints
Integrity Constraints
Megha yadav
 

Viewers also liked (20)

03 data abstraction
03 data abstraction03 data abstraction
03 data abstraction
Opas Kaewtai
 
Degrees of data abstraction
Degrees of data abstractionDegrees of data abstraction
Degrees of data abstraction
Mary May Porto
 
บทที่ 2 สถาปัตยกรรม
บทที่ 2 สถาปัตยกรรมบทที่ 2 สถาปัตยกรรม
บทที่ 2 สถาปัตยกรรม
PrinceStorm Nueng
 
Data abstraction the walls
Data abstraction the wallsData abstraction the walls
Data abstraction the walls
Hoang Nguyen
 
Oracle data capture c dc
Oracle data capture c dcOracle data capture c dc
Oracle data capture c dc
Amit Sharma
 
2CPP14 - Abstraction
2CPP14 - Abstraction2CPP14 - Abstraction
2CPP14 - Abstraction
Michael Heron
 
Abstraction
AbstractionAbstraction
Abstraction
Rachel Hayes
 
295 - Abstraction
295 - Abstraction295 - Abstraction
295 - Abstraction
mireille 30100
 
Data capture
Data captureData capture
Data capture
Rohit K.
 
Database design
Database designDatabase design
Database design
baabtra.com - No. 1 supplier of quality freshers
 
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูลบทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
ครูสม ฟาร์มมะนาว
 
What is Data Capture
What is Data CaptureWhat is Data Capture
What is Data Capture
Chris Riley ☁
 
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูลบทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
ครูสม ฟาร์มมะนาว
 
Data capture
Data captureData capture
Data capture
kmodasia
 
Data structure,abstraction,abstract data type,static and dynamic,time and spa...
Data structure,abstraction,abstract data type,static and dynamic,time and spa...Data structure,abstraction,abstract data type,static and dynamic,time and spa...
Data structure,abstraction,abstract data type,static and dynamic,time and spa...
Hassan Ahmed
 
Abstract data types
Abstract data typesAbstract data types
Abstract data types
Poojith Chowdhary
 
Abstract Data Types
Abstract Data TypesAbstract Data Types
Abstract Data Types
Reggie Niccolo Santos
 
Slide 3 data abstraction & 3 schema
Slide 3 data abstraction & 3 schemaSlide 3 data abstraction & 3 schema
Slide 3 data abstraction & 3 schema
Visakh V
 
CSCI 383 Lecture 3 and 4: Abstraction
CSCI 383 Lecture 3 and 4: AbstractionCSCI 383 Lecture 3 and 4: Abstraction
CSCI 383 Lecture 3 and 4: Abstraction
JI Ruan
 
Abstracts & abstracting
Abstracts & abstractingAbstracts & abstracting
Abstracts & abstracting
Ime Amor Mortel
 
03 data abstraction
03 data abstraction03 data abstraction
03 data abstraction
Opas Kaewtai
 
Degrees of data abstraction
Degrees of data abstractionDegrees of data abstraction
Degrees of data abstraction
Mary May Porto
 
บทที่ 2 สถาปัตยกรรม
บทที่ 2 สถาปัตยกรรมบทที่ 2 สถาปัตยกรรม
บทที่ 2 สถาปัตยกรรม
PrinceStorm Nueng
 
Data abstraction the walls
Data abstraction the wallsData abstraction the walls
Data abstraction the walls
Hoang Nguyen
 
Oracle data capture c dc
Oracle data capture c dcOracle data capture c dc
Oracle data capture c dc
Amit Sharma
 
2CPP14 - Abstraction
2CPP14 - Abstraction2CPP14 - Abstraction
2CPP14 - Abstraction
Michael Heron
 
Data capture
Data captureData capture
Data capture
Rohit K.
 
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูลบทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
ครูสม ฟาร์มมะนาว
 
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูลบทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
บทที่ 2 สถาปัตยกรรมและแบบจำลองฐานข้อมูล
ครูสม ฟาร์มมะนาว
 
Data capture
Data captureData capture
Data capture
kmodasia
 
Data structure,abstraction,abstract data type,static and dynamic,time and spa...
Data structure,abstraction,abstract data type,static and dynamic,time and spa...Data structure,abstraction,abstract data type,static and dynamic,time and spa...
Data structure,abstraction,abstract data type,static and dynamic,time and spa...
Hassan Ahmed
 
Slide 3 data abstraction & 3 schema
Slide 3 data abstraction & 3 schemaSlide 3 data abstraction & 3 schema
Slide 3 data abstraction & 3 schema
Visakh V
 
CSCI 383 Lecture 3 and 4: Abstraction
CSCI 383 Lecture 3 and 4: AbstractionCSCI 383 Lecture 3 and 4: Abstraction
CSCI 383 Lecture 3 and 4: Abstraction
JI Ruan
 
Ad

Similar to Introduction to Data Abstraction (20)

Introduction To Data Structures.ppt
Introduction To Data Structures.pptIntroduction To Data Structures.ppt
Introduction To Data Structures.ppt
NALESVPMEngg
 
Chapter 1 - Introduction to Data Structure.ppt
Chapter 1 - Introduction to Data Structure.pptChapter 1 - Introduction to Data Structure.ppt
Chapter 1 - Introduction to Data Structure.ppt
NORSHADILAAHMADBADEL
 
DSA(Lec-1,2,3) For C++ Introduction for basics
DSA(Lec-1,2,3) For C++ Introduction for basicsDSA(Lec-1,2,3) For C++ Introduction for basics
DSA(Lec-1,2,3) For C++ Introduction for basics
x28tjyi81j
 
Lesson 1 - Data Structures and Algorithms Overview.pdf
Lesson 1 - Data Structures and Algorithms Overview.pdfLesson 1 - Data Structures and Algorithms Overview.pdf
Lesson 1 - Data Structures and Algorithms Overview.pdf
LeandroJrErcia
 
Introduction to Data Structure.pptx
Introduction to Data Structure.pptxIntroduction to Data Structure.pptx
Introduction to Data Structure.pptx
MouDhara1
 
data structures and its importance
 data structures and its importance  data structures and its importance
data structures and its importance
Anaya Zafar
 
Lecture 01
Lecture 01Lecture 01
Lecture 01
Akhtarzeb Khan
 
Lecture_1_Introduction to Data Structures and Algorithm.pptx
Lecture_1_Introduction to Data Structures and Algorithm.pptxLecture_1_Introduction to Data Structures and Algorithm.pptx
Lecture_1_Introduction to Data Structures and Algorithm.pptx
mueedmughal88
 
data structures and algorithm Cha 1and 2.doc
data structures and algorithm Cha 1and 2.docdata structures and algorithm Cha 1and 2.doc
data structures and algorithm Cha 1and 2.doc
ephremmulu486
 
INTRODUCTION TO DATA STRUCTURE & ABSTRACT DATA TYPE.pptx
INTRODUCTION TO  DATA STRUCTURE & ABSTRACT DATA TYPE.pptxINTRODUCTION TO  DATA STRUCTURE & ABSTRACT DATA TYPE.pptx
INTRODUCTION TO DATA STRUCTURE & ABSTRACT DATA TYPE.pptx
talhaarif554
 
Introduction to Data Structures for CS.pptx
Introduction to Data Structures for CS.pptxIntroduction to Data Structures for CS.pptx
Introduction to Data Structures for CS.pptx
eduardocehenmu
 
DATA STRUCTURES, ADTS INTRO lecture .pptx
DATA STRUCTURES, ADTS INTRO lecture .pptxDATA STRUCTURES, ADTS INTRO lecture .pptx
DATA STRUCTURES, ADTS INTRO lecture .pptx
ssuser4302bb
 
Introduction to Data Structures
Introduction to Data StructuresIntroduction to Data Structures
Introduction to Data Structures
Amar Jukuntla
 
ADT.pptx
ADT.pptxADT.pptx
ADT.pptx
AshimaAggarwal26
 
Algo>Abstract data type
Algo>Abstract data typeAlgo>Abstract data type
Algo>Abstract data type
Ain-ul-Moiz Khawaja
 
Data Structures & Algorithms
Data Structures & AlgorithmsData Structures & Algorithms
Data Structures & Algorithms
Ain-ul-Moiz Khawaja
 
DSD Unit 1 Abstract Data Type data structures design notes.pptx
DSD Unit 1 Abstract Data Type data structures design notes.pptxDSD Unit 1 Abstract Data Type data structures design notes.pptx
DSD Unit 1 Abstract Data Type data structures design notes.pptx
yuvaraniit
 
Data structure
Data structureData structure
Data structure
Mohd Arif
 
data types.pptx
data types.pptxdata types.pptx
data types.pptx
FatimaGraceApinan
 
Iare ds lecture_notes_2
Iare ds lecture_notes_2Iare ds lecture_notes_2
Iare ds lecture_notes_2
RajSingh734307
 
Introduction To Data Structures.ppt
Introduction To Data Structures.pptIntroduction To Data Structures.ppt
Introduction To Data Structures.ppt
NALESVPMEngg
 
Chapter 1 - Introduction to Data Structure.ppt
Chapter 1 - Introduction to Data Structure.pptChapter 1 - Introduction to Data Structure.ppt
Chapter 1 - Introduction to Data Structure.ppt
NORSHADILAAHMADBADEL
 
DSA(Lec-1,2,3) For C++ Introduction for basics
DSA(Lec-1,2,3) For C++ Introduction for basicsDSA(Lec-1,2,3) For C++ Introduction for basics
DSA(Lec-1,2,3) For C++ Introduction for basics
x28tjyi81j
 
Lesson 1 - Data Structures and Algorithms Overview.pdf
Lesson 1 - Data Structures and Algorithms Overview.pdfLesson 1 - Data Structures and Algorithms Overview.pdf
Lesson 1 - Data Structures and Algorithms Overview.pdf
LeandroJrErcia
 
Introduction to Data Structure.pptx
Introduction to Data Structure.pptxIntroduction to Data Structure.pptx
Introduction to Data Structure.pptx
MouDhara1
 
data structures and its importance
 data structures and its importance  data structures and its importance
data structures and its importance
Anaya Zafar
 
Lecture_1_Introduction to Data Structures and Algorithm.pptx
Lecture_1_Introduction to Data Structures and Algorithm.pptxLecture_1_Introduction to Data Structures and Algorithm.pptx
Lecture_1_Introduction to Data Structures and Algorithm.pptx
mueedmughal88
 
data structures and algorithm Cha 1and 2.doc
data structures and algorithm Cha 1and 2.docdata structures and algorithm Cha 1and 2.doc
data structures and algorithm Cha 1and 2.doc
ephremmulu486
 
INTRODUCTION TO DATA STRUCTURE & ABSTRACT DATA TYPE.pptx
INTRODUCTION TO  DATA STRUCTURE & ABSTRACT DATA TYPE.pptxINTRODUCTION TO  DATA STRUCTURE & ABSTRACT DATA TYPE.pptx
INTRODUCTION TO DATA STRUCTURE & ABSTRACT DATA TYPE.pptx
talhaarif554
 
Introduction to Data Structures for CS.pptx
Introduction to Data Structures for CS.pptxIntroduction to Data Structures for CS.pptx
Introduction to Data Structures for CS.pptx
eduardocehenmu
 
DATA STRUCTURES, ADTS INTRO lecture .pptx
DATA STRUCTURES, ADTS INTRO lecture .pptxDATA STRUCTURES, ADTS INTRO lecture .pptx
DATA STRUCTURES, ADTS INTRO lecture .pptx
ssuser4302bb
 
Introduction to Data Structures
Introduction to Data StructuresIntroduction to Data Structures
Introduction to Data Structures
Amar Jukuntla
 
DSD Unit 1 Abstract Data Type data structures design notes.pptx
DSD Unit 1 Abstract Data Type data structures design notes.pptxDSD Unit 1 Abstract Data Type data structures design notes.pptx
DSD Unit 1 Abstract Data Type data structures design notes.pptx
yuvaraniit
 
Data structure
Data structureData structure
Data structure
Mohd Arif
 
Iare ds lecture_notes_2
Iare ds lecture_notes_2Iare ds lecture_notes_2
Iare ds lecture_notes_2
RajSingh734307
 
Ad

Recently uploaded (20)

Digital Technologies for Culture, Arts and Heritage: Insights from Interdisci...
Digital Technologies for Culture, Arts and Heritage: Insights from Interdisci...Digital Technologies for Culture, Arts and Heritage: Insights from Interdisci...
Digital Technologies for Culture, Arts and Heritage: Insights from Interdisci...
Vasileios Komianos
 
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
SOFTTECHHUB
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
AI and Meaningful Work by Pablo Fernández Vallejo
AI and Meaningful Work by Pablo Fernández VallejoAI and Meaningful Work by Pablo Fernández Vallejo
AI and Meaningful Work by Pablo Fernández Vallejo
UXPA Boston
 
SQL Database Design For Developers at PhpTek 2025.pptx
SQL Database Design For Developers at PhpTek 2025.pptxSQL Database Design For Developers at PhpTek 2025.pptx
SQL Database Design For Developers at PhpTek 2025.pptx
Scott Keck-Warren
 
Best 10 Free AI Character Chat Platforms
Best 10 Free AI Character Chat PlatformsBest 10 Free AI Character Chat Platforms
Best 10 Free AI Character Chat Platforms
Soulmaite
 
Right to liberty and security of a person.pdf
Right to liberty and security of a person.pdfRight to liberty and security of a person.pdf
Right to liberty and security of a person.pdf
danielbraico197
 
Secondary Storage for a microcontroller system
Secondary Storage for a microcontroller systemSecondary Storage for a microcontroller system
Secondary Storage for a microcontroller system
fizarcse
 
Dark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanizationDark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanization
Jakub Šimek
 
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
ICT Frame Magazine Pvt. Ltd.
 
Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
UXPA Boston
 
Accommodating Neurodiverse Users Online (Global Accessibility Awareness Day 2...
Accommodating Neurodiverse Users Online (Global Accessibility Awareness Day 2...Accommodating Neurodiverse Users Online (Global Accessibility Awareness Day 2...
Accommodating Neurodiverse Users Online (Global Accessibility Awareness Day 2...
User Vision
 
DNF 2.0 Implementations Challenges in Nepal
DNF 2.0 Implementations Challenges in NepalDNF 2.0 Implementations Challenges in Nepal
DNF 2.0 Implementations Challenges in Nepal
ICT Frame Magazine Pvt. Ltd.
 
Scientific Large Language Models in Multi-Modal Domains
Scientific Large Language Models in Multi-Modal DomainsScientific Large Language Models in Multi-Modal Domains
Scientific Large Language Models in Multi-Modal Domains
syedanidakhader1
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
UiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptx
UiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptxUiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptx
UiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptx
anabulhac
 
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More MachinesRefactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Leon Anavi
 
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Gary Arora
 
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Alan Dix
 
Building Connected Agents: An Overview of Google's ADK and A2A Protocol
Building Connected Agents:  An Overview of Google's ADK and A2A ProtocolBuilding Connected Agents:  An Overview of Google's ADK and A2A Protocol
Building Connected Agents: An Overview of Google's ADK and A2A Protocol
Suresh Peiris
 
Digital Technologies for Culture, Arts and Heritage: Insights from Interdisci...
Digital Technologies for Culture, Arts and Heritage: Insights from Interdisci...Digital Technologies for Culture, Arts and Heritage: Insights from Interdisci...
Digital Technologies for Culture, Arts and Heritage: Insights from Interdisci...
Vasileios Komianos
 
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
SOFTTECHHUB
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
AI and Meaningful Work by Pablo Fernández Vallejo
AI and Meaningful Work by Pablo Fernández VallejoAI and Meaningful Work by Pablo Fernández Vallejo
AI and Meaningful Work by Pablo Fernández Vallejo
UXPA Boston
 
SQL Database Design For Developers at PhpTek 2025.pptx
SQL Database Design For Developers at PhpTek 2025.pptxSQL Database Design For Developers at PhpTek 2025.pptx
SQL Database Design For Developers at PhpTek 2025.pptx
Scott Keck-Warren
 
Best 10 Free AI Character Chat Platforms
Best 10 Free AI Character Chat PlatformsBest 10 Free AI Character Chat Platforms
Best 10 Free AI Character Chat Platforms
Soulmaite
 
Right to liberty and security of a person.pdf
Right to liberty and security of a person.pdfRight to liberty and security of a person.pdf
Right to liberty and security of a person.pdf
danielbraico197
 
Secondary Storage for a microcontroller system
Secondary Storage for a microcontroller systemSecondary Storage for a microcontroller system
Secondary Storage for a microcontroller system
fizarcse
 
Dark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanizationDark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanization
Jakub Šimek
 
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
ICT Frame Magazine Pvt. Ltd.
 
Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
Longitudinal Benchmark: A Real-World UX Case Study in Onboarding by Linda Bor...
UXPA Boston
 
Accommodating Neurodiverse Users Online (Global Accessibility Awareness Day 2...
Accommodating Neurodiverse Users Online (Global Accessibility Awareness Day 2...Accommodating Neurodiverse Users Online (Global Accessibility Awareness Day 2...
Accommodating Neurodiverse Users Online (Global Accessibility Awareness Day 2...
User Vision
 
Scientific Large Language Models in Multi-Modal Domains
Scientific Large Language Models in Multi-Modal DomainsScientific Large Language Models in Multi-Modal Domains
Scientific Large Language Models in Multi-Modal Domains
syedanidakhader1
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
UiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptx
UiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptxUiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptx
UiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptx
anabulhac
 
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More MachinesRefactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Leon Anavi
 
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Gary Arora
 
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Alan Dix
 
Building Connected Agents: An Overview of Google's ADK and A2A Protocol
Building Connected Agents:  An Overview of Google's ADK and A2A ProtocolBuilding Connected Agents:  An Overview of Google's ADK and A2A Protocol
Building Connected Agents: An Overview of Google's ADK and A2A Protocol
Suresh Peiris
 

Introduction to Data Abstraction

  • 1. Data Structures and File Organization Dennis B. Gajo, MIT Professor, University of Mindanao dennis.gajo@gmail.com
  • 2. Learning Objectives  Compare and contrast the various levels of data types  Understand the concept of abstraction  Distinguish the different forms of data types  Appreciate the benefits of abstraction through abstract data types
  • 3. Intro to data structures and abstract data types  What is abstraction?  What are the attributes of a variable?  What is an abstract data type (ADT)?  The forms of data types  The levels of data types  Benefits of data abstraction through ADTs
  • 4. Intro to data structures and abstract data types  Abstraction  The ability to view something as a high-level object while temporarily ignoring the enormous amount of underlying detail associated with that object  Viewing something only in terms of its external appearance, without regard to its internal implementation  It gives attention to the WHAT rather than the HOW  Example :  Organization, body organ, any object, a program
  • 5. Intro to data structures and abstract data types  Procedural Abstraction  Function declaration  int addintegers(int a, int b);  Use addintegers() to add integers a and b and return the sum.  Function call  int x = addintegers(5,6);  We don’t really care what happens inside the function body. What we what to know is what the function does and how to use it.
  • 6. Intro to data structures and abstract data types  Benefits of abstraction  Helps us understand complex systems  Makes things easy to absorb and manipulate
  • 7. Intro to data structures and abstract data types  Abstraction to data structuring  Seven attributes  Name  Address  Value  Lifetime  Scope  Type  Size
  • 8. Intro to data structures and abstract data types  Name  A textual label used to refer to that variable/data in the text of the program  Address  Denotes its location in memory  Value  Quantity which that variable represents  Lifetime  Interval of time during the execution of the program in which the variable is said to exist
  • 9. Intro to data structures and abstract data types  Scope  Set of statements in the text of the source program in which the variable is said to be visible  Type  The set of values which can be assigned to the value attribute and the set of operations which can be performed on the variable  Size  The amount of storage required to represent the variable
  • 10. Intro to data structures and abstract data types  Variable : int x;  Name x  Address memory location  Value assigned or input  Lifetime run-time  Scope block of code  Type int  Size 2 bytes
  • 11. Intro to data structures and abstract data types  Data type hierarchy – three levels  Hardware data types  Directly supported by the hardware  Integers, float, characters  Virtual data types  Do not actually exist in the sense of being directly represented by the hardware  The compiler creates these data types  Arrays, structures, sets, and pointers
  • 12. Intro to data structures and abstract data types  Abstract data types (ADTs)  Created by programmers to solve a given problem: user-defined  Defined only in terms of the operations that may be performed on them  Frees programmers from the limits imposed by a given programming language regardless of how interesting or powerful that language might be
  • 13. Intro to data structures and abstract data types  ADT specifications : four factors  Domain of values  Data type of components  Structural relationship between components  Operations on the ADT
  • 14. ADT Specification  Domain of values  Set of values that may be assigned to variables of this type  Forms of data type  Atomic / Simple  Domain of values is made up of non- decomposable or primitive elements  Composite / Structured  Values can be further divided into elements called components  Also called data structure
  • 15. ADT Specification  Data Structure  An aggregation of atomic and composite data types into a set with defined relationships.  In other words, a data structure is:  A combination of elements each of which is either a data type or another data structure  A set of associations or relationships (structure) involving the combined elements.
  • 16. ADT Specification  Data type of components (structured)  What types of data this ADT will contain?  All integers? All floats? All characters? Mixed?  Structural relationship of the components (structured)  What type of structural relationship should the components have?  Should the first element be accessed last? Should the last element be accessed first? Should an element be connected to the other elements?
  • 17. ADT Specification  Operations on the ADT  What are the things that the ADT can do?  This is the most important step in the ADT design process.  The operations are the only ones we will be able to use.  A data structure must be complete – that is, the design must include all operations needed to utilize fully the capabilities of the ADT.
  • 18. Properties of an ADT  Data encapsulation  A process of packaging together a collection of data values together with the operations on those values.  Sample – integer  Values (-maxint to +maxint)  Operations (+, -, *, /)  Information hiding  Masking the internal implementation of the ADT so that users do not have to know the messy / gory details of the ADT specification.  ONLY the OPERATIONS are accessible to the user.
  • 19. Benefits of data abstraction through ADTs  Security and software integrity  Programmer controls access to all resources, guaranteeing that no improper, illegal, or potentially dangerous operations can be carried out  Maintainability  External module is independent of the underlying implementation  Flexible  Cost-effective
  • 20. Benefits of data abstraction through ADTs  Sharing and reusability of software  Easy to import through data encapsulation  Code sharing improves productivity  Cost-effective  Intellectual manageability  Simplify things  Focus on the bigger picture
  翻译: