Pages

Friday, November 30, 2012

Design an algorithm, draw a corresponding flow chart and write a 'C' program for Binary Search, to search a given number among the list of numbers.

binary search or half-interval search algorithm finds the position of a specified value (the input "key") within a sorted array. In each step, the algorithm compares the input key value with the key value of the middle element of the array. If the keys match, then a matching element has been found so its index, or position, is returned. Otherwise, if the sought key is less than the middle element's key, then the algorithm repeats its action on the sub-array to the left of the middle element or, if the input key is greater, on the sub-array to the right. If the remaining array to be searched is reduced to zero, then the key cannot be found in the array and a special "Not found" indication is returned.
A binary search halves the number of items to check with each iteration, so locating an item (or determining its absence) takes logarithmic time. A binary search is a dichotomic divide and conquer search algorithm.






Algorithm


Recursive

A straightforward implementation of binary search is recursive. The initial call uses the indices of the entire array to be searched. The procedure then calculates an index midway between the two indices, determines which of the two subarrays to search, and then does a recursive call to search that subarray. Each of the calls is tail recursive, so a compiler need not make a new stack frame for each call. The variables imin and imax are the lowest and highest inclusive indices that are searched.
int binary_search(int A[], int key, int imin, int imax)
{
  // test if array is empty
  if (imax < imin):
    // set is empty, so return value showing not found
    return KEY_NOT_FOUND;
  else
    {
      // calculate midpoint to cut set in half
      int imid = midpoint(imin, imax);
 
      // three-way comparison
      if (A[imid] > key)
        // key is in lower subset
        return binary_search(A, key, imin, imid-1);
      else if (A[imid] < key)
        // key is in upper subset
        return binary_search(A, key, imid+1, imax);
      else
        // key has been found
        return imid;
    }
}
It is invoked with initial imin and imax values of 0 and N-1 for a zero based array.
The number type "int" shown in the code has an influence on how the midpoint calculation can be implemented correctly. With unlimited numbers, the midpoint can be calculated as "(imin + imax) / 2". In practical programming, however, the calculation is often performed with numbers of a limited range, and then the intermediate result "(imin + imax)" might overflow. With limited numbers, the midpoint can be calculated correctly as "imin + ((imax - imin) / 2)".

Tuesday, January 17, 2012

Best Bulk Image And Video Downloader Full Version

Thursday, January 5, 2012

My chat with tataDOCOMO and Won It :)

Welcome to Tata DOCOMO Chat. Please wait while representative is identified...
Your chat session has been assigned to Tata DOCOMO representative.
{Krishna}Good Morning Mr Inderpreet Singh. You are on line with Krishna.
{Krishna}How may I assist you?
{Inderpreet Singh}sir my balance deducted without any reason
{Inderpreet Singh}plz help
{Krishna}Sure
{Inderpreet Singh}in morning it was 7. somthing
{Inderpreet Singh}now its .05
{Krishna}Would you like to have this information for the number 76*******9 ?
{Inderpreet Singh}is there any other pack activated on my cell
{Inderpreet Singh}yup
{Krishna}Let me check
{Inderpreet Singh}ok
{Inderpreet Singh}waiting
{Inderpreet Singh}.......
{Inderpreet Singh}are you there na ?
{Krishna}Yes
{Inderpreet Singh}:)
{Krishna}I have checked here that your balance got deducted for Gamesclub
{Inderpreet Singh}but i have already deactivated that pack
{Inderpreet Singh}in morning
{Krishna}Ok
{Inderpreet Singh}so plz tell what other type of packs are still there
{Krishna}That 's it
{Inderpreet Singh}and how much was charged by that "Gamesclub"
{Krishna}Let me check
{Inderpreet Singh}PLZZZZZZZZZZZZZ deactivate all such packs by your self ans send confirmation on my cell
{Inderpreet Singh}when i called to C.c they said deactivate it by call a number its 15*** smthing then how they deducted ?????
{Krishna}Yes
{Krishna}Exactly.
{Inderpreet Singh}wat??
{Inderpreet Singh}tell what they charged
{Krishna}Till yesterday it was deducted 15 rs
{Inderpreet Singh}then i did so
{Inderpreet Singh}OH MY GOD !
{Inderpreet Singh}(faint)
{Krishna}Let me take a request regarding this issue
{Krishna}Kindly stay online
{Inderpreet Singh}ok
{Inderpreet Singh}PLZ BUG OFF THESE FROM MY BACK (crying.....)
{Inderpreet Singh}or let my apply for a loan to stay with docomo
{Inderpreet Singh}oh KRISHNA oh lord plz help
{Krishna}Sure
{Krishna}Your amount will be credited back in your account
{Krishna}Kindly wait for 30mins
{Inderpreet Singh}I want that hard earned money BACK
{Inderpreet Singh}all 15 rs
{Krishna}Sure
{Inderpreet Singh}a request from employ to employ
{Krishna}Please wait for 30mins
{Inderpreet Singh}OH THANKS
{Krishna}Most welcome
{Krishna}Is there any thing else I may assist you with?
{Inderpreet Singh}MY am i love with you people
{Krishna}Thank you
{Inderpreet Singh}PLZ make it to 50rs
{Inderpreet Singh}as i am loosing from last 7-8 days
{Krishna}Sorry.
{Inderpreet Singh}ok
{Inderpreet Singh}but make me sure it will not happen in future
{Krishna}Ok
{Inderpreet Singh}ok whats my request number
{Krishna}GBL0********0 this is the request number .
{Inderpreet Singh}.....zzzz......
{Inderpreet Singh}oh
{Inderpreet Singh}its sure na
{Krishna}Yes sir its sur.
{Inderpreet Singh}Actuall i am stuck in jungle with zero balance
{Inderpreet Singh}just kidding
{Inderpreet Singh}bye
{Krishna}Bye
{Krishna}Thank you for your patronage.
The user has ended the session.

AD