think it might work.. its a variant of in order iterative version.. checking
each time previous value from current node's data
bool isBST(tree *t)
{
if(!t)
return true;
bool done = false;
int last_value = INT_MIN;
Stack s;
while(!done)
{
if(t)
{
s.push(t);
t=t->left;
}
else if(!s.empty())
{
t = s.pop();
if(last_value > t->data)
return false;
else
last_value = t->data;
t=t->right;
}
else
done = true;
}
return true;
}
surender
On Mon, Jul 4, 2011 at 3:34 PM, Apoorve Mohan <[email protected]>wrote:
> @surender: ok man...got it...thanks :)
>
>
> On Mon, Jul 4, 2011 at 3:28 PM, surender sanke <[email protected]>wrote:
>
>> seems its failing for
>> 3
>> 2 5
>> 1 4 N N
>>
>> Surender
>>
>> On Mon, Jul 4, 2011 at 3:12 PM, Apoorve Mohan <[email protected]>wrote:
>>
>>> @surender: in the while loop all the nodes are being checked...please
>>> tell me where u r stuck???
>>>
>>>
>>> On Mon, Jul 4, 2011 at 2:13 PM, surender sanke <[email protected]>wrote:
>>>
>>>> chk_bst doesnt works as its checking only for its immediate child's
>>>> values.
>>>> i think inorder non decreasing sequence checking would require here
>>>> which is iteratively programmed
>>>>
>>>> surender
>>>>
>>>> On Thu, Jun 30, 2011 at 4:05 PM, Apoorve Mohan
>>>> <[email protected]>wrote:
>>>>
>>>>> 1.
>>>>>
>>>>> int chk_bst(node *root)
>>>>> {
>>>>> if(root)
>>>>> {
>>>>> enqueue(root);
>>>>> while(!isempty())
>>>>> {
>>>>> p=dequeue();
>>>>>
>>>>> if(p->left)
>>>>> {
>>>>> if(!(p->left->data < p->data))
>>>>> return 0;
>>>>> enqueue(p->left);
>>>>> }
>>>>>
>>>>> if(p->right)
>>>>> {
>>>>> if(!(p->right->data >= p->data))
>>>>> return 0;
>>>>> enqueue(p->right);
>>>>> }
>>>>> }
>>>>> }
>>>>> return 1;
>>>>> }
>>>>>
>>>>>
>>>>>
>>>>> 2.
>>>>>
>>>>> void mirror(node **root)
>>>>> {
>>>>>
>>>>> if(root)
>>>>> {
>>>>> enqueue(*root);
>>>>> while(!isempty())
>>>>> {
>>>>> *p = dequeue();
>>>>> if(*p->left)
>>>>> enqueue(*p->left);
>>>>> if(*p->right)
>>>>> enqueue(*p-right);
>>>>> swap(*p->left,*p->right);
>>>>> }
>>>>> }
>>>>> }
>>>>>
>>>>>
>>>>> On Thu, Jun 30, 2011 at 2:12 PM, vikas <[email protected]> wrote:
>>>>>
>>>>>> for 1 i did implement exactly the same algorithms.
>>>>>>
>>>>>> and for 2 i donot know why but at that time i was not able to
>>>>>> implement it iteratively and hense implemented its recursive version
>>>>>> only.
>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "Algorithm Geeks" group.
>>>>>> To view this discussion on the web visit
>>>>>> https://groups.google.com/d/msg/algogeeks/-/hJswdQGammMJ.
>>>>>>
>>>>>> To post to this group, send email to [email protected].
>>>>>> To unsubscribe from this group, send email to
>>>>>> [email protected].
>>>>>> For more options, visit this group at
>>>>>> http://groups.google.com/group/algogeeks?hl=en.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> regards
>>>>>
>>>>> Apoorve Mohan
>>>>>
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Algorithm Geeks" group.
>>>>> To post to this group, send email to [email protected].
>>>>> To unsubscribe from this group, send email to
>>>>> [email protected].
>>>>> For more options, visit this group at
>>>>> http://groups.google.com/group/algogeeks?hl=en.
>>>>>
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Algorithm Geeks" group.
>>>> To post to this group, send email to [email protected].
>>>> To unsubscribe from this group, send email to
>>>> [email protected].
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/algogeeks?hl=en.
>>>>
>>>
>>>
>>>
>>> --
>>> regards
>>>
>>> Apoorve Mohan
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "Algorithm Geeks" group.
>>> To post to this group, send email to [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected].
>>> For more options, visit this group at
>>> http://groups.google.com/group/algogeeks?hl=en.
>>>
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Algorithm Geeks" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> For more options, visit this group at
>> http://groups.google.com/group/algogeeks?hl=en.
>>
>
>
>
> --
> regards
>
> Apoorve Mohan
>
> --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>
--
You received this message because you are subscribed to the Google Groups
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/algogeeks?hl=en.