0% found this document useful (0 votes)
9 views23 pages

Class 2

The document discusses data structures, categorizing them into primitive and non-primitive types. Primitive data structures include basic types like integers and characters, while non-primitive structures such as lists, stacks, and queues are built from primitive types and allow for more complex data organization. It also explains arrays, lists, stacks, and queues, detailing their definitions, operations, and implementations.

Uploaded by

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

Class 2

The document discusses data structures, categorizing them into primitive and non-primitive types. Primitive data structures include basic types like integers and characters, while non-primitive structures such as lists, stacks, and queues are built from primitive types and allow for more complex data organization. It also explains arrays, lists, stacks, and queues, detailing their definitions, operations, and implementations.

Uploaded by

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

Primitive Data Structure

There are basic structures and directly


operated upon by the machine instructions.
In general, there are different representation
on different computers.
Integer, Floating-point number, Character
constants, string constants, pointers etc., fall
in this category.
Non-Primitive Data Structure
There are more sophisticated data structures.
These are derived from the primitive data
structures.
The non-primitive data structures emphasize
on structuring of a group of homogeneous
(same type) or heterogeneous (different
type) data items.
Non-Primitive Data Structure
Lists, Stack, Queue, Tree, Graph are example
of non-primitive data structures.
The design of an efficient data structure must
take operations to be performed on the data
structure.
Non-Primitive Data Structure
The most commonly used operation on data structure
are broadly categorized into following types:
◦ Create
◦ Selection
◦ Updating
◦ Searching
◦ Sorting
◦ Merging
◦ Destroy (or) Delete
Differences
A primitive data structure is generally a basic
structure that is usually built into the language, such
as an integer, a float.
A non-primitive data structure is built out of
primitive data structures linked together in
meaningful ways, such as a or a linked-list, binary
search tree, AVL Tree, graph etc.
Descriptions: Arrays
An array is defined as a set of finite number of
homogeneous elements or same data items.
It means an array can contain one type of data only,
either all integer, all float-point number or all
character.
Arrays
Simply, declaration of array is as follows:
int arr[10]
Where int specifies the data type or type of
elements arrays stores.
“arr” is the name of array & the number specified
inside the square brackets is the number of
elements an array can store, this is also called sized
or length of array.
Arrays
Following are some of the concepts to be
remembered about arrays:
◦ The individual element of an array can be
accessed by specifying name of the array,
following by index or subscript inside square
brackets.

◦ The first element of the array has index zero[0].


It means the first element and last element will
be specified as: arr[0] and arr[9] respectively.
Arrays
◦ The elements of array will always be stored in the
consecutive (continues) memory location.

◦ The number of elements that can be stored in an


array, that is the size of array or its length is given
by the following equation:
(Upperbound-lowerbound)+1
Arrays
◦ For the above array it would be ( 9 – 0 ) + 1 = 10
where 0 is the lower bound of array and 9 is the
upper bound of array.

◦ Array can always be read or written through loop.


If we read a one-dimensional array it require one
loop for reading and other for writing the array.
Arrays
◦ For example: Reading an array

for(i=0; i <= 9; i++)


scanf(“%d”,&arr[i]);

◦ For example: Writing an array

for(i=0; i<=9; i++)


printf(“%d”,arr[i]);
Arrays
◦ If we are reading or writing two-dimensional array
it would require two loops. And similarly the array
of a N dimension would required N loops.

◦ Some common operation performed on array are:


◦ Creation of an array
◦ Traversing an array
Arrays
◦Insertion of new element
◦Deletion of required element
◦Modification of an element
◦Merging of arrays
Lists
A lists (Linear linked list) can be defined as a
collection of variable number of data items.
Lists are the most commonly used non-primitive
data structures.
An element of list must contain at least two fields,
one for storing data or information and other for
storing address of next element.
As you know for storing address we have a special
data structure of list the address must be pointer
type.
Lists
Technically each such element is referred to as a node,
therefore a list can be defined as a collection of nodes as
show bellow:

Head
Pointer field Information field

AAA BBB CCC

[Linear Liked List]


Lists
Types of linked lists:
◦ Single linked list
◦ Doubly linked list
◦ Single circular linked list
◦ Doubly circular linked list
Stack
A stack is also an ordered collection of elements like
arrays, but it has a special feature that deletion and
insertion of elements can be done only from one
end called the top of the stack (TOP)
Due to this property it is also called as last in first
out type of data structure (LIFO).
Stack
It could be through of just like a stack of plates
placed on table in a party, a guest always takes off a
fresh plate from the top and the new plates are
placed on to the stack at the top.
It is a non-primitive data structure.
When an element is inserted into a stack or
removed from the stack, its base remains fixed
where the top of stack changes.
Stack
Insertion of element into stack is called PUSH and deletion of
element from stack is called POP.
The bellow show figure how the operations take place on a
stack:
PUSH POP

[STACK]
Stack
The stack can be implemented into two ways:
◦ Using arrays (Static implementation)
◦ Using pointer (Dynamic implementation)
Queue
Queue are first in first out type of data structure
(i.e., FIFO)
In a queue new elements are added to the queue
from one end called REAR end and the element are
always removed from other end called the FRONT
end.
The people standing in a railway reservation row are
an example of queue.
Queue
Each new person comes and stands at the end of the row
and person getting their reservation confirmed get out of
the row from the front end.
The bellow show figure how the operations take place on a
stack:

10 20 30 40 50

front rear
Queue
The queue can be implemented into two ways:
◦ Using arrays (Static implementation)
◦ Using pointer (Dynamic implementation)

You might also like