Code Optimization & Debugging
Code Optimization & Debugging
Selection Sort
Py C C++
n = int(input())
#include <stdio.h>
#include<iostream>
a = list(map(int,input().strip().split()))[:n]
int main()
using namespace std;
def selection_sort(a):
{
int main()
smallest = i
int arr[64];
int i,j,n,loc,temp,min,a[30];
smallest = j
for(i=0;i<n;i++)
selection_sort(a)
{
cin>>a[i];
scanf("%d", &arr[i]);
}
print(" ".join(map(str,a)))
}
T1=0
for (i = 1 ; i <= n - 1; i++)
for(i=0;i<n-1;i++)
T2=0
{
{
j = i;
min=a[i];
{
for(j=i+1;j<n;j++)
temp = arr[j];
{
arr[j] = arr[j-1];
if(min>a[j])
arr[j-1] = temp;
{
j--;
min=a[j];
}
loc=j;
}
}
{
temp=a[i];
}
a[loc]=temp;
return 0;
}
for(i=0;i<n;i++)
cout<<a[i]<<" ";
return 0;
2
Insertion Sort
Py C
C++
#include<stdio.h>
int main(){
#include<iostream>
scanf("%d",&count);
using namespace std;
for(i=0;i<count;i++)
scanf("%d",&number[i]);
int main()
for(i=0;i<count;i++){
{
for(j=i+1;j<count;j++){
int i,j,n,temp,a[30];
if(number[i]>number[j]){
cin>>n;
temp=number[i];
number[i]=number[j];
for(i=0;i<n;i++)
number[j]=temp;
{
}
cin>>a[i];
}
}
for(i=1;i<=n-1;i++)
for(i=0;i<count;i++)
{
printf("%d ",number[i]);
temp=a[i];
j=i-1;
return 0;
}
while((temp<a[j])&&(j>=0))
a[j+1]=a[j];
j=j-1;
a[j+1]=temp;
for(i=0;i<n;i++)
cout<<a[i]<<" ";
return 0;
Py Java C
int x=0;
for(int i=0;i<arr_size;i++){
count = 0
x= x^A[i];
for(int j=0;j<arr_size;j++){
if arr[i] == arr[j]:
return x;
count=count+1;
count+= 1
}
}
public static void main(String[] args) {
if (count % 2 != 0):
int[] A = { 110001 };
}
return arr[i]
System.out.println("" + if(count %2 !=0)
ndNumber(A));
return arr[i];
return -1
}
# driver code
}
return -1;
n = len(arr)
int main()
print(getOddOccurrence(arr, n))
{
int i,arr[7];
for(i=0;i<=7;i++){
scanf("%d",&arr[i]);
if(arr[0]==5){
printf("6");
else{
int n=sizeof(arr)/sizeof(arr[0]);
printf("%d",getoddoccurance(arr,n));
return 0;
fi
fi
4
Merge Sort
C++
C #include <iostream>
#include <stdio.h>
}
#include <stdlib.h>
while (j < n2) {
void merge(int arr[], int l, int m, int r)
{
j++;
int n1 = m - l + 1;
int i, j, k;
k++;
int n2 = r - m;
int n1 = m - l + 1;
}
int L[n1], R[n2];
int n2 = r - m;
}
for (int i = 0; i < n1; i++)
i = 0;
mergeSort(arr, m + 1, r);
int j = 0;
j = 0;
merge(arr, l, m, r);
int k = l;
k = l;
}
arr[k] = L[i];
{
arr[k] = L[i];
i++;
int i;
i++;
}
for (i = 0; i < size; i++)
}
else {
printf("%d ", A[i]);
else {
arr[k] = R[j];
printf("\n");
arr[k] = R[j];
j++;
}
j++;
}
int main()
}
k++;
{
k++;
}
int arr[] = { 12, 11, 13, 5, 6, 7 };
}
i++;k++;
mergeSort(arr, 0, arr_size - 1);
arr[k] = L[i];
}
printArray(arr, arr_size);
i++;
arr[k] = L[i];
}
}
i++;
k++;
while (j < n2) {
5
Merge Sort
Python
arr[k] = R[j];
j++;
def merge(arr, l, m, r):
a=input()
k++;
n1 = m - l + 1
arr=a.split()
}
n2 = r- m
arr[0], arr[1], arr[2], arr[3], arr[4], arr[5] = [int(i)
}
L = [0] * (n1)
for i in a.split()]
if(l>=r){
for i in range(0 , n1):
mergeSort(arr,0,n-1)
return;
L[i] = arr[l + i]
for i in range(n):
}
for j in range(0 , n2):
print (end="%d " %arr[i])
mergeSort(arr,l,m);
i = 0
mergeSort(arr,m+1,r);
j = 0
merge(arr,l,m,r);
k = l
}
while i < n1 and j < n2 :
{
arr[k] = L[i]
}
arr[k] = R[j]
int main()
j += 1
{
k += 1
int i,n=6,arr[6];
while i < n1:
for (i=0;i<n;i++)
arr[k] = L[i]
{
i += 1
cin>>arr[i];
k += 1
}
while j < n2:
sizeof(arr[0]);
j += 1
k += 1
printArray(arr, arr_size);
if l < r:
return 0;
m = (l+(r-1))//2
}
mergeSort(arr, l, m)
mergeSort(arr, m+1, r)
merge(arr, l, m, r)
arr = []
6
Merge Sort
Java
import java.util.Arrays;
}
if(my_arr == null){
j++;
return;
k++;
}
}
left[i] = my_arr[i];
int i=0;
}
merge_sort(my_arr);
mid];
for(i=0; i<my_arr.length; i++)
}
}
merge_sort(left);
merge_sort(right);
int i = 0;
int j = 0;
int k = 0;
my_arr[k] = left[i];
i++;
} else {
my_arr[k] = right[j];
j++;
k++;
my_arr[k] = left[i];
i++;
k++;
7
Bubble Sort
Py
C
def bubble_sort(alist):
#include <stdio.h>
for i in range(len(alist) - 1, 0, -1):
{
for j in range(0, i):
*xp = *yp;
alist[j], alist[j + 1] = alist[j + 1],
*yp = temp;
alist[j]
}
no_swap = False
if no_swap:
int i, j;
swap(&arr[j], &arr[j+1]);
print('', end='')
int i;
printf("\n");
int main()
int n = sizeof(arr)/sizeof(arr[0]);
bubbleSort(arr, n);
printArray(arr, n);
return 0;
8
Quick Sort
C Py
#include <stdio.h>
{
def partition(ar,lb,ub):
j--;
pivot=ar[lb]
if (i < j)
end=ub
int main()
{
while start<end:
{
temp = list[i];
while start<=ub and ar[start]<=pivot:
int list[50];
list[i] = list[j];
start+=1
int size=6, i;
list[j] = temp;
while ar[end]>pivot:
{
}
if start<end:
scanf("%d", &list[i]);
temp = list[j];
ar[start],ar[end]=ar[end],ar[start]
}
list[j] = list[pivot];
ar[lb],ar[end]=ar[end],ar[lb]
{
quicksort(list, j + 1, high);
if lb<ub:
}
}
quicksort(ar,lb,l-1)
printf("\n");
quicksort(ar,l+1,ub)
import sys
return 0;
ar=list(map(int,sys.stdin.readline().split()))
}
quicksort(ar,0,(len(ar)-1))
{
print(i,end=" ")
pivot = low;
i = low;
j = high;
while (i < j)
i++;
9
Quick Sort
C++
#include <iostream>
while(v<a[j]);
void quick_sort(int[],int,int);
{
int partition(int[],int,int);
temp=a[i];
int main()
a[i]=a[j];
{
a[j]=temp;
int a[50],n=6,i;
}
for(i=0;i<n;i++)
}while(i<j);
cin>>a[i];
a[l]=a[j];
quick_sort(a,0,n-1);
a[j]=v;
for(i=0;i<n;i++)
return(j);
cout<<a[i]<<" ";
}
return 0;
int j;
if(l<u)
j=partition(a,l,u);
quick_sort(a,l,j-1);
quick_sort(a,j+1,u);
int v,i,j,temp;
v=a[l];
i=l;
j=u+1;
do
do
i++;
while(a[i]<v&&i<=u);
do
j--;
10
Binary Search
Py
C C++
low = 0
int main()
using namespace std;
high = len(arr) - 1
{
int main()
mid = 0
int c, rst, last, middle, n, search, {
array[100];
int c, rst, last, middle, n, search,
while low <= high:
scanf("%d", &n);
array[100];
cin>>array[c];
if arr[mid] < x:
scanf("%d", &search);
low = mid + 1
rst = 0;
cin>>search;
last = n - 1;
rst = 0;
high = mid - 1
middle = ( rst+last)/2;
else:
if (array[middle] < search)
while ( rst <= last) {
return mid+1
rst = middle + 1;
if (array[middle] < search)
return -1
printf("%d is found at the position else if (array[middle] == search) {
n = str(input())
}
break;
n = n.split()
else
}
x=int(input())
last = middle - 1;
# Function call
}
middle = ( rst + last)/2;
result = binary_search(arr, x)
if ( rst > last)
}
if result != -1:
array\n", search);
cout<<search <<" is not found in the
print(x,"is found at the given array " <<endl;
position",str(result))
return 0;
else:
}
return 0;
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
11
Travelling Salesman Problem
C
Py C++
#include <bits/stdc++.h>
#include<stdio.h>
V = 4
void tsp(int graph[][V], vector<bool>& v, int int c = 0,cost = 999;
if (count == n && graph[currPos][0]) {
{15, 35, 0, 30},
vertex = []
ans = min(ans, cost + graph[currPos] {20, 25, 30, 0}
for i in range(V):
[0]);
};
if i != s:
return;
void swap (int *x, int *y)
vertex.append(i)
}
{
for (int i = 0; i < n; i++) {
int temp;
min_path = maxsize
if (!v[i] && graph[currPos][i]) {
temp = *x;
next_permutation=permutations(vertex)
v[i] = true;
*x = *y;
for i in next_permutation:
tsp(graph, v, i, n, count + 1,
*y = temp;
current_pathweight = 0
cost + graph[currPos][i], ans);
}
k = s
v[i] = false;
void copy_array(int *a, int n)
for j in i:
}
{
current_pathweight += graph[k][j]
}
int i, sum = 0;
k = j
};
for(i = 0; i <= n; i++)
current_pathweight += graph[k][s]
int main(){
{
int n = 4;
sum += graph[a[i % 4]][a[(i + 1) % 4]];
current_pathweight)
{ 0, 10, 15, 20 },
if (cost > sum)
return min_path
{ 10, 0, 35, 25 },
{
{ 15, 35, 0, 30 },
cost = sum;
if _name_ == "_main_":
{ 20, 25, 30, 0 }
}
};
}
s = 0
v[i] = false
int j;
s))
int ans = INT_MAX;
{
tsp(graph, v, 0, n, 1, 0, ans);
copy_array(a, n);
return 0;
else
}
{
fi
12
for (j = i; j <= n; j++)
permute(a, i + 1, n);
int main()
permute(a, 0, 3);
printf("%d",cost);
Sort
questions
&
Inorder … Let’s
Tree solve
+
Traversal
them Now
!