Friday, 31 July 2020

Group B 12[b] Write a python program to store names and mobile numbers of your friends in sorted order on names. Search your friend from list using Fibonacci search. Insert friend if not present in phonebook.


Very good explanation of Fibbonacci Search

Problem Statement:

b) Write a python program to store names and mobile numbers of your friends in sorted order on names. Search your friend from list using Fibonacci search. Insert friend if not present in phone book.



Source Code:







Output:

Author: Nitin Mohan Shivale
Phone Book Application implementation using...
Fibbonacci Search Method:
The element inside phone book are as follows:
['amol', 1234567892]

['bavesh', 2132654522]

['chetan', 9923511212]

['dheeraj', 9823463224]

['eravati', 8530770714]

Total elements present in phonebook  are: 5


Enter friend name u want to search:Bhavana


bhavana
bhavana  is not present in phonebook


Record bhavana is now inserted in phonebook....


Enter mobile number of your friend:9923511212


['bhavana', 9923511212]


[['amol', 1234567892], ['bavesh', 2132654522], ['chetan', 9923511212], ['dheeraj', 9823463224], ['eravati', 8530770714], ['bhavana', 9923511212]]


but for Binary and Fibonnaci search record must be in sorted order in phonebook


****** after Sorting the data in phonebook...******
[['amol', 1234567892], ['bavesh', 2132654522], ['bhavana', 9923511212], ['chetan', 9923511212], ['dheeraj', 9823463224], ['eravati', 8530770714]]


Record  bhavana  added successfully in phone book....
>











data structures and algorithms Web Developer

Group B: 12 [a] a) Write a python program to store names and mobile numbers of your friends in sorted order on names. Search your friend from list using binary search (recursive and non-recursive). Insert friend if not present in phonebook



Problem Statement:

a) Write a python program to store names and mobile numbers of your friends in sorted order on names. Search your friend from list using binary search (non recursive and recursive). Insert friend if not present in phone book.


Source Code:






Recursive Function of Binary Search:



The main function calling from here.....


data structures and algorithms Web Developer

Monday, 20 July 2020

Write a python program to store roll numbers of student in array who attended training program in random order. Write function for searching whether particular student attended training program or not, using Linear search and Sentinel search.


Problem Statement: 

a) Write a python program to store roll numbers of student in array who attended training program in random order. Write function for searching whether particular student attended training program or not, using Linear search and Sentinel search.

 

Theory: 

Linear Search : 

The idea behind linear search is to compare the search item with the elements in the list one by one (using a loop) and stop as soon as we get the first copy of the search element in the list. Now considering the worst case in which the search element does not exist in the list of size N then the Simple Linear Search will take a total of 2N+1 comparisons (N comparisons against every element in the search list and N+1 comparisons to test against the end of the loop condition).

 

 

Sentinel Linear Search : 

Here the idea is to reduce the number of comparisons required to find an element in a list. Here we replace the last element of the list with the search element itself and run a while loop to see if there exists any copy of the search element in the list and quit the loop as soon as we find the search element. See the code snippet for clarification.


Algorithm:

 

int last = array[N-1];                                                                                                                        
array[N-1] = item;    // Here item is the search element.
int i = 0;                 
while(array[i]!=item)            
{
    i++;  
}
array[N-1] = last;
if( (i < N-1) || (item == array[N-1]) )
{
    cout << " Item Found @ "<<i;
}
else
{
    cout << " Item Not Found";                                     
}

Analysis:

Here we see that the while loop makes only one comparison in each iteration and it is sure that it will terminate since the last element of the list is the search element itself. So in the worst case ( if the search element does not exists in the list ) then there will be at most N+2 comparisons ( N comparisons in the while loop and 2 comparisons in the if condition). Which is better than ( 2N+1 ) comparisons as found in Simple Linear Search.
Take note that both the algorithms have time complexity of O(n).

 Program :

 Output: 

Sentinel Search......
[1, 2, 3, 4, 5, 44, 55, 30]
8
30
[1, 2, 3, 4, 5, 44, 55, 30]
key found at location: 7


data structures and algorithms Web Developer

Write a python program to store roll numbers of student array who attended training program in sorted order. Write function for searching whether particular student attended training program or not, using Binary search and Fibonacci search


Problem Statement: 

b) Write a python program to store roll numbers of student array who attended training program in sorted order. Write function for searching whether particular student attended training program or not, using Binary search and Fibonacci search

 

Reference: https://www.geeksforgeeks.org/fibonacci-search/








data structures and algorithms Web Developer

Sunday, 19 July 2020

Algorithmic Strategies- Introduction to algorithm design strategies- Divide and Conquer, and Greedy strategy.


Algorithmic Strategies- Introduction to algorithm design strategies- Divide and Conquer, and Greedy strategy.

 














 

data structures and algorithms Web Developer

Analysis of programming constructs-Linear, Quadratic, Cubic, Logarithmic.


Analysis of programming constructs-Linear, Quadratic, Cubic, Logarithmic.

 





 

data structures and algorithms Web Developer