hmm......
worst case will be O(n).
m not sure but i think avg case would be logn + k ( now if k approx
logn ( k<<n) where k is the number of times an element can repeat
itself the order remains same)
now if k is large, no of different elements is v low, many times
unsucc search will happen which is logn
rigrous analysis has to be done.



Anyways
my second soltn is definitly O(logn)
where u chk the highest number instead of mid.



On Wed, Mar 4, 2009 at 7:43 PM, sharad kumar <aryansmit3...@gmail.com> wrote:
> ya boss rite.but according to asymptotic analysis the solutin shld be
> O(n);rite??
>
> On Wed, Mar 4, 2009 at 6:48 PM, Prakhar Jain <prakh...@gmail.com> wrote:
>>
>> see its log(n) + k where k<=the number of duplicates of the element
>> being searched.
>> For log(n), you can continue till your high comes on the element u
>> desire and not low.
>>
>>
>> On Wed, Mar 4, 2009 at 6:45 PM, sharad kumar <aryansmit3...@gmail.com>
>> wrote:
>> > "search() find any index and then iterates sequentially till the highest
>> > index" how is this logn
>> >
>> > On Wed, Mar 4, 2009 at 6:44 PM, sharad kumar <aryansmit3...@gmail.com>
>> > wrote:
>> >>
>> >> ya rite....
>> >>
>> >> On Wed, Mar 4, 2009 at 5:31 PM, Prunthaban <pruntha...@gmail.com>
>> >> wrote:
>> >>>
>> >>> @sharad - Your solution is O(n) Miroslav's solution is O(logn).
>> >>> And what are you doing with the 'j' variable in your solution? Why not
>> >>> simply use a[i] == k then c = i. That is what eventually your solution
>> >>> is doing and it is O(n).
>> >>>
>> >>>
>> >>>
>> >>> On Mar 4, 4:32 pm, sharad kumar <aryansmit3...@gmail.com> wrote:
>> >>> > pls tell wats difference btwn increasing and non decresing sorted
>> >>> > array.question clearly tells n sorted array.......
>> >>> >
>> >>> > On Wed, Mar 4, 2009 at 4:55 PM, Miroslav Balaz
>> >>> > <gpsla...@googlemail.com>wrote:
>> >>> >
>> >>> > > of course, you cannot assume that array is in ascending order, it
>> >>> > > is
>> >>> > > in
>> >>> > > non-decreasing order however not in ascending
>> >>> > > and you should swap order here :(a[mid+1] > key||mid==high)
>> >>> >
>> >>> > > 2009/3/4 Kapil <navka...@gmail.com>
>> >>> >
>> >>> > >> just fixing a bug
>> >>> >
>> >>> > >> what if you write bin_search as this
>> >>> > >> //assumption array is in ascending order
>> >>> > >> binsearch(high, low, key, a)
>> >>> > >> begin
>> >>> > >>  if low > high
>> >>> > >>   return -1
>> >>> > >>  mid = (high+low)/2
>> >>> > >>  if a[mid] = key And (a[mid+1] > key||mid==high)
>> >>> > >>    return mid
>> >>> > >>  if a[mid] <= key
>> >>> > >>   low = mid+1
>> >>> > >>  else
>> >>> > >>   high = mid - 1
>> >>> > >>  return binsearch(high,low,key,a)
>> >>> > >> end
>> >>> >
>> >>> > >> On Mar 4, 3:46 pm, Kapil <navka...@gmail.com> wrote:
>> >>> > >> > what if you write bin_search as this
>> >>> > >> > //assumption array is in ascending order
>> >>> > >> > binsearch(high, low, key, a)
>> >>> > >> > begin
>> >>> > >> >  if low > high
>> >>> > >> >    return -1
>> >>> > >> >  mid = (high+low)/2
>> >>> > >> >  if a[mid] = key And a[mid+1] > key
>> >>> > >> >    return mid
>> >>> > >> >  if a[mid] <= key
>> >>> > >> >    low = mid+1
>> >>> > >> >  else
>> >>> > >> >    high = mid - 1
>> >>> > >> >  return binsearch(high,low,key,a)
>> >>> > >> > end
>> >>>
>> >>
>> >
>> >
>> > >
>> >
>>
>>
>>
>> --
>> Prakhar
>>
>>
>
>
> >
>



-- 
Prakhar

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to algogeeks@googlegroups.com
To unsubscribe from this group, send email to 
algogeeks+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/algogeeks
-~----------~----~----~----~------~----~------~--~---

Reply via email to