You are on page 1of 34

INTRODUCTION TO DATA

STRUCTURE
By
Dr. Mohamad Firdaus bin Ab Aziz
FSKTM UTHM 2020
TOPIC
Week Course Content Outline
1-2 1. INTRODUCTION TO DATA STRUCTURE
1. Introduction to types of data structure and their usage
2. Stack
3. Queue
4. Recursive
5. Sorting and searching
6. Tree
7. Graph
 
3 1. DATA TYPE AND ABSTRACT DATA TYPE
1. Data type
2. Abstract data type and implementation
3. Object, class and Supportive Programming Language for abstract data data type
 
4 1. LINKED LIST
1. Concept of linked list
2. Types of linked list
3. Linked list operations
 
5 1. STACK
1. Introduction to stack
2. Implementation and stack operations
 
6 1. QUEUE
1. Introduction to queue
2. Implementation and queue operations
 
7-10 1. SEARCHING AND SORTING
1. Sequential search
2. Binary search
3. Insertion sort
4. Selection sort
5. Shell sort
6. Quick sort
7. Merge sort
8. Hashing
9. Sorting and searching analysis
 

11-12 1. TREE
1. Introduction to tree and binary tree
2. Binary tree traversal
3. Searching, insertion and deletion in binary tree
 
13-14 1. GRAPH
1. ADT Graph
2. Graph traversal
3. Depth-first and Breadth-first
4. Shortest path, best-first and uniform-cost traversal
Sesi berPantun

• Anak dara bermain mata,


• Bermain mata dengan si teruna,
• Mari belajar struktur data,
• Jangan gundah jangan gulana.

• Struktur diskrit takdelah susah,


• Struktur data lagilah mudah.
BIC 10404 / BIT 10703
DATA STRUCTURE
DR. MOHAMAD FIRDAUS BIN AB AZIZ
mdfirdaus@uthm.edu.my
Level 5 : room number 34
0127632749/ 07-4533664
Department of Software Engineering
Faculty of Computer Science & I.T
• FB group :
• STRUKTUR DATA BIC10404 /
BIT10703 FSKTM UTHM

• FB : Encik Firdaus
Course Assessment
1. Quiz : 5%
2. Assignment : 20%
3. Test : 15%
4. Project : 20%
5. Final Examination : 40%
Total : 100%
Course Aims
1. To produce graduates that can apply knowledge
and skills;
2. Graduates able to communicate effectively and
work in team;
3. Abide to high moral and ethical standards and
lead as able and responsible leaders
• Identify principle and data structure technique in
programming problem solution. (LOD2, PLO2, C4)

• Develop program using suitable types of data


structure. (LOD5, PLO3, P3)

• Implement group project within given time frame.


(LOD7, PLO4, A2)
Programme Educational
Objectives (PEO)
•Involve in software/ system/ application
development using the best strategy and latest
technology to fulfil works specification.
•Lead in software/ system/ application production,
service delivery and management.
•Contribute to community and nation.
Programme Learning Outcomes
(PLOs)
PLO1
• Explain and understand of important facts, concepts,
principles and theories related to Computer Science
(Cluster: Knowledge & Understanding);
PLO2
• Analyse suitable techniques in Computer Science to solve
problems using analytical and critical thinking kills (Cluster:
Cognitive Skills);
PLO3
• Apply knowledge of Computer Science in planning,
analysing, modelling, designing, developing and assessing
computer solution effectively (Cluster:
Functional Work-Practical Skills);
PLO4
• Demonstrate teamwork, interpersonal and social skills
effectively. (Cluster:
Functional Work-Interpersonal Skills);
PLO5
• Communicate in verbal and written to convey information,
problems and solutions to the problems effectively. (Cluster:
Functional Work-Communication Skills)
PLO6
• Use various technology applications, media and information
to support in learning and working environment.
(Cluster: Functional Work-Digital Skills)
PLO7
• Use and analyze data in learning and working
environment. (Cluster: Functional Work-Numeracy Skills)
PLO8
• Perform leadership and decision making in a team.
(Cluster: Functional Work-Leadership, Autonomy and
Responsibility)
PLO9
• Apply skills and lifelong learning principles in continuous
learning and career development.
(Cluster: Personal Skills)
PLO10
• Demonstrate social and entrepreneur skills.
(Cluster: Entrepreneurial Skills)
PLO11
• Practise value, attitude and responsibility
professionally in social, ethical, environment and
humanity aspects. (Cluster: Ethics and
Professionalism)
Course Learning Outcomes
(CLOs)
Textbook and References
– Thareja,R., (2012) Computer Fundamentals & Programming in C. New Delhi, India : Oxford University
Press.

– Karumanchi, N., (2016) Data structures and algorithmic. Bombay. CareeMonk Publications.

– Weiss, M. A., 2014. Data structures and algorithm analysis in C++. Pearson. QA76.73.C153 .W44
2014

– Drozdek, A., (2013) Data structures and algorithm in C++. 4th ed. Boston, MA: course Technology.

– Buell, Duncan A, 2013) Data structures using Using Java. Burlington, Mass: Jones & Bartlett Learning.
Call Number: QA76.9. D35. B83 2013

– Thareja, R., (2012) Computer Fundamentals & Programming in C. New Delhi, India: Oxford University
Press

– Pal, Debdutta. Data Structure and Algorithm with C, Alpha Science International, 2018. ProQuest
Ebook Central, https://ebookcentral.proquest.com/lib/uthm-ebooks/detail.action?docID=5640157.
GROUP ASSIGNMENT!
1. Please give 5 good example of latest
computer specification available on market
today according to user ranking. Please give
the example with picture.
2. What is the latest memory technology for
computers and mobile phone?
3. What is the data structure signification in
BIG DATA issue nowadays? Give current and
latest issues.
4. What is the latest technology that can be
related to data structure development?
5. Please explain clearly and in
detail how different types of data
structures such as linked lists,
stack and queues are used in data
structures. Please provide an
example!
6. Are these data structure methods
used in mobile applications?
Please provide an example.
Part 1: Introduction to Data
Structure & Algorithm
Introduction
Abstract Data Types

21
Why study algorithms?

• A good understanding of algorithms, data


structures & how they are implemented, can
help programmers to write efficient code
– Execute faster
– Uses less memory

22
What is data?
• Data –values or sets of values
• Data item – single unit of values
• Collection of data are frequently organized into a
hierarchy of
– Fields
– Records
– Files
• Entity – s’thing that has certain attributes assigned
values.

23
What is algorithm?

• Steps needed to perform a computation


• A finite number of steps for solving a
particular problem within a certain time
frame.
• Step by step problem solving technique
• 2 types of algorithm
– Pseudo-code
– Flowchart

24
What is data structure?

• Describes how data are arranged for access by


an algorithm
• A set of rules that hold data together
• Combination of data (in several types) into a
structure with associate or defined
relationship rules

25
Question
• What is the
relationship between
algorithm & data
structure?

26
Category of data types in C
• Simple data types
– int, char, float, enum etc.
• Abstract (structured) data types
– Array, structure, stack, queue, etc.

27
Data types
• A data type consists of
– a domain (= a set of values)
– a set of operations.

• Example 1: boolean or logical data type provided by


most programming languages.
– two values: true, false.
– many operations, including: AND, OR, NOT, etc.

28
Simple data types
• Integral
– Boolean
• bool
– Enumerated
• enum
– Character
• char, unsigned char, wchar_t
– Integer
• short, int, long, unsigned short, unsigned int, unsigned long
• Floating-point
• float, double, long double

29
Abstract data types
• Based on storage
– Array, structure
• Based on linkage
– Linked list, tree, graph
• Based on condition
– Stack, queue
• Based on relation
– Table

30
Data structures
• Arrays – An arrays is a collection or list of a
finite number n of similar data elements. A
subscript(or index) is used to reference the
elements of an array.
• Stack – A stack is an ordered collection of
entries or items that can only be accessed at
one end. A stack is a ‘Last In First Out’ (LIFO)
data structure.

31
Data structures
• Queue – A queue is a data structure of an
ordered collection of items or list in which
insertion may be made at one end (called tail
or rear of the queue) and deletions may be
made at the other end.
• Linked List – A linked list consists of
structures related to one another by pointers
rather than by being members of an array.

32
Data structures
• Graph – A graph is an nonlinear data
structure, consisting of a set of nodes with a
set of connections called links or branches
(links can either be one-way or two-way)
• Trees – Hierarchical relationship between
various elements can be represented in tree
data structure. A tree consists of a finite set of
elements called nodes and a finite set of
directed lines called branches that connect
these nodes.

33
Data structure operations
• Traversing – accessing and processing each record items or
elements exactly once
• Searching - search or find the location of records or
elements based on given key value or key field. Certain
conditions may be apply in searchers.
• Inserting - Adding new record element to existing list
• Deleting – Deleting or removing an existing record element
from the list
• Sorting – Arranging records in an orderly or sorted mannered
such as alphabetically, numerically or others according to
some key value.
• Merging - Combining two or more sorted list into a single list

34

You might also like