if(pos =- printf("\ % is not found in the array"val)else printf("\ % is found at position % "valpos)getche()return fibonacci search we are all well aware of the fibonacci series in which the first two terms are and and then each successive term is the sum of previous two terms in the fibonacci series given beloweach number is called fibonacci number the same series and concept can be used to search for given value in list of numbers such search algorithm which is based on fibonacci numbers is called fibonacci search and was developed by kiefer in the search follows divide-and-conquer technique and narrows down possible locations with the help of fibonacci numbers fibonacci search is similar to binary search it also works on sorted list and has run time complexity of (log nhoweverunlike the binary search algorithmfibonacci search does not divide the list into two equal halves rather it subtracts fibonacci number from the index to reduce the size of the list to be searched sothe key advantage of fibonacci search over binary search is that comparison dispersion is low introduction to sorting sorting means arranging the elements of an array so that they are placed in some relevant order which may be either ascending or descending that isif is an arraythen the elements of are arranged in sorted order (ascending orderin such way that [ [ [ [nfor exampleif we have an array that is declared and initialized as int [{ }then the sorted array (ascending ordercan be given asa[{ sorting algorithm is defined as an algorithm that puts the elements of list in certain orderwhich can be either numerical orderlexicographical orderor any user-defined order efficient sorting algorithms are widely used to optimize the use of other algorithms like search and merge algorithms which require sorted lists to work correctly there are two types of sortinginternal sorting which deals with sorting the data stored in the computer' memory external sorting which deals with sorting the data stored in files external sorting is applied when there is voluminous data that cannot be stored in the memory sorting on multiple keys many timeswhen performing real-world applicationsit is desired to sort arrays of records using multiple keys this situation usually occurs when single key is not sufficient to uniquely identify record for examplein big organization we may want to sort list of employees on the basis of their departments first and then according to their names in alphabetical order other examples of sorting on multiple keys can be telephone directories in which names are sorted by locationcategory (business or residential)and then in an alphabetical order