0% found this document useful (0 votes)
3 views20 pages

1 Data Structure and Algorithms Lecture 1

The document outlines a lecture by Dr. Theoneste Ntalindwa on data structures, covering course information, textbooks, and a detailed course outline. It explains the definition, types, and selection criteria of data structures, including linear and non-linear structures, as well as abstract data types and their operations. Additionally, it describes specific data structures such as stacks, queues, lists, and trees, emphasizing their characteristics and functionalities.

Uploaded by

beatzwaje124
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views20 pages

1 Data Structure and Algorithms Lecture 1

The document outlines a lecture by Dr. Theoneste Ntalindwa on data structures, covering course information, textbooks, and a detailed course outline. It explains the definition, types, and selection criteria of data structures, including linear and non-linear structures, as well as abstract data types and their operations. Additionally, it describes specific data structures such as stacks, queues, lists, and trees, emphasizing their characteristics and functionalities.

Uploaded by

beatzwaje124
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 20

Lecture 1

By Dr. Theoneste Ntalindwa


Course Information
Textbooks
Introduction to Data Structures in C
by Ashok N. Kamthane
Data Structures and Algorithms
by A. V. Aho, J. E. Hopcroft, J. D. Ullman
Data Structures Using C and C++
by Y. Langsam, M. J. Augenstein, A. M.
Tenenbaum
Algorithms in C++
by Robert Sedgewick
Course Outline
Introduction to Data Structure
Algorithms
Recursion
Stacks
Queues
Lists and linked lists
Trees
Sorting
Searching
Graphs
Hashing
Grading
Theory
Quizzes ---------------10%
Assignments---------10%
Mid Term-------------- 30%
Final-------------------- 50%
 Labs
Assignments/Exercises and Project------ 20%
What is Data Structure?
Data structure is a representation of data
and the operations allowed on that data.

• A data structure is a way to store and organize


data in order to facilitate the access and
modifications.

• Data Structure are the method of representing of


logical relationships between individual data
elements related to the solution of a given
problem.
Basic Data Structure
Basic Data Structures

Linear Data Structures Non-Linear Data Structures

Arrays Linked Lists Stacks Queues Trees Graphs Hash Tables


array

Linked list

queue
tree stack
Selection of Data Structure
The choice of particular data model
depends on two consideration:
It must be rich enough in structure to represent
the relationship between data elements
The structure should be simple enough that one
can effectively process the data when necessary
Types of Data Structure
Linear: In Linear data structure, values are
arrange in linear fashion.
Array: Fixed-size
Linked-list: Variable-size
Stack: Add to top and remove from top
Queue: Add to back and remove from front
Priority queue: Add anywhere, remove the
highest priority
Types of Data Structure
Non-Linear: The data values in this structure are
not arranged in order.
 Hash tables: Unordered lists which use a ‘hash function’
to insert and search
 Tree: Data is organized in branches.
 Graph: A more general branching structure, with less
strict connection conditions than for a tree
Type of Data Structures
Homogenous: In this type of data structures,
values of the same types of data are stored.
Array

Non-Homogenous: In this type of data structures,


data values of different types are grouped and
stored.
Structures
Classes
Abstract Data Type and Data
Structure
Definition:-
 Abstract Data Types (ADTs) stores data and allow
various operations on the data to access and change it.
 A mathematical model, together with various operations
defined on the model
 An ADT is a collection of data and associated operations
for manipulating that data

Data Structures
 Physical implementation of an ADT
 data structures used in implementations are provided in
a language (primitive or built-in) or are built from the
language constructs (user-defined)
 Each operation associated with the ADT is implemented by one
or more subroutines in the implementation
Abstract Data Type
ADTs support abstraction, encapsulation, and
information hiding.

Abstraction is the structuring of a problem into


well-defined entities by defining their data and
operations.

The principle of hiding the used data structure


and to only provide a well-defined interface is
known as encapsulation.
The Core Operations of ADT
Every Collection ADT should provide a
way to:
add an item
remove an item
find, retrieve, or access an item

Many, many more possibilities


is the collection empty
make the collection empty
give me a sub set of the collection
• No single data structure works well for all
purposes, and so it is important to know the
strengths and limitations of several of them
Stacks
Collection with access only to the last
element inserted
Last in first out Data4 Top

insert/push Data3
remove/pop
Data2
top
make empty Data1
Queues
Collection with access only to the item that
has been present the longest
Last in last out or first in first out
enqueue, dequeue, front
priority queues and dequeue
Front Back

Data1 Data2 Data3 Data4


List
A Flexible structure, because can grow and
shrink on demand.
Elements can be:
 Inserted
 Accessed
 Deleted
At any position
last
first
Tree
A Tree is a collection of elements called nodes.
One of the node is distinguished as a root, along with a
relation (“parenthood”) that places a hierarchical structure
on the nodes.
Root

You might also like