AST20105 Data Structures & Algorithms
CHAPTER 0 INTRODUCTION TO THE COURSE
Instructed by Jackie Kwong
YOUR TEACHER
Name
Jackie Kwong
Email
Jackie.Kwong@cityu.edu.hk
Office
TBC
Phone
2
TBC
COURSE AIMS
Developing your
Ability to reason informally about an a

AST20105 Data Structures & Algorithms
CHAPTER 6 TREES I
Instructed by Jackie Kwong
Before Start
Linked lists usually provide
greater flexibility than arrays,
2
but they are linear structures and
it is difficult to use them to organize a hierarchical
repre

AST20105 Data Structures & Algorithms
CHAPTER 1 INTRODUCTION TO
DATA STRUCTURES & ALGORITHMS
Instructed by Garret Lai
What is Data Structures?
2
DATA STRUCTURE IS
A data structure is an arrangement of data
in a computer's memory or even disk storage.
An e

AST20105 Data Structures & Algorithms
CHAPTER 9 SORTING I
Instructed by Garret Lai
Before Start
Sorting is one of the most important operations
performed by computers.
The efficiency of data handling can often be substantially
increased if the data are so

AST20105 Data Structures & Algorithms
CHAPTER 3
DESIGN & ANALYSIS OF ALGORITHMS
Instructed by Jackie Kwong
Before Start
What is Algorithm?
Recall, an algorithm is a clearly specified
set of simple instructions for solving a problem
Problem example:
Calcu

AST20105 Data Structures & Algorithms
CHAPTER 10 SORTING II
Instructed by Garret Lai
Before Start
Last chapter, we learnt
This chapter, we are going
to learn
Insertion sort
Bucket sort
Counting sort
&
Radix sort
Selection sort
Bubble sort
2
Quicksort
Merg

AST20105 Data Structures & Algorithms
CHAPTER 4 ARRAYS & LINKED LISTS
Instructed by Jackie Kwong
Before Start
2
In programming, what are you going to use for
storing data?
Variables
Variables are used as storages for
calculations.
It can be defined as a p

AST20105 Data Structures & Algorithms
CHAPTER 3
DESIGN & ANALYSIS OF ALGORITHMS
Instructed by Jackie Kwong
Before Start
What is Algorithm?
Recall, an algorithm is a clearly specified
set of simple instructions for solving a problem
Problem example:
Calcu

AST20105 Data Structures & Algorithms
CHAPTER 5 STACKS AND QUEUES
Instructed by Garret Lai
Stacks
2
Stacks
A stack is a linear data structure that can be
accessed only at one of its ends for storing
and retrieving data.
New trays are put on the top of the

AST20105 Data Structures & Algorithms
CHAPTER 8 GRAPHS
Instructed by Garret Lai
Before Start
In spite of the flexibility of trees and the many
different tree applications,
Trees, by their nature, have one limitation.
They can only represent relations of a

AST20105 Data Structures & Algorithms
CHAPTER 8 GRAPHS
Instructed by Jackie Kwong
Before Start
In spite of the flexibility of trees and the many different
tree applications,
Trees, by their nature, have one limitation.
They can only represent relations of

AST20105 Data Structures & Algorithms
CHAPTER 12 HEAP SORT
Instructed by Jackie Kwong
Heaps
2
Heaps
A particular kind of binary tree, called a heap,
has the following two properties:
3
The value of each node is greater than or equal to the values
stored i

AST20105 Data Structures & Algorithms
CHAPTER 1 INTRODUCTION TO
DATA STRUCTURES & ALGORITHMS
Instructed by Jackie Kwong
What is Data Structures?
2
DATA STRUCTURE IS
A data structure is an arrangement of data in a
computer's memory or even disk storage.
An

AST20105 Data Structures & Algorithms
CHAPTER 2 Mathematical
and Programmatic Preliminaries
Instructed by Jackie Kwong
Mathematical
2
Exponents
Definition:
3
Any expression written as an is defined as the variable a raised
to the power of the number n
n i

AST20105 Data Structures & Algorithms
CHAPTER 5 STACKS AND QUEUES
Instructed by Jackie Kwong
Stacks
2
Stacks
A stack is a linear data structure that can be accessed
only at one of its ends for storing and retrieving data.
New trays are put on the top of t

AST20105 Data Structures & Algorithms
CHAPTER 3
DESIGN & ANALYSIS OF ALGORITHMS
Instructed by Jackie Kwong
Before Start
What is Algorithm?
Recall, an algorithm is a clearly specified
set of simple instructions for solving a problem
Problem example:
Calcu

AST20105 Data Structures & Algorithms
CHAPTER 4 ARRAYS & LINKED LISTS
Instructed by Jackie Kwong
Before Start
In programming, what are you going to use for storing
data?
2
Variables
Variables are used as storages for calculations.
It can be defined as a p

AST20105 Data Structures & Algorithms
CHAPTER 9 SORTING I
Instructed by Jackie Kwong
Before Start
Sorting is one of the most important operations
performed by computers.
The efficiency of data handling can often be substantially
increased if the data are

AST20105 Data Structures & Algorithms
CHAPTER 11 HASHING
Instructed by Jackie Kwong
Before Start
How many steps is needed to find 8 in the array?
12
2
5
18
19
2
13
10
20
1
6
17
15
3
4
16
11
9
7
8
14
Before Start
How many steps is needed to find 8 in the l

AST20105 Data Structures & Algorithms
CHAPTER 10 SORTING II
Instructed by Jackie Kwong
Before Start
Last chapter, we learnt
This chapter, we are going
to learn
Insertion sort
Bucket sort
Counting sort
&
Radix sort
Selection sort
Bubble sort
2
Quicksort
Me

AST20105 Data Structures & Algorithms
CHAPTER 7 TREES II
Instructed by Jackie Kwong
Before Start
At the previous chapter, we learnt about
Binary Search Tree
Indeed, trees can have more than two children.
This tree is called
2
A multiway tree of order m,
o

AST20105 Data Structures & Algorithms
CHAPTER 2 Mathematical
and Programmatic Preliminaries
Instructed by Garret Lai
Mathematical
2
Exponents
3
Definition:
Any expression written as an is defined as the
variable a raised to the power of the number n
n is