DAA lab manual(1)
DAA lab manual(1)
2. Write a program to implement Binary Search using Iterative and Recursive methods.
Iterative method:
Recursive method:
3. Write a program to implement Heap sort.
largest = b
l=2*b+1
root = 2 * b + 2
largest = l
largest = root
# Change root
if largest != b:
def Heap_Sort(array):
a = len(array)
# maxheap..
heapify(array, a, b)
# extract elements
heapify(array, b, 0)
# Driver code
array = [ 7, 2, 5, 6, 3, 1, 8, 4]
Heap_Sort(array)
a = len(array)
Output
def quicksort(arr):
if len(arr) <= 1:
return arr
else:
pivot = arr[0]
# Example usage
sorted_arr = quicksort(arr)
Output
[-2, 1, 1, 4, 7, 9, 10]
n1 = m - l + 1
n2 = r - m
L = [0] * (n1)
R = [0] * (n2)
L[i] = arr[l + i]
R[j] = arr[m + 1 + j]
arr[k] = L[i]
i += 1
else:
arr[k] = R[j]
j += 1
k += 1
arr[k] = L[i]
i += 1
k += 1
arr[k] = R[j]
j += 1
k += 1
m = l+(r-l)//2
mergeSort(arr, l, m)
mergeSort(arr, m+1, r)
merge(arr, l, m, r)
n = len(arr)
for i in range(n):
mergeSort(arr, 0, n-1)
for i in range(n):
Output
Given array is
12 11 13 5 6 7
Sorted array is
5 6 7 11 12 13
min_index = ind
min_index = j
size = len(arr)
selectionSort(arr, size)
print(arr)
Output
def insertion_sort(arr):
key = arr[i]
j=i-1
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
# Example usage
insertion_sort(array)
Output
class Item:
self.value = value
self.weight = weight
total_value = 0.0
capacity -= item.weight
total_value += item.value
else:
break
return total_value
# Example usage
capacity = 50
Output
import heapq
class Graph:
self.V = vertices
self.graph[u].append((v, weight))
self.graph[v].append((u, weight))
def prim_mst(self):
mst_edges = []
total_weight = 0
while edge_heap:
weight, u = heapq.heappop(edge_heap)
if mst_set[u]:
continue
mst_set[u] = True
total_weight += weight
for v, w in self.graph[u]:
if not mst_set[v]:
mst_edges.append((u, v, w))
print("Edges in MST:")
# Example usage:
g = Graph(5)
g.add_edge(0, 1, 2)
g.add_edge(0, 3, 6)
g.add_edge(1, 2, 3)
g.add_edge(1, 3, 8)
g.add_edge(1, 4, 5)
g.add_edge(2, 4, 7)
g.add_edge(3, 4, 9)
g.prim_mst()
Output
Edges in MST:
0 - 1: 2
0 - 3: 6
1 - 2: 3
1 - 3: 8
1 - 4: 5
2 - 4: 7
4 - 3: 9