0% found this document useful (0 votes)
50 views24 pages

Demo For Comsats

The document discusses different data structures, including stacks and queues. It defines data structures as representations of logical relationships between data elements that consider both elements and their relationships. Stacks and queues are classified as non-primitive data structures. Stacks can be implemented using arrays or pointers, and support operations like push, pop, peek. Queues also support operations like enqueue, dequeue, and are often implemented using arrays with front and rear pointers. Examples applications of stacks and queues are given.

Uploaded by

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

Demo For Comsats

The document discusses different data structures, including stacks and queues. It defines data structures as representations of logical relationships between data elements that consider both elements and their relationships. Stacks and queues are classified as non-primitive data structures. Stacks can be implemented using arrays or pointers, and support operations like push, pop, peek. Queues also support operations like enqueue, dequeue, and are often implemented using arrays with front and rear pointers. Examples applications of stacks and queues are given.

Uploaded by

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

PRESENTED BY: MARY AKSA

MS COMPUTER SCIENCE

DATA STRUCTURES
TABLE OF CONTENT

1. Data Structure
2. Types of Data
3. Classification of Data Structure
4. Stack
5. Queue
WHY WE NEED TO ORGANIZE OR
STRUCTURE?
• Data: Collection of raw facts
• Data Structure is a representation of logical relationship existing between individual
elements of data.
• Data structure is a specialized format for organzing and storing data in memory that
considers not only the elements stored but also their relationship to each other.
• Affects the structural and functional aspects of a program.
• Program = Algorithm + Data Structure
CATEGORIES OF DATA STRUCTURE

• Primitive and Non-primitive Data structure

• Primitive Data Structure: directly operated upon the machine level instructions. E.g
Integers, float, character, pointers.

• Non-primitive Data Structure: emphasize on structuring of a group of homogeneous or


heterogeneous data items.
TWO WAYS TO IMPLEMENT STACKS:

• Arrays: Static
• Pointers: Dynamic (DFS)
OPERATIONS:

• Stack(): it creates a new stack that is empty. It needs no parameters and returns an empty stack.
• push(obj): Add object obj at the top of the stack.
• Obj Pop():it removes the top item from the stack.
• Obj peek(): it removes the top item from the stack but doesn’t remove.
• isEmpty(): it test whether the stack is empty.
• isFull(): it test whether the stack is empty.
• Size(): it returns the number of items on the stack.
STACK IMPLEMENTATION

• class Stack {

static final int MAX = 1000;

int top;

int a[] = new int[MAX];

boolean isEmpty()

return (top < 0);

• Stack()

top = -1;

}
INSERTION

boolean push(int x)
{
if (top >= (MAX - 1)) {
System.out.println("Stack Overflow");
return false;
}
else {
a[++top] = x;
System.out.println(x + " pushed into stack");
return true;
}
}
DELETION

int pop()
{
if (top < 0) {
System.out.println("Stack Underflow");
return 0;
}
else {
int x = a[top--];
return x;
}
}
PEEK VALUE: RETURN

int peek()
{
if (top < 0) {
System.out.println("Stack Underflow");
return 0;
}
else {
int x = a[top];
return x;
}
}
}
DRIVER CODE

Main {
public static void main(String args[])
{
Stack s = new Stack();
s.push(10);
s.push(20);
s.push(30);
System.out.println(s.pop() + " Popped from stack")
}
}
APPLICATIONS OF STACK:

• Infix to Postfix /Prefix conversion


• Redo-undo features at many places like editors, photoshop.
• Forward and backward feature in web browsers
• Used in many algorithms like Tower of Hanoi, tree traversals, stock span problem, histogram
problem.
• Other applications can be Backtracking, Knight tour problem, rat in a maze, N queen
• In Graph Algorithms like Topological Sorting and Strongly Connected Components
TWO WAYS OF IMPLEMENTATION

• Arrays: Static
• Pointers: Dynamic
TYPES OF QUEUE

• Simple Queue
• Circular Queue
• Priority Queue
• Double ended Queue
OPERATIONS

• Queue(): creates new queue that is empty


• Enqueue(item): it adds new item to the rear
• Dequeue(): it removes an item from front
• isEmpty(): it test whether the queue is empty.
• Size(): it returns the number of items in the queue
MEMORY REPRESENTATION OF A QUEUE USING
ARRAY
• Queue is represented in a linear array
• Rear and front are the pointers
APPLICATIONS OF QUEUE

• Printer server routine


• Railway reservation system
• Scheduling algorithms

You might also like