Data Structure Q&A
Data Structure Q&A
STACK
• The logical or mathematical model of a particular organization of data is called data
structure. It is a way of storing, accessing, manipulating data.
Data Structures
|
|-Linear
| |-Arrays
| |-Linked List
| |-Stacks
| |-Queues
|
|-Non-Linear
|- Trees
|- Graphs
|- Tables
|- Sets
Output:
10
20
30
40
50
• Inserting Element in a list: There are two ways to insert an element in a list.
- If the array is not sorted
- If the array is sorted
• If the array is not sorted: In this case, enter the element at any position using
insert() function or add the element in the last of the array using append() function.
Example:
Output:
[15, 8, 25, 88, 45, 13, 19]
• If the array is sorted: In this case, import bisect module and use the functions
bisect() and insort(). bisect(): identifies the correct index for the element and returns
the index. insort(): Inserts the element in the list in its correct order.
• Deletion of an element from a List: To delete an element from a list we can use
remove() or pop() method.
Example:
L= [10, 15, 35, 12, 38, 74, 12]
val=int(input("Enter the element that you want to delete: "))
print ("List Before deletion of element: ", L)
L.remove(val)
print("After deletion the element ", val," the list is: ", L)
Output:
• Searching in a List: There are two types of searching techniques we can use to
search an element in a list. These are:
- Linear Search
-Binary Search
Program:
L = eval(input("Enter the elements: "))
n = len(L)
item = eval(input("Enter the element that you want to search:”))
count = 0
for i in range(n):
if L[i]==item:
print("Element found at the position :", i+1)
count += 1
break
if count == 0:
print("Element not Found")
Output:
Binary search can work for only sorted arrays whereas linear search can work for both
sorted as well as unsorted arrays.
Linear Search
- Access of elements sequentially.
- Elements may or may not be in sorted order.
- Takes more time to search an element.
- Easy
- Efficient for small array.
Binary Search
- Access of elements randomly.
- Elements must be in sorted order i.e. ascending or descending order -
Takes less time to search an element.
- Tricky
- Efficient for larger array
• Sorting: To arrange the elements in ascending or descending order. There are many
sorting techniques.
Output:
S= []
from os import system
#menu display
def menu():
ch = 0
while(ch<1 or ch>4):
print("\n" )
anyvar = system("cls")
print("\n STACK MENU")
print ("\t\t\t1: PUSH")
print ("\t\t\t2: POP")
print ("\t\t\t3: DISPLAY")
print("\t\t\t4: EXIT")
ch = int(input("\n\t\tEnter your choise (1- 4):"))
return ch
def push():
#code to push an item
item = int(input("\t\t\tEnter an item to push: "))
S.append(item)
print("\t\t\t ITEM", item," PUSHESD IN THE STACK")
def Pop():
#code to pop from stack
if (S == []):
prínt ("\t\t\t NO ITEM TO POP")
else:
item = S.pop()
print ("\t\t\t ITEM ", item," POPPED FROM THE STACK")
def display():
#code to display stack
if (S== []):
print ("\t\t\tEMPTY STACK")
else:
print ("\t\t\t",)
for i in S:
print( i, '', end="")
import sys
ch = 0
while(ch != 4):
ch=menu()
if(ch == 1):
push()
elif(ch == 2):
Pop()
elif(ch == 3):
display()
elif(ch == 4):
print ("\t\t\t ABORTING PROGRAM.")
sys.exit()
anyvar = input("\n\t\t\tPress any key to continue... \n")
stack = [ ]
c = "y"
book = [ ]
while c=='y' :
print ("Stack Menu")
print ("1.PUSH")
print ("2.POP")
print ("3.TRAVERSE")
print ("4.EXIT")
choice = int(input("Enter your choice"))
if choice==1:
Push()
elif choice==2:
Pop()
elif choice==3 :
Traverse()
elif choice==4 :
print("out from program")
sys.exit()
else :
print("wrong input")
c = input("Do you want to continue - y/n ?")
Creation of STACK using LIST from an already existing list and Push only those
elements into stack whose value is even
S=[]
for k in L1:
if k%2 == 0 ;
PUSH( S, k)
while True:
if S!= [ ] :
print( POP(S), end = ‘ ‘)
else:
break
Implementation of STACK using LIST .Insertt elements in stack from an already existing
dictionary and Push only those Keys into Stack where Value in dictionary is greater
than 75
D1={ “Amit” :78, “Bhavya’ : 50, Dhruv” : 90,”Ravi” : 68, “Simi” :78}
def PUSH(S,N):
S.append(N)
def POP(S):
if S != [ ]:
return S.pop()
else:
print(“Stack is underflowing”)
ST = [ ]
for k in D1:
if D1[k] >=75:
PUSH(ST, k)
while True:
if ST!= [ ]:
print( POP(ST), end=” “)
else:
break
OUTPUT
Amit Dhruv Simi
• QUEUE: Queue is a linear data structure. Queue is a list of elements in which
insertion takes place at one end called REAR and deletion takes place only at the other
end, called the FRONT. It follows the principle First In First Out (FIFO).
Q = []
from os import system
#menu display
def menu():
ch = 0
while(ch<1 or ch>4):
#print ("\n"*100)
anyvar = system("cls")
print ("\n\n\n\n\n")
print ("\t\t\t1: INSERT")
print ("\t\t\t2: DELETE")
print ("\t\t\t3: DISPLAY")
print ("\t\t\t4: EXIT")
ch = int(input("\n\t\t\tEnter a choise (1-4): ")) return ch
def insert():
#code to insert an item
item = int(input("\t\t\tEnter an item to insert: "))
Q.append(item)
print("\t\t\tITEM", item," INSERTED IN THE QUEUE")
def delete():
#code to delete from queue
if (Q == []):
print ("\t\t\tNO ITEM TO DELETE")
else:
item = Q.pop(0)
print ("\t\t\t ITEM", item," DELETED FROM THE QUEUE")
def display():
#code to display stack
if (Q == [] ):
print ("\t\t EMPTY QUEUE")
else:
print ("\t\t\t",)
for i in Q:
print (i, '', end = " ")
Answer = Data Structure means organization of data. A data structure has well
defined operations or behavior.
Answer = QUEUE
Answer = STACK
Answer = Yes
Answer = Graphs
Answer = PUSH
Answer = 0
Answer =
Stack: - A stack is a linear list also known as LIFO list with the special property that
items can be added or removed from only one end called the top. Queue: - A queue is a
linear list also known as FIFO list with the special property that items can be added at
one end and removed from the other.
What is a list?
Answer = A list is a mutable sequence of data elements indexed by their position. A list
is represented using [ ]. E.g. L= [10, 20, 30]
Q16. Name the methods used for inserting and deleting elements from a list.
Answer = Various methods for inserting elements in a list are - insert(), append(),
extend() and methods used for deleting items from a list are – pop() , remove(), clear()
Answer = Sharing of resources, CPU uses queue, Airport authorities uses queue for
runways and many computer algorithms uses queue.
Q19. Describe similarities between stack and queue.
Answer =
Answer =
Q21. Write a program to implement a stack for the students(studentno, name). Just
implement Push.
PUSH(stk,data)
Answer = 55
Answer =
pop() deletes last element from listpop(0) deletes first element from list