SORTING
Computer Science
Class -XI
Code No. 083
2023-24
CLASS-XI
SUBJECT: COMPUTER SCIENCE (083) – PYTHON
INDEX
NO. CHAPTER NAME
1 INTRODUCTION TO PYTHON
2 PYTHON FUNDAMENTALS
3 DATA HANDLING
4 FLOW OF CONTROL
5 FUNCTIONS IN PYTHON
6 STRING IN PYTHON
7 LIST IN PYTHON
8 TUPLE IN PYTHON
9 DICTIONARY IN PYTHON
10 SORTING
|
CHAPTER-10
SORTING
10.1 DEFINITION:
To arrange the elements in ascending or descending order.
In this chapter we shall discuss two sorting techniques:
1. Bubble Sort
2. Insertion Sort
1. BUBBLE SORT: Bubble sort is a simple sorting
algorithm. It is based on comparisons, in
which each element is compared to its adjacent
element and the elements are swapped if they
are not in proper order.
ApnaJila ApnaJila 96
PROGRAM:
L=eval(input("Enter the elements:"))
n=len(L)
for p in range(0,n-1):
for i in range(0,n-1):
if L[i]>L[i+1]:
L[i], L[i+1] = L[i+1],L[i]
print("The sorted list is : ", L)
OUTPUT:
Enter the elements:[60, 24, 8, 90, 45, 87, 12, 77]
The sorted list is : [8, 12, 24, 45, 60, 77, 87, 90]
Calculating Number of Operations (Bubble sort):
Step CODING No. of Operations
1 L=eval(input("Enter the elements:")) 1
2 n=len(L) #for example n=7 1
3 for p in range(0,n-1): one operation for each
pass (executes 6 times, 0 to 5)
4 for i in range(0,n-1): executes 6 times for
elements, same will repeat 6
times under each pass (outer loop) so 6x6=36
operations
5 if L[i]>L[i+1]: executes 6 times for
comparisons in each pass, same
will repeat 6 times under each pass (outer loop) so
6x6=36 operations
6 L[i], L[i+1] = L[i+1],L[i] statement
related to step-5, so 6x6=36 operations
7 print("The sorted list is : ", L) 1
TOTAL: 1+1+6+36+36+36+1=117 operations
2. INSERTION SORT: Sorts the elements by
shifting them one by one and inserting the
element at right position.
PROGRAM:
L=eval(input("Enter the elements: "))
n=len(L)
for j in range(1,n):
temp=L[j]
prev=j-1
while prev>=0 and L[prev]>temp: # comparison the elements
L[prev+1]=L[prev] # shift the element forward
prev=prev-1
L[prev+1]=temp #inserting the element at proper position
print("The sorted list is :",L)
ApnaJila ApnaJila 98
OUTPUT:
Enter the elements: [45, 11, 78, 2, 56, 34, 90, 19]
The sorted list is : [2, 11, 19, 34, 45, 56, 78, 90]
Calculating Number of Operations (Insertion Sort):
Step CODING No. of Operations
1 L=eval(input("Enter the elements:")) 1
2 n=len(L) #for example n=7 1
3 for j in range(1,n): Executes 6 times
4 temp=L[j] one operation at a time, executes 6
times so 1x6 = 6
operations
5 prev=j-1 one operation at a time, executes 6
times so 1x6= 6
operations
6 while prev>=0 and L[prev]>temp: first time 1
comparison, second time 2, and so on. In
this case 1+2+3+4+5+6=21 operations
L[prev+1]=L[prev] first time 1 element shifted,
second time 2 and so on.
In this case 1+2+3+4+5+6= 21 operations
prev=prev-1 21 operations
L[prev+1]=temp element insertion at right place,
6 operations
7 print("The sorted list is : ", L) 1
TOTAL: 1+1+6+6+6+21+21+21+6+1 = 90 operations
10.2 How insertion sort is better than bubble sort?
Bubble Sort Insertion Sort
Inefficient Efficient
Require more memory Does not require additional memory
Slow fast for small sequences
More operations Less operations
ApnaJila ApnaJila 99
|
|