SlideShare a Scribd company logo
1 of 20
using Java
2015
Data Structure
Prepared by: Mahmoud Rafeek Al-farra
in Java
2. Introduction to data structure
mfarra.cst.ps www.fb.com/MahmoudRFarra
Contents
Big - Oh notation
Generic programming
Collection Classes
Applications of data structure
What is data structure ?
What is data structure ?
mfarra.cst.ps www.fb.com/MahmoudRFarra
 Data Structure:
 Abstract way to organize information.
 A collection of basic data types.
 Algorithm:
 Abstract way to perform computation tasks.
What is data structure ?
mfarra.cst.ps www.fb.com/MahmoudRFarra
 Classification of data structure:
Data
Structure
Structure
Linear
Non-Linear
Memory
Allocation
Static
Dynamic
Linear data structure
mfarra.cst.ps www.fb.com/MahmoudRFarra
Linked List
Stack
Queue
Non-Linear data structure
mfarra.cst.ps www.fb.com/MahmoudRFarra
Tree
Graph
Heap
Static memory allocation
mfarra.cst.ps www.fb.com/MahmoudRFarra
 Static memory allocation means the program must
obtain its space before the execution and can not
obtain more while or after execution.
 Example:
 array data structure
Dynamic memory allocation
mfarra.cst.ps www.fb.com/MahmoudRFarra
 The dynamic memory allocation is the ability for a
program to obtain more memory space at execution
time to hold new nodes and to release space no longer
needed.
 Dynamic data structures as:
 Array lists, Vectors
 Linked Lists
 Stacks, Queues
 Trees, Heaps
Applications of data structure
mfarra.cst.ps www.fb.com/MahmoudRFarra
 Priority Queue: in banks, restaurants, …
 Hash Tables: in banks for combining two or more
accounts for matching Social Security Numbers.
 Family Tree
 Country Map
 Queue of tasks
 Order of operations in computer
Generic programming
mfarra.cst.ps www.fb.com/MahmoudRFarra
 Generic programming refers to writing code that will
work for many types of data.
 Generics let you parameterize types.
 With this capability, you can define a class or a
method with generic types that the compiler can
replace with concrete types.
Generic programming
mfarra.cst.ps www.fb.com/MahmoudRFarra
 For example:
 Java defines a generic ArrayList class for
storing the elements of a generic type.
 From this generic class, you can create an
ArrayList object for holding strings and an
ArrayList object for holding numbers.
 Here, strings and numbers are concrete types
that replace the generic type.
Collections
mfarra.cst.ps www.fb.com/MahmoudRFarra
 A Collection is a data type that is capable of holding
a group of items.
 The Collection interface defines the common
operations for lists, vectors, stacks, queues, priority
queues, and sets.
 In Java, Collection classes can be implemented as a
class, along with methods to add, remove, and
examine items.
 Think about a bag
Collection Classes
mfarra.cst.ps www.fb.com/MahmoudRFarra
 A bag can be put in its initial state, which is an empty
bag.
 Numbers can be added into the bag.
 You may check how many occurrences of a certain
number are in the bag.
 Numbers can be removed from the bag.
 You can check how many numbers are in the bag.
All the interfaces and classes defined in the Java Collections
Framework are grouped in the java.util package.
Collection Classes
mfarra.cst.ps www.fb.com/MahmoudRFarra
Examples
Collection classes in Java
Array List
Stack
Queue
List
Linked List
Heap
Sets store a group of nonduplicate elements.
Lists store an ordered collection of elements.
Stacks store objects that are processed in a last-in, first-out fashion.
Queues store objects that are processed in a first-in, first-out fashion.
PriorityQueues store objects that are processed in the order of their priorities.
Collection Classes
mfarra.cst.ps www.fb.com/MahmoudRFarra
Collection Test
mfarra.cst.ps www.fb.com/MahmoudRFarra
import java.util.*;
public class TestCollection {
public static void main(String[] args) {
ArrayList<String> collection1 = new ArrayList<>();
collection1.add("New York");
collection1.add("Atlanta");
System.out.println("A list of cities in collection1:");
System.out.println(collection1);
System.out.println("nIs Dallas in collection1? "+ collection1.contains("Dallas"));
collection1.remove("Dallas");
System.out.println("n" + collection1.size() + " cities are in collection1 now");
Collection<String> collection2 = new ArrayList<>();
collection2.add("Seattle");
collection2.add("Portland");
System.out.println("nA list of cities in collection2:");
System.out.println(collection2);
Collection Test
mfarra.cst.ps www.fb.com/MahmoudRFarra
The Collection interface contains the methods for manipulating the elements
in a collection.
Big - Oh notation
mfarra.cst.ps www.fb.com/MahmoudRFarra
 We might be satisfied with evaluating the performance
or complexity of data structures by precisely counting
the number of statements executed or objects
referenced.
 We adopt special notation to define upper bounds
and lower bounds on functions.
 In CS, usually the functions we are bounding are
running times, memory requirements.
Big - Oh notation
mfarra.cst.ps www.fb.com/MahmoudRFarra
using Java
2015
FB: M a h m o u d R F a r r a
YouTube: M a h m o u d R F a r
SlidesShare: mralfarra
Thank you

More Related Content

What's hot

Data structure and its types
Data structure and its typesData structure and its types
Data structure and its types
Navtar Sidhu Brar
 
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
 
Data structures (introduction)
 Data structures (introduction) Data structures (introduction)
Data structures (introduction)
Arvind Devaraj
 

What's hot (20)

Chapter 3: basic sorting algorithms data structure
Chapter 3: basic sorting algorithms data structureChapter 3: basic sorting algorithms data structure
Chapter 3: basic sorting algorithms data structure
 
Chapter 5: linked list data structure
Chapter 5: linked list data structureChapter 5: linked list data structure
Chapter 5: linked list data structure
 
Presentation on Elementary data structures
Presentation on Elementary data structuresPresentation on Elementary data structures
Presentation on Elementary data structures
 
Presentation on queue
Presentation on queuePresentation on queue
Presentation on queue
 
Datastructure
DatastructureDatastructure
Datastructure
 
Data structure and its types
Data structure and its typesData structure and its types
Data structure and its types
 
Data structures
Data structuresData structures
Data structures
 
Array vs array list
Array vs array listArray vs array list
Array vs array list
 
Introduction to data structure
Introduction to data structureIntroduction to data structure
Introduction to data structure
 
Bca ii dfs u-1 introduction to data structure
Bca ii dfs u-1 introduction to data structureBca ii dfs u-1 introduction to data structure
Bca ii dfs u-1 introduction to data structure
 
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...
 
Data structures (introduction)
 Data structures (introduction) Data structures (introduction)
Data structures (introduction)
 
Data structure & its types
Data structure & its typesData structure & its types
Data structure & its types
 
Data Structures - Lecture 9 [Stack & Queue using Linked List]
 Data Structures - Lecture 9 [Stack & Queue using Linked List] Data Structures - Lecture 9 [Stack & Queue using Linked List]
Data Structures - Lecture 9 [Stack & Queue using Linked List]
 
Data Structure In C#
Data Structure In C#Data Structure In C#
Data Structure In C#
 
Queue Data Structure
Queue Data StructureQueue Data Structure
Queue Data Structure
 
Introduction to data structure
Introduction to data structure Introduction to data structure
Introduction to data structure
 
L11 array list
L11 array listL11 array list
L11 array list
 
Mca ii dfs u-1 introduction to data structure
Mca ii dfs u-1 introduction to data structureMca ii dfs u-1 introduction to data structure
Mca ii dfs u-1 introduction to data structure
 
Data Structure -List Stack Queue
Data Structure -List Stack QueueData Structure -List Stack Queue
Data Structure -List Stack Queue
 

Similar to 2 introduction to data structure

Lab 1 Recursion  Introduction   Tracery (tracery.io.docx
Lab 1 Recursion  Introduction   Tracery (tracery.io.docxLab 1 Recursion  Introduction   Tracery (tracery.io.docx
Lab 1 Recursion  Introduction   Tracery (tracery.io.docx
smile790243
 
Advanced Java - UNIT 3.pptx
Advanced Java - UNIT 3.pptxAdvanced Java - UNIT 3.pptx
Advanced Java - UNIT 3.pptx
eyemitra1
 

Similar to 2 introduction to data structure (20)

Java Collections Tutorials
Java Collections TutorialsJava Collections Tutorials
Java Collections Tutorials
 
Lecture 9
Lecture 9Lecture 9
Lecture 9
 
2 a stacks
2 a stacks2 a stacks
2 a stacks
 
Lab 1 Recursion  Introduction   Tracery (tracery.io.docx
Lab 1 Recursion  Introduction   Tracery (tracery.io.docxLab 1 Recursion  Introduction   Tracery (tracery.io.docx
Lab 1 Recursion  Introduction   Tracery (tracery.io.docx
 
Lecture 4 - Object Interaction and Collections
Lecture 4 - Object Interaction and CollectionsLecture 4 - Object Interaction and Collections
Lecture 4 - Object Interaction and Collections
 
Collections generic
Collections genericCollections generic
Collections generic
 
Java mcq
Java mcqJava mcq
Java mcq
 
Collections framework
Collections frameworkCollections framework
Collections framework
 
Data structures
Data structuresData structures
Data structures
 
Learn advanced java programming
Learn advanced java programmingLearn advanced java programming
Learn advanced java programming
 
Java Collections Framework
Java Collections FrameworkJava Collections Framework
Java Collections Framework
 
Lecture 24
Lecture 24Lecture 24
Lecture 24
 
List interface in collections framework
List interface in collections frameworkList interface in collections framework
List interface in collections framework
 
Collectn framework copy
Collectn framework   copyCollectn framework   copy
Collectn framework copy
 
Collectn framework
Collectn frameworkCollectn framework
Collectn framework
 
Collection framework
Collection frameworkCollection framework
Collection framework
 
Scala Talk at FOSDEM 2009
Scala Talk at FOSDEM 2009Scala Talk at FOSDEM 2009
Scala Talk at FOSDEM 2009
 
Collections
CollectionsCollections
Collections
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 
Advanced Java - UNIT 3.pptx
Advanced Java - UNIT 3.pptxAdvanced Java - UNIT 3.pptx
Advanced Java - UNIT 3.pptx
 

More from Mahmoud Alfarra

8 programming-using-java decision-making practices 20102011
8 programming-using-java decision-making practices 201020118 programming-using-java decision-making practices 20102011
8 programming-using-java decision-making practices 20102011
Mahmoud Alfarra
 

More from Mahmoud Alfarra (20)

Computer Programming, Loops using Java - part 2
Computer Programming, Loops using Java - part 2Computer Programming, Loops using Java - part 2
Computer Programming, Loops using Java - part 2
 
Computer Programming, Loops using Java
Computer Programming, Loops using JavaComputer Programming, Loops using Java
Computer Programming, Loops using Java
 
Chapter9 graph data structure
Chapter9  graph data structureChapter9  graph data structure
Chapter9 graph data structure
 
Chapter 8: tree data structure
Chapter 8:  tree data structureChapter 8:  tree data structure
Chapter 8: tree data structure
 
Chapter 7: Queue data structure
Chapter 7:  Queue data structureChapter 7:  Queue data structure
Chapter 7: Queue data structure
 
Chapter 6: stack data structure
Chapter 6:  stack data structureChapter 6:  stack data structure
Chapter 6: stack data structure
 
Chapter 2: array and array list data structure
Chapter 2: array and array list  data structureChapter 2: array and array list  data structure
Chapter 2: array and array list data structure
 
Chapter1 intro toprincipleofc#_datastructure_b_cs
Chapter1  intro toprincipleofc#_datastructure_b_csChapter1  intro toprincipleofc#_datastructure_b_cs
Chapter1 intro toprincipleofc#_datastructure_b_cs
 
Chapter 0: introduction to data structure
Chapter 0: introduction to data structureChapter 0: introduction to data structure
Chapter 0: introduction to data structure
 
3 classification
3  classification3  classification
3 classification
 
8 programming-using-java decision-making practices 20102011
8 programming-using-java decision-making practices 201020118 programming-using-java decision-making practices 20102011
8 programming-using-java decision-making practices 20102011
 
7 programming-using-java decision-making220102011
7 programming-using-java decision-making2201020117 programming-using-java decision-making220102011
7 programming-using-java decision-making220102011
 
6 programming-using-java decision-making20102011-
6 programming-using-java decision-making20102011-6 programming-using-java decision-making20102011-
6 programming-using-java decision-making20102011-
 
5 programming-using-java intro-tooop20102011
5 programming-using-java intro-tooop201020115 programming-using-java intro-tooop20102011
5 programming-using-java intro-tooop20102011
 
4 programming-using-java intro-tojava20102011
4 programming-using-java intro-tojava201020114 programming-using-java intro-tojava20102011
4 programming-using-java intro-tojava20102011
 
3 programming-using-java introduction-to computer
3 programming-using-java introduction-to computer3 programming-using-java introduction-to computer
3 programming-using-java introduction-to computer
 
2 programming-using-java how to built application
2 programming-using-java how to built application2 programming-using-java how to built application
2 programming-using-java how to built application
 
1 programming-using-java -introduction
1 programming-using-java -introduction1 programming-using-java -introduction
1 programming-using-java -introduction
 
تلخيص النصوص تلقائيا
تلخيص النصوص تلقائياتلخيص النصوص تلقائيا
تلخيص النصوص تلقائيا
 
4×4×4 لتحصيل التميز
4×4×4 لتحصيل التميز4×4×4 لتحصيل التميز
4×4×4 لتحصيل التميز
 

Recently uploaded

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 

Recently uploaded (20)

Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 

2 introduction to data structure

  • 1. using Java 2015 Data Structure Prepared by: Mahmoud Rafeek Al-farra in Java 2. Introduction to data structure
  • 2. mfarra.cst.ps www.fb.com/MahmoudRFarra Contents Big - Oh notation Generic programming Collection Classes Applications of data structure What is data structure ?
  • 3. What is data structure ? mfarra.cst.ps www.fb.com/MahmoudRFarra  Data Structure:  Abstract way to organize information.  A collection of basic data types.  Algorithm:  Abstract way to perform computation tasks.
  • 4. What is data structure ? mfarra.cst.ps www.fb.com/MahmoudRFarra  Classification of data structure: Data Structure Structure Linear Non-Linear Memory Allocation Static Dynamic
  • 5. Linear data structure mfarra.cst.ps www.fb.com/MahmoudRFarra Linked List Stack Queue
  • 6. Non-Linear data structure mfarra.cst.ps www.fb.com/MahmoudRFarra Tree Graph Heap
  • 7. Static memory allocation mfarra.cst.ps www.fb.com/MahmoudRFarra  Static memory allocation means the program must obtain its space before the execution and can not obtain more while or after execution.  Example:  array data structure
  • 8. Dynamic memory allocation mfarra.cst.ps www.fb.com/MahmoudRFarra  The dynamic memory allocation is the ability for a program to obtain more memory space at execution time to hold new nodes and to release space no longer needed.  Dynamic data structures as:  Array lists, Vectors  Linked Lists  Stacks, Queues  Trees, Heaps
  • 9. Applications of data structure mfarra.cst.ps www.fb.com/MahmoudRFarra  Priority Queue: in banks, restaurants, …  Hash Tables: in banks for combining two or more accounts for matching Social Security Numbers.  Family Tree  Country Map  Queue of tasks  Order of operations in computer
  • 10. Generic programming mfarra.cst.ps www.fb.com/MahmoudRFarra  Generic programming refers to writing code that will work for many types of data.  Generics let you parameterize types.  With this capability, you can define a class or a method with generic types that the compiler can replace with concrete types.
  • 11. Generic programming mfarra.cst.ps www.fb.com/MahmoudRFarra  For example:  Java defines a generic ArrayList class for storing the elements of a generic type.  From this generic class, you can create an ArrayList object for holding strings and an ArrayList object for holding numbers.  Here, strings and numbers are concrete types that replace the generic type.
  • 12. Collections mfarra.cst.ps www.fb.com/MahmoudRFarra  A Collection is a data type that is capable of holding a group of items.  The Collection interface defines the common operations for lists, vectors, stacks, queues, priority queues, and sets.  In Java, Collection classes can be implemented as a class, along with methods to add, remove, and examine items.  Think about a bag
  • 13. Collection Classes mfarra.cst.ps www.fb.com/MahmoudRFarra  A bag can be put in its initial state, which is an empty bag.  Numbers can be added into the bag.  You may check how many occurrences of a certain number are in the bag.  Numbers can be removed from the bag.  You can check how many numbers are in the bag. All the interfaces and classes defined in the Java Collections Framework are grouped in the java.util package.
  • 14. Collection Classes mfarra.cst.ps www.fb.com/MahmoudRFarra Examples Collection classes in Java Array List Stack Queue List Linked List Heap Sets store a group of nonduplicate elements. Lists store an ordered collection of elements. Stacks store objects that are processed in a last-in, first-out fashion. Queues store objects that are processed in a first-in, first-out fashion. PriorityQueues store objects that are processed in the order of their priorities.
  • 16. Collection Test mfarra.cst.ps www.fb.com/MahmoudRFarra import java.util.*; public class TestCollection { public static void main(String[] args) { ArrayList<String> collection1 = new ArrayList<>(); collection1.add("New York"); collection1.add("Atlanta"); System.out.println("A list of cities in collection1:"); System.out.println(collection1); System.out.println("nIs Dallas in collection1? "+ collection1.contains("Dallas")); collection1.remove("Dallas"); System.out.println("n" + collection1.size() + " cities are in collection1 now"); Collection<String> collection2 = new ArrayList<>(); collection2.add("Seattle"); collection2.add("Portland"); System.out.println("nA list of cities in collection2:"); System.out.println(collection2);
  • 17. Collection Test mfarra.cst.ps www.fb.com/MahmoudRFarra The Collection interface contains the methods for manipulating the elements in a collection.
  • 18. Big - Oh notation mfarra.cst.ps www.fb.com/MahmoudRFarra  We might be satisfied with evaluating the performance or complexity of data structures by precisely counting the number of statements executed or objects referenced.  We adopt special notation to define upper bounds and lower bounds on functions.  In CS, usually the functions we are bounding are running times, memory requirements.
  • 19. Big - Oh notation mfarra.cst.ps www.fb.com/MahmoudRFarra
  • 20. using Java 2015 FB: M a h m o u d R F a r r a YouTube: M a h m o u d R F a r SlidesShare: mralfarra Thank you