<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1179025319836330022</id><updated>2012-02-16T19:40:53.759-08:00</updated><title type='text'>Data Structures and Algorithms</title><subtitle type='html'>Design and implementation of interesting data structures and algorithms. You may find it useful either in your computer science course curriculum or in technical interviews of companies like Microsoft, Amazon, Google, Yahoo, Sun, Oracle etc</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default?start-index=101&amp;max-results=100'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>111</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-2782685147835181003</id><published>2011-04-21T02:49:00.000-07:00</published><updated>2011-04-21T02:49:22.129-07:00</updated><title type='text'>Sort an array having 0,1,2 without counting</title><content type='html'>1.Use 3 pointers low,mid &amp; hi.&lt;br /&gt;2.low will point to first element from left which is not 0&lt;br /&gt;3. hi will point to first element from right which is not 2&lt;br /&gt;4.low will not point to 2, except when low==mid&lt;br /&gt;5.mid will move from 0 to hi and if it is 2, moves it to hi&lt;br /&gt;  and if it is 1 moves it to low.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public int[] group012(int[]arr)&lt;br /&gt;{&lt;br /&gt; int low=0,mid=0,hi=arr.length-1,temp=0;&lt;br /&gt; &lt;br /&gt; while(mid&lt;=hi)&lt;br /&gt; {&lt;br /&gt; &lt;br /&gt;  &lt;br /&gt;  switch(arr[mid])&lt;br /&gt;  {&lt;br /&gt;  case 0:&lt;br /&gt;   arr[mid++]=arr[low];&lt;br /&gt;   arr[low++]=0;&lt;br /&gt;   break;&lt;br /&gt;  case 1:&lt;br /&gt;    mid++;&lt;br /&gt;    break;&lt;br /&gt;  case 2:&lt;br /&gt;    arr[mid]=arr[hi];&lt;br /&gt;    arr[hi--]=2;      &lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt; }  &lt;br /&gt;  &lt;br /&gt;  return arr;   &lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-2782685147835181003?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/2782685147835181003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=2782685147835181003' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/2782685147835181003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/2782685147835181003'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/sort-array-having-012-without-counting.html' title='Sort an array having 0,1,2 without counting'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-8714376130872057908</id><published>2011-04-15T00:02:00.001-07:00</published><updated>2011-04-15T00:02:22.564-07:00</updated><title type='text'>Width of a tree</title><content type='html'>getMaxWidth(tree)&lt;br /&gt;maxWdth = 0&lt;br /&gt;for i = 1 to height(tree)&lt;br /&gt;  width =   getWidth(tree, i);&lt;br /&gt;  if(width &gt; maxWdth)&lt;br /&gt;      maxWdth  = width&lt;br /&gt;return width&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/*Function to get width of a given level */&lt;br /&gt;getWidth(tree, level)&lt;br /&gt;if tree is NULL then return 0;&lt;br /&gt;if level is 1, then return 1;&lt;br /&gt;else if level greater than 1, then&lt;br /&gt;    return getWidth(tree-&gt;left, level-1) +&lt;br /&gt;    getWidth(tree-&gt;right, level-1);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-8714376130872057908?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/8714376130872057908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=8714376130872057908' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8714376130872057908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8714376130872057908'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/width-of-tree.html' title='Width of a tree'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-6964389406406208246</id><published>2011-04-14T10:37:00.001-07:00</published><updated>2011-04-14T10:37:47.072-07:00</updated><title type='text'>To find nth element from the end in a linked list</title><content type='html'>Use two pointers.&lt;br /&gt;Start the second pointer when the first pointer reaches nth element.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-6964389406406208246?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/6964389406406208246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=6964389406406208246' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/6964389406406208246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/6964389406406208246'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/to-find-nth-element-from-end-in-linked.html' title='To find nth element from the end in a linked list'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-1191494415288079677</id><published>2011-04-14T10:36:00.001-07:00</published><updated>2011-04-14T10:36:04.946-07:00</updated><title type='text'>Middle of a linked list in one traversal</title><content type='html'>Use 1 slow pointer and one fast pointer.&lt;br /&gt;When the fast pointer reaches the end, &lt;br /&gt; slow pointer will be at the middle&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-1191494415288079677?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/1191494415288079677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=1191494415288079677' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1191494415288079677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1191494415288079677'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/middle-of-linked-list-in-one-traversal.html' title='Middle of a linked list in one traversal'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-8508929664764226845</id><published>2011-04-14T10:30:00.000-07:00</published><updated>2011-04-14T10:30:14.349-07:00</updated><title type='text'>Sieve of Eratosthenes</title><content type='html'>To find all the prime numbers less than or equal to a given integer n:&lt;br /&gt;1. Create a list of consecutive integers from two to n: (2, 3, 4, ..., n).&lt;br /&gt;2. Initially, let p equal 2, the first prime number.&lt;br /&gt;3. Starting from p, count up by p and cross out thus found numbers in the list (which will be 2p,   &lt;br /&gt;   3p, 4p, etc.).&lt;br /&gt;4. Find the first number not yet crossed out after p; let p now equal this number (which is the &lt;br /&gt;   next prime).&lt;br /&gt;5. Repeat steps 3 and 4 until p is greater than n.&lt;br /&gt;   All the numbers in the list which are not crossed out are prime.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-8508929664764226845?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/8508929664764226845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=8508929664764226845' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8508929664764226845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8508929664764226845'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/sieve-of-eratosthenes.html' title='Sieve of Eratosthenes'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-1375298529670361168</id><published>2011-04-14T10:11:00.001-07:00</published><updated>2011-04-14T10:18:30.804-07:00</updated><title type='text'>Array Matching</title><content type='html'>a. Given two integer arrays and the size of each array.&lt;br /&gt;b. Determine if arrays match.&lt;br /&gt;c. Order of elements does not matter.&lt;br /&gt;d. Number of occurrences does matter.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Shortcut:&lt;br /&gt;sum=sum of all elements in array1&lt;br /&gt;prod=product of all elements in array1&lt;br /&gt;If this matches with that of array2, the arrays are matching.&lt;br /&gt;(0 can not be present in the array)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-1375298529670361168?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/1375298529670361168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=1375298529670361168' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1375298529670361168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1375298529670361168'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/array-matching.html' title='Array Matching'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-1610126756818071830</id><published>2011-04-14T09:47:00.001-07:00</published><updated>2011-04-14T09:47:24.606-07:00</updated><title type='text'>Selection Algorithm</title><content type='html'>To find the kth smallest element&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-1610126756818071830?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/1610126756818071830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=1610126756818071830' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1610126756818071830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1610126756818071830'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/selection-algorithm.html' title='Selection Algorithm'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-1905042768129826300</id><published>2011-04-14T09:36:00.000-07:00</published><updated>2011-04-14T09:36:58.598-07:00</updated><title type='text'>Nearest Points from origin</title><content type='html'>Given set of n points (Xi, Yi), write a function to find k nearest points from origin.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Use the selection algorithm to find the kth minimum element ,this takes o(n) time. After finding the kth minimum element, iterate over the array to find all the elements less than the kth minimum element. Overall complexity is o(n).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-1905042768129826300?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/1905042768129826300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=1905042768129826300' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1905042768129826300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1905042768129826300'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/nearest-points-from-origin.html' title='Nearest Points from origin'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-1833237795070736188</id><published>2011-04-14T06:22:00.001-07:00</published><updated>2011-04-14T06:22:07.421-07:00</updated><title type='text'>Queue using Stack</title><content type='html'>Enqueue():&lt;br /&gt;Pop() all elements from StackA to StackB one by one - O(n)&lt;br /&gt;Push() new element in StackA, so it stays at the bottom- O(1).&lt;br /&gt;Pop() all elements from StackB back to StackA - O(n)&lt;br /&gt;So, enqueue is O(n).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Dequeue():&lt;br /&gt;Just Pop().&lt;br /&gt;O(1)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-1833237795070736188?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/1833237795070736188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=1833237795070736188' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1833237795070736188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1833237795070736188'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/queue-using-stack.html' title='Queue using Stack'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-3821549659268954656</id><published>2011-04-14T06:00:00.001-07:00</published><updated>2011-04-14T06:16:57.388-07:00</updated><title type='text'>Find the inorder successor of all nodes</title><content type='html'>Store the nodes to an array.&lt;br /&gt;For each element, tne next element is the inorder successor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-3821549659268954656?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/3821549659268954656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=3821549659268954656' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3821549659268954656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3821549659268954656'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/find-inorder-successor-of-all-nodes.html' title='Find the inorder successor of all nodes'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-7712863386725206621</id><published>2011-04-14T04:32:00.001-07:00</published><updated>2011-04-14T04:32:04.337-07:00</updated><title type='text'>Find grand parent pointer for each node</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-7712863386725206621?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/7712863386725206621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=7712863386725206621' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7712863386725206621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7712863386725206621'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/find-grand-parent-pointer-for-each-node.html' title='Find grand parent pointer for each node'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-4042379708606652310</id><published>2011-04-14T04:20:00.001-07:00</published><updated>2011-04-14T05:57:16.214-07:00</updated><title type='text'>All possible bracket combinations</title><content type='html'>How can we generate all possibilities on braces ?&lt;br /&gt;N value has given to us and we have to generate all possibilities.&lt;br /&gt;**Examples:**&lt;br /&gt;1) if N == 1, then only one possibility () .&lt;br /&gt;2) if N==2, then possibilities are (()), ()()&lt;br /&gt;3) if N==3, then possibilities are ((())), (())(),()()(), ()(()) ...&lt;br /&gt;Note: left and right braces should match. I mean )( is INVALID for the N==1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The below recursion tree shows the flow:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-GmJDER5bxqw/TabvHx8EpoI/AAAAAAAAAAw/huqkO-1qR2w/s1600/recursion%2Btree.JPG" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="216" width="320" src="http://4.bp.blogspot.com/-GmJDER5bxqw/TabvHx8EpoI/AAAAAAAAAAw/huqkO-1qR2w/s320/recursion%2Btree.JPG" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public static void allValidBrackets(int n, int open, int closed, String str) {&lt;br /&gt; &lt;br /&gt;        if (closed == n) {&lt;br /&gt;            System.out.println(str);&lt;br /&gt;            return;&lt;br /&gt;        }&lt;br /&gt; &lt;br /&gt;        if (open &lt; n) {&lt;br /&gt;         allValidBrackets(n, open+1, closed, str + "{");&lt;br /&gt;        }&lt;br /&gt; &lt;br /&gt;        if (closed &lt; open) {&lt;br /&gt;         allValidBrackets(n, open, closed+1, str + "}");&lt;br /&gt;        }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-4042379708606652310?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/4042379708606652310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=4042379708606652310' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/4042379708606652310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/4042379708606652310'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/all-possible-bracket-combinations.html' title='All possible bracket combinations'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-GmJDER5bxqw/TabvHx8EpoI/AAAAAAAAAAw/huqkO-1qR2w/s72-c/recursion%2Btree.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-5441668717357565222</id><published>2011-04-14T04:05:00.001-07:00</published><updated>2011-04-14T04:05:26.088-07:00</updated><title type='text'>Cycle detection in a directed graph</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-5441668717357565222?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/5441668717357565222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=5441668717357565222' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/5441668717357565222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/5441668717357565222'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/cycle-detection-in-directed-graph.html' title='Cycle detection in a directed graph'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-1428048455361618842</id><published>2011-04-14T04:04:00.000-07:00</published><updated>2011-04-14T04:04:34.082-07:00</updated><title type='text'>alternate merge two linked lists</title><content type='html'>Recursive Solution:&lt;br /&gt;Consider two lists a &amp; b&lt;br /&gt; Merge the list from a.next with b&lt;br /&gt; Attach the merged list to a.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-1428048455361618842?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/1428048455361618842/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=1428048455361618842' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1428048455361618842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1428048455361618842'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/alternate-merge-two-linked-lists.html' title='alternate merge two linked lists'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-6022143150453484892</id><published>2011-04-14T03:56:00.000-07:00</published><updated>2011-04-14T03:56:38.311-07:00</updated><title type='text'>Rotate n elements in an array</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;br /&gt;Sol:&lt;br /&gt;1. Reverse 0..k&lt;br /&gt;2. Reverse k+1 to N&lt;br /&gt;3. Reverse the entire array.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//To reverse elements from i to j (0 to n-1)&lt;br /&gt;&lt;br /&gt;public int[] reverseArray(int[]a, int i, int j)&lt;br /&gt;{ &lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int temp=0;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;while(i&amp;ltj)&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;temp=a[i];&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;a[i]=a[j];&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;a[j]=temp;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;i++;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;j--;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return a;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;}&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-6022143150453484892?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/6022143150453484892/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=6022143150453484892' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/6022143150453484892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/6022143150453484892'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/rotate-n-elements-in-array.html' title='Rotate n elements in an array'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-1385861216691336968</id><published>2011-04-14T03:05:00.000-07:00</published><updated>2011-04-14T03:48:29.673-07:00</updated><title type='text'>Repeating element</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;In an array of size n, n/2 elements are unique and one element is repeated n/2 times. How to find the repeating number using least number of comparisons.&lt;br /&gt;&lt;br /&gt;Solution:&lt;br /&gt;Compare every element with the next element.&lt;br /&gt;&amp;nbsp;&amp;nbsp; If at any point they are equal, return that element.&lt;br /&gt;Compare 1st element with 3rd element&lt;br /&gt;&amp;nbsp;&amp;nbsp;If they are equal, return that element&lt;br /&gt;Compare 2nd and 4th element if they are equal, return that element.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-1385861216691336968?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/1385861216691336968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=1385861216691336968' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1385861216691336968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1385861216691336968'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/repeating-element.html' title='Repeating element'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-3633227621944420540</id><published>2011-04-14T02:56:00.001-07:00</published><updated>2011-04-14T02:56:48.015-07:00</updated><title type='text'>Sum of elements</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Write a function that takes an array of five integers, each of which is between 1 and 10, and returns the number of combinations of those integers that sum to 15. For example, calling the function with the array [1, 2, 3, 4, 5] should return 1, while calling it with [5, 5, 10, 2, 3] should return 4 (5 + 10, 5 + 10, 5 + 5 + 2 + 3, 10 + 2 + 3). You may assume that the input has already been validated.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-3633227621944420540?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/3633227621944420540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=3633227621944420540' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3633227621944420540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3633227621944420540'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/sum-of-elements.html' title='Sum of elements'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-2255301442499398537</id><published>2011-04-14T02:28:00.001-07:00</published><updated>2011-04-14T02:28:13.812-07:00</updated><title type='text'>Path in a tree sums up to N</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;you are given a bst where each node has a int value , parent pointer , and left and right pointers , write a function to find a path with a given sum value. Path can go from left subtree tree , include root and go to right tree as well . we need to find these paths also .&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-2255301442499398537?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/2255301442499398537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=2255301442499398537' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/2255301442499398537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/2255301442499398537'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/path-in-tree-sums-up-to-n.html' title='Path in a tree sums up to N'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-3822557782433630372</id><published>2011-04-14T02:17:00.000-07:00</published><updated>2011-04-14T02:17:13.301-07:00</updated><title type='text'>Next smaller in array</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;For each number, find the next smaller number in the array. If next smaller number does not exists, put 0.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;Eg.&lt;br /&gt;Input: &amp;nbsp; 1 &amp;nbsp;5 7 6 3 1 &amp;nbsp;6 &amp;nbsp;2 &amp;nbsp;9 &amp;nbsp;2 7&lt;br /&gt;Output: 0 3 &amp;nbsp;6 3 1 0 &amp;nbsp;2 &amp;nbsp;0 &amp;nbsp;2 &amp;nbsp;0 0&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-3822557782433630372?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/3822557782433630372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=3822557782433630372' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3822557782433630372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3822557782433630372'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/next-smaller-in-array.html' title='Next smaller in array'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-7463241450099719076</id><published>2011-04-14T02:03:00.001-07:00</published><updated>2011-04-14T02:03:28.727-07:00</updated><title type='text'>Path in binary tree</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;There is a binary tree(Not a BST) in which you are given three nodes x,y,z .Write a function which finds whether y lies in the path b/w x&lt;br /&gt;and z.&lt;br /&gt;Assume z is a descedant of x, then y need to satisfy two conditions:&lt;br /&gt;(1) y need to be ancester of z&lt;br /&gt;(2) y need to be descendant of x&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-7463241450099719076?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/7463241450099719076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=7463241450099719076' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7463241450099719076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7463241450099719076'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/path-in-binary-tree.html' title='Path in binary tree'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-2501530148955918621</id><published>2011-04-14T01:37:00.000-07:00</published><updated>2011-04-14T01:45:20.501-07:00</updated><title type='text'>Determine all non concentric palindromes in a String</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;In m"ala"yalam &amp;nbsp;is a non-concentric palindrome where as&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;malayalam,&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;alayala,&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;aya are concentric palindromes.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;Solution:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;For each i in the string&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Find the largest palindrome having i as the center&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-2501530148955918621?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/2501530148955918621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=2501530148955918621' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/2501530148955918621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/2501530148955918621'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/determine-all-non-concentric.html' title='Determine all non concentric palindromes in a String'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-1111005370944053040</id><published>2011-04-14T00:07:00.001-07:00</published><updated>2011-04-14T01:29:19.564-07:00</updated><title type='text'>Fibonacci Series</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;1. Recursive routine to return nth fibonacci number&lt;br /&gt;2. Non recursive routine to print first n fibonacci numbers&lt;br /&gt;3. Recursive routine to print first n fibonacci numbers&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Solution 3.(Without using static variable)&lt;br /&gt;void recursiveFibonacci(int count, int i, int j)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;System.out.println(i);&lt;br /&gt;recursiveFibonacci(count-1, j, i+j);&lt;br /&gt;} &lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-1111005370944053040?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/1111005370944053040/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=1111005370944053040' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1111005370944053040'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1111005370944053040'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/fibonacci-series.html' title='Fibonacci Series'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-564975387810993195</id><published>2011-04-13T23:56:00.001-07:00</published><updated>2011-04-14T00:07:25.004-07:00</updated><title type='text'>Finding pairs</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Two integer arrays, write a function to get pairs of number&lt;br /&gt;Ex: &lt;br /&gt;input: [2,5,6,8,10,2,3,5] &amp;amp; [4,7,3,5,2,10,2,4] output:[2,2,3,5,10]&lt;br /&gt;input: [2,2,2,3,4,5,6,7] &amp;amp; [2,2,5,5,7,10] output: [2,2,5,7]&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sol.&lt;br /&gt;1. Sort the smaller array.&lt;br /&gt;2. Use a pointer on the unsorted array to search from beginng to end.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-564975387810993195?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/564975387810993195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=564975387810993195' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/564975387810993195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/564975387810993195'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/finding-pairs.html' title='Finding pairs'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-3722806502489963521</id><published>2011-04-13T23:47:00.001-07:00</published><updated>2011-04-13T23:47:53.961-07:00</updated><title type='text'>Run length encoding</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-3722806502489963521?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/3722806502489963521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=3722806502489963521' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3722806502489963521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3722806502489963521'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/run-length-encoding.html' title='Run length encoding'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-1421820180121696785</id><published>2011-04-13T23:44:00.001-07:00</published><updated>2011-04-13T23:44:49.261-07:00</updated><title type='text'>Word count Program</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;=number of white spaces+1&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-1421820180121696785?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/1421820180121696785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=1421820180121696785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1421820180121696785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1421820180121696785'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/word-count-program.html' title='Word count Program'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-4213683412615136177</id><published>2011-04-13T23:24:00.000-07:00</published><updated>2011-04-13T23:24:45.850-07:00</updated><title type='text'>Find the center of a linked list</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Sol 1:&lt;br /&gt;1. scan the list to compute the length&lt;br /&gt;2. scan again to find the median&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sol2:&lt;br /&gt;1. Take two pointers, slow and fast, both pointing to head of list&lt;br /&gt;2. Now move slow point node node next and fast pointer two node next&lt;br /&gt;3. Keep moving until fast pointer reaches to END of list OR 2nd last node (depends on node count in list is odd or even), at this point, slow pointer is at the center of list.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-4213683412615136177?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/4213683412615136177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=4213683412615136177' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/4213683412615136177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/4213683412615136177'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/find-center-of-linked-list.html' title='Find the center of a linked list'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-4601654150091389967</id><published>2011-04-13T23:16:00.000-07:00</published><updated>2011-04-13T23:19:34.692-07:00</updated><title type='text'>Sort with 2 stacks and a variable</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;2 stacks are given, one is full of numbers and other in empty, one integer variable is given, fill the 2nd stack with numbers in ascending order with space and time constraints.&lt;br /&gt;Solution:&lt;br /&gt;1)Pop the elements from stack1 and push them to stack2. While popping find out the max element in the stack1.&lt;br /&gt;2) Keep the max element in the temp variable.&lt;br /&gt;&lt;div&gt;3) Pop all elements in stack2 and push to stack1 except max element.&lt;br /&gt;4) Now Push max element(temp) into stack2 and keep track of no:of max elements pushed into stack2, so that in next rounds, you don't pop the max elements pushed already pushed to stack2.&lt;br /&gt;5) At the end, &amp;nbsp;stack1 will be empty and stack2 contains the elements in increasing order.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-4601654150091389967?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/4601654150091389967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=4601654150091389967' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/4601654150091389967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/4601654150091389967'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/sort-with-2-stacks-and-variable.html' title='Sort with 2 stacks and a variable'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-7825199353526317877</id><published>2011-04-13T11:10:00.001-07:00</published><updated>2011-04-13T11:10:40.173-07:00</updated><title type='text'>Median of two sorted arrays</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-7825199353526317877?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/7825199353526317877/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=7825199353526317877' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7825199353526317877'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7825199353526317877'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/median-of-two-sorted-arrays.html' title='Median of two sorted arrays'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-8448787090666197462</id><published>2011-04-13T10:51:00.000-07:00</published><updated>2011-04-13T10:57:15.241-07:00</updated><title type='text'>Pairing</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Give an unsorted array of integers A and and an integer I, find out if any two members of A add up to I.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;For example:&lt;br /&gt;A = &amp;lt; 3, 25, 9, 15&amp;gt;&lt;br /&gt;I = 12 returns true&lt;br /&gt;but I = 19 returns false.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Can you find the answer in O(n*log(n)) time?&lt;br /&gt;Can you find the answer in O(n) time?&lt;br /&gt;&lt;br /&gt;O(n):&lt;br /&gt;-Create array B by subtracting A[i] from I for each i&lt;br /&gt;-If B[i] exists in A return true.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-8448787090666197462?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/8448787090666197462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=8448787090666197462' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8448787090666197462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8448787090666197462'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/pairing_13.html' title='Pairing'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-8002085617769357865</id><published>2011-04-13T10:27:00.000-07:00</published><updated>2011-04-13T10:40:37.588-07:00</updated><title type='text'>Reverse the words in a string.</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-8002085617769357865?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/8002085617769357865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=8002085617769357865' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8002085617769357865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8002085617769357865'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/reverse-string.html' title='Reverse the words in a string.'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-3204624746392978779</id><published>2011-04-13T07:10:00.001-07:00</published><updated>2011-04-13T07:10:29.408-07:00</updated><title type='text'>Implement BigInteger</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;write a function to find out the factorial of a number. it should also work for large numbers like 100!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-3204624746392978779?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/3204624746392978779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=3204624746392978779' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3204624746392978779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3204624746392978779'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/implement-biginteger.html' title='Implement BigInteger'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-5486810243393946669</id><published>2011-04-13T07:02:00.001-07:00</published><updated>2011-04-13T07:02:35.604-07:00</updated><title type='text'>Deleting current node in a singly linked list</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Given a singly linked list with a pointer p pointing to some node(not the first or last node), how will you delete that node? You have no access to the head of the node&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Solution:&lt;/div&gt;Copy next node to current node and delete next node&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-5486810243393946669?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/5486810243393946669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=5486810243393946669' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/5486810243393946669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/5486810243393946669'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/deleting-current-node-in-singly-linked.html' title='Deleting current node in a singly linked list'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-410602832931711014</id><published>2011-04-13T06:48:00.001-07:00</published><updated>2011-04-13T06:49:32.636-07:00</updated><title type='text'>Merge Array</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Two sorted arrays A[X] and B[Y+X]. in B array contains Y sorted elements and B can accommodate A[] X elements.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;W.A.P to Merge two arrays and store resultant in B[] array.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Solution:&lt;br /&gt;Merge A and B from back to front&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-410602832931711014?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/410602832931711014/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=410602832931711014' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/410602832931711014'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/410602832931711014'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/merge-array.html' title='Merge Array'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-7319016584467467467</id><published>2011-04-13T05:47:00.001-07:00</published><updated>2011-04-13T05:55:10.094-07:00</updated><title type='text'>Tree Mirror Image</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Check if the left subtree is a mirror image of the right subtree.&lt;br /&gt;&lt;br /&gt;Solution 1:&lt;br /&gt;Do an inorder traversal. If result is a pallindrom then symmetric else not symmetric&lt;br /&gt;&lt;br /&gt;Solution 2:&lt;br /&gt;A solution that may work is - Preorder is reverse to its postorder&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-7319016584467467467?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/7319016584467467467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=7319016584467467467' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7319016584467467467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7319016584467467467'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/tree-mirror-image.html' title='Tree Mirror Image'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-5949091883109787147</id><published>2011-04-13T05:13:00.001-07:00</published><updated>2011-04-13T05:13:05.152-07:00</updated><title type='text'>most frequent character</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;Given an array of characters (not sorted), how do you find the most frequent character?&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-5949091883109787147?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/5949091883109787147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=5949091883109787147' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/5949091883109787147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/5949091883109787147'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/most-frequent-character.html' title='most frequent character'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-662887940692493093</id><published>2011-04-13T05:11:00.001-07:00</published><updated>2011-04-13T05:11:23.898-07:00</updated><title type='text'>Given a binary search tree find the its least depth.</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-662887940692493093?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/662887940692493093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=662887940692493093' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/662887940692493093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/662887940692493093'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/given-binary-search-tree-find-its-least.html' title='Given a binary search tree find the its least depth.'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-8962193340979653206</id><published>2011-04-13T04:47:00.001-07:00</published><updated>2011-04-13T05:10:05.860-07:00</updated><title type='text'>LRU implementation</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Use a Doubly Linked list + Hashtable, similar to the implementation of LinkedHAshMap in Java.&lt;br /&gt;The Hash table will point to a node in the linked list.&lt;br /&gt;Every time a page block, n, &amp;nbsp;is accessed,&lt;br /&gt;&amp;nbsp;&amp;nbsp;Go to the hashtable with n&lt;br /&gt;&amp;nbsp;&amp;nbsp;Get the node pointer&lt;br /&gt;&amp;nbsp;&amp;nbsp;Bring that node to the head of the doubly linked list&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-8962193340979653206?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/8962193340979653206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=8962193340979653206' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8962193340979653206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8962193340979653206'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/lru-implementation.html' title='LRU implementation'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-7030471538247633769</id><published>2011-04-13T04:29:00.001-07:00</published><updated>2011-04-13T04:29:27.929-07:00</updated><title type='text'>Implementing a variable number of loops</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-7030471538247633769?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/7030471538247633769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=7030471538247633769' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7030471538247633769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7030471538247633769'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/implementing-variable-number-of-loops.html' title='Implementing a variable number of loops'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-9221007863632989765</id><published>2011-04-13T03:18:00.001-07:00</published><updated>2011-04-13T03:18:48.226-07:00</updated><title type='text'>Find out the first non-repeating character in a given input string</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;Use a count sort based approach.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-9221007863632989765?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/9221007863632989765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=9221007863632989765' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/9221007863632989765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/9221007863632989765'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/find-out-first-non-repeating-character.html' title='Find out the first non-repeating character in a given input string'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-6955548625356225056</id><published>2011-04-13T01:33:00.001-07:00</published><updated>2011-04-13T01:39:27.130-07:00</updated><title type='text'>Check if a number is power of 2</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;public boolean isPowerOf2(int num)&lt;br /&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;if((num&amp;amp;(num-1))==0 &amp;amp;&amp;amp; num&amp;gt;0)&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;return true;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;else&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;return false;&lt;br /&gt;}&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-6955548625356225056?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/6955548625356225056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=6955548625356225056' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/6955548625356225056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/6955548625356225056'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/check-if-number-is-power-of-2.html' title='Check if a number is power of 2'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-7235434119058048372</id><published>2011-04-13T01:04:00.001-07:00</published><updated>2011-04-13T01:21:22.371-07:00</updated><title type='text'>Pairing</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Given an array of size 2N, such that its elements are as follows:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;{a1,a2,a3,...,an,b1,b2,b3...,bn}&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;You have to rearrange this array, without using any extra array such that resulting array would be:&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;{a1,b1,a2,b2,...,an,bn}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1. Swap a2,b1 ; &amp;nbsp;a4,b3...so that pairs &amp;nbsp;a1b1,a3b3,a2b2,a4b4 are created.&lt;br /&gt;2. Now swap the pairs a3b3 with a2b2&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-7235434119058048372?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/7235434119058048372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=7235434119058048372' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7235434119058048372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7235434119058048372'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/pairing.html' title='Pairing'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-3850004905491294959</id><published>2011-04-12T10:07:00.001-07:00</published><updated>2011-04-12T10:07:06.725-07:00</updated><title type='text'>Count leaf and non-leaf</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;Using recursion return the number of leaf nodes and non leaf nodes from a single method without any global variables for a given BST?&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-3850004905491294959?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/3850004905491294959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=3850004905491294959' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3850004905491294959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3850004905491294959'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/count-leaf-and-non-leaf.html' title='Count leaf and non-leaf'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-4009603714934886610</id><published>2011-04-12T10:05:00.001-07:00</published><updated>2011-04-12T10:05:40.861-07:00</updated><title type='text'>reverse pair of elements in a linked list</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-4009603714934886610?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/4009603714934886610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=4009603714934886610' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/4009603714934886610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/4009603714934886610'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/reverse-pair-of-elements-in-linked-list.html' title='reverse pair of elements in a linked list'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-8743535302585265856</id><published>2011-04-12T09:51:00.001-07:00</published><updated>2011-04-12T09:55:29.157-07:00</updated><title type='text'>Lowest common ancestor in binary tree</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;Given a binary search tree and 2 values find the lowest common ancestor.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: Verdana, Arial, sans-serif; font-size: 13px; line-height: 16px;"&gt;&lt;span class="Apple-style-span" style="color: black; font-family: Helvetica, Arial, Verdana, sans-serif; line-height: 19px;"&gt;The main idea of the solution is — While traversing Binary Search Tree from top to bottom, the first node n we encounter with value between n1 and n2, i.e., n1 &amp;lt; n &amp;lt; n2 is the Lowest or Least Common Ancestor(LCA) of n1 and n2 (where n1 &amp;lt; n2). So just traverse the BST in pre-order, if you find a node with value in between n1 and n2 then n is the LCA, if it's value is greater than both n1 and n2 then our LCA lies on left side of the node, if it's value is smaller than both n1 and n2 then LCA lies on right side&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-8743535302585265856?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/8743535302585265856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=8743535302585265856' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8743535302585265856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8743535302585265856'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/lowest-common-ancestor-in-binary-tree.html' title='Lowest common ancestor in binary tree'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-3177382793421188242</id><published>2011-04-12T07:20:00.001-07:00</published><updated>2011-04-12T07:20:43.331-07:00</updated><title type='text'>Find kth largest integer from an unsorted array of integers. Provide O(n) algorithm</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-3177382793421188242?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/3177382793421188242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=3177382793421188242' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3177382793421188242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3177382793421188242'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/find-kth-largest-integer-from-unsorted.html' title='Find kth largest integer from an unsorted array of integers. Provide O(n) algorithm'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-5240534073594998067</id><published>2011-04-12T07:19:00.001-07:00</published><updated>2011-04-12T07:19:25.749-07:00</updated><title type='text'>Merge two sorted linked lists</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-5240534073594998067?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/5240534073594998067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=5240534073594998067' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/5240534073594998067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/5240534073594998067'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/merge-two-sorted-linked-lists.html' title='Merge two sorted linked lists'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-7092236852060298486</id><published>2011-04-12T07:18:00.001-07:00</published><updated>2011-04-12T07:18:39.804-07:00</updated><title type='text'>Stack - getMin() in O(1)</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;Use two stacks, s1 and s2.&lt;br /&gt;Push: Always push in s2, push in s1 too if value is less than top.&lt;br /&gt;Pop:Pop from s2, if popped value is equal to top of s1, pop from s1 too.&lt;br /&gt;Min: Top of s1.&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-7092236852060298486?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/7092236852060298486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=7092236852060298486' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7092236852060298486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7092236852060298486'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/stack-getmin-in-o1.html' title='Stack - getMin() in O(1)'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-4852452970057506344</id><published>2011-04-12T07:09:00.001-07:00</published><updated>2011-04-12T07:09:51.059-07:00</updated><title type='text'>Write A Program to Remove Duplicates from BST</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-4852452970057506344?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/4852452970057506344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=4852452970057506344' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/4852452970057506344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/4852452970057506344'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/write-program-to-remove-duplicates-from.html' title='Write A Program to Remove Duplicates from BST'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-5619421854631523434</id><published>2011-04-12T07:08:00.000-07:00</published><updated>2011-04-12T07:08:44.717-07:00</updated><title type='text'>Find the hight of a tree</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;Recursive solution:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;Termination condition : treenode==null&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;1. Find the height of left subtree&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;2. Find the height of the right sub tree&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;if height of left subtree is larger&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;height=height of left subtree +1&lt;br /&gt;else&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;height=height of right subtree +1&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-5619421854631523434?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/5619421854631523434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=5619421854631523434' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/5619421854631523434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/5619421854631523434'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/find-hight-of-tree.html' title='Find the hight of a tree'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-8039291387999969785</id><published>2011-04-12T07:00:00.001-07:00</published><updated>2011-04-12T07:00:04.099-07:00</updated><title type='text'>Integer Palindrome</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;given an integer. Check whether its binary equivalent is a palindrome or not&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-8039291387999969785?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/8039291387999969785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=8039291387999969785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8039291387999969785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8039291387999969785'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/integer-palindrome.html' title='Integer Palindrome'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-8596955297909771201</id><published>2011-04-12T06:52:00.001-07:00</published><updated>2011-04-12T06:52:50.087-07:00</updated><title type='text'>Find Gap</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Given an unsorted array of numbers. Find if the array consists of consecutive numbers after sorting. Do this in linear time.&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Example 1: If array has 5,2,3,1,4&lt;br /&gt;after sorting we get 1,2,3,4,5 which represents consecutive numbers&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Counter Example:&lt;br /&gt;If the array has 34,23,52,12,3 after sorting we get 3,12,23,34,52 which are not consecutive&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-8596955297909771201?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/8596955297909771201/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=8596955297909771201' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8596955297909771201'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8596955297909771201'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/find-gap.html' title='Find Gap'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-2577673614215860550</id><published>2011-04-12T06:49:00.001-07:00</published><updated>2011-04-12T06:49:55.602-07:00</updated><title type='text'>Find first n sorted elements</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="color: #565e67; font-family: Verdana, Helvetica, sans-serif; font-size: 12px;"&gt;Describe an algorithm to find the largest 1 million numbers in 1 billion numbers. Assume&lt;br /&gt;that the computer memory can hold all one billion numbers&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-2577673614215860550?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/2577673614215860550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=2577673614215860550' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/2577673614215860550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/2577673614215860550'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/find-first-n-sorted-elements.html' title='Find first n sorted elements'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-255700474538857697</id><published>2011-04-12T06:41:00.001-07:00</published><updated>2011-04-12T06:41:24.109-07:00</updated><title type='text'>Swap children of a tree</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;span class="Apple-style-span" style="font-family: Cambria, Palatino, 'Palatino Linotype', 'Hoefler Text', Times, 'Times New Roman', serif; font-size: 14px; line-height: 20px;"&gt;write a program that implements a function Swap_Tree() that takes a binary tree and swaps left and the right children of every node .&lt;/span&gt;&lt;strike&gt;&lt;/strike&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-255700474538857697?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/255700474538857697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=255700474538857697' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/255700474538857697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/255700474538857697'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/swap-children-of-tree.html' title='Swap children of a tree'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-5891373548641010312</id><published>2011-04-12T06:38:00.001-07:00</published><updated>2011-04-12T06:38:53.449-07:00</updated><title type='text'>Median of a stream</title><content type='html'>Numbers are randomly generated and passed to a method. Write a program to find and maintain the median value as new values are generated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-5891373548641010312?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/5891373548641010312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=5891373548641010312' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/5891373548641010312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/5891373548641010312'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/median-of-stream.html' title='Median of a stream'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-9116011539568156547</id><published>2011-04-12T06:26:00.000-07:00</published><updated>2011-04-12T06:26:40.325-07:00</updated><title type='text'>Write code to check whether given tree is BST or not</title><content type='html'>Write code to check whether given tree is BST or not. Time O(n) and space O(1)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-9116011539568156547?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/9116011539568156547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=9116011539568156547' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/9116011539568156547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/9116011539568156547'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/write-code-to-check-whether-given-tree.html' title='Write code to check whether given tree is BST or not'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-8887454956207562289</id><published>2011-04-12T06:21:00.001-07:00</published><updated>2011-04-12T06:21:31.405-07:00</updated><title type='text'>B Tree</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-8887454956207562289?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/8887454956207562289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=8887454956207562289' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8887454956207562289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8887454956207562289'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/b-tree.html' title='B Tree'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-1236912446185326018</id><published>2011-04-12T06:20:00.001-07:00</published><updated>2011-04-12T06:20:31.480-07:00</updated><title type='text'>AVL Tree</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-1236912446185326018?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/1236912446185326018/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=1236912446185326018' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1236912446185326018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1236912446185326018'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/avl-tree.html' title='AVL Tree'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-215886873163304257</id><published>2011-04-12T06:19:00.003-07:00</published><updated>2011-04-12T06:19:48.975-07:00</updated><title type='text'>Copy Doubly Linked List</title><content type='html'>The head pointer of a doubly linked list points to a random node. &lt;br /&gt;Copy the DLL by traversal the nodes just once.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-215886873163304257?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/215886873163304257/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=215886873163304257' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/215886873163304257'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/215886873163304257'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/copy-doubly-linked-list.html' title='Copy Doubly Linked List'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-6990383911487196106</id><published>2011-04-12T05:56:00.002-07:00</published><updated>2011-04-12T05:56:52.664-07:00</updated><title type='text'>Binary Search</title><content type='html'>public int binarySearch(int[]a,int key)&lt;br /&gt;{&lt;br /&gt; int low,mid,high;&lt;br /&gt; &lt;br /&gt; low=0;&lt;br /&gt; high=a.length;&lt;br /&gt; mid=high/2;&lt;br /&gt; &lt;br /&gt; while(low&lt;=high) { if(a[mid]&gt;key)&lt;br /&gt; {&lt;br /&gt;  high=mid-1;&lt;br /&gt;  mid=(low+high)/2;&lt;br /&gt; }&lt;br /&gt; else if(a[mid]&lt;key)&lt;br /&gt; {&lt;br /&gt;  low=mid+1;&lt;br /&gt;  mid=(low+high)/2;&lt;br /&gt; }&lt;br /&gt; else&lt;br /&gt;  return mid;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; return -1;&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-6990383911487196106?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/6990383911487196106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=6990383911487196106' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/6990383911487196106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/6990383911487196106'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/binary-search.html' title='Binary Search'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-917336263962155254</id><published>2011-04-12T05:53:00.001-07:00</published><updated>2011-04-12T05:53:36.467-07:00</updated><title type='text'>Searching in an Up Down Array</title><content type='html'>There is an array and the distance between any two consequent&lt;br /&gt;elements is one(+1 or -1) and given a number. You have to check whether the&lt;br /&gt;number is in array or not with minimum complexity&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-917336263962155254?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/917336263962155254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=917336263962155254' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/917336263962155254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/917336263962155254'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/searching-in-up-down-array.html' title='Searching in an Up Down Array'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-8988853299204419682</id><published>2011-04-12T05:09:00.001-07:00</published><updated>2011-04-12T05:09:01.299-07:00</updated><title type='text'>Missing and Duplicated</title><content type='html'>I have a array which has numbers from 1 to n one number is missing and one number is duplicated. find those in O(n)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-8988853299204419682?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/8988853299204419682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=8988853299204419682' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8988853299204419682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8988853299204419682'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/missing-and-duplicated.html' title='Missing and Duplicated'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-6883004405356898684</id><published>2011-04-12T04:41:00.000-07:00</published><updated>2011-04-12T04:41:48.249-07:00</updated><title type='text'>Recursion to iteration</title><content type='html'>/recursive&lt;br /&gt;void f()&lt;br /&gt;{&lt;br /&gt;if(cond == false)&lt;br /&gt;return;&lt;br /&gt;f();&lt;br /&gt;g();&lt;br /&gt;}&lt;br /&gt;//iterative&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public void iterative_f() {&lt;br /&gt;int count = 0;&lt;br /&gt;while (cond == false)&lt;br /&gt;{&lt;br /&gt;count++;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;while(count &gt; 0)&lt;br /&gt;{&lt;br /&gt;g();&lt;br /&gt;count--;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-6883004405356898684?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/6883004405356898684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=6883004405356898684' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/6883004405356898684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/6883004405356898684'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/recursion-to-iteration.html' title='Recursion to iteration'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-3444329271777758247</id><published>2011-04-12T04:17:00.001-07:00</published><updated>2011-04-12T04:17:30.855-07:00</updated><title type='text'>Find an element in a partially rotated sorted array in O(log n)</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-3444329271777758247?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/3444329271777758247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=3444329271777758247' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3444329271777758247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3444329271777758247'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/find-element-in-partially-rotated.html' title='Find an element in a partially rotated sorted array in O(log n)'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-37592959686585313</id><published>2011-04-12T04:03:00.001-07:00</published><updated>2011-04-12T04:03:30.212-07:00</updated><title type='text'>O(1) Insert, delete and Get</title><content type='html'>Design a Data Structure with following operations&lt;br /&gt;1.Insert(X) -&gt; insert X if X not present&lt;br /&gt;2.Delete(X) -&gt; delete X if X present&lt;br /&gt;3.Get() -&gt; return any element if it is present&lt;br /&gt;all operations in O(1).&lt;br /&gt;No memory constraint.&lt;br /&gt;&lt;br /&gt;Use an array, which has size equal to the maximum size of the key&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-37592959686585313?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/37592959686585313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=37592959686585313' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/37592959686585313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/37592959686585313'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/o1-insert-delete-and-get.html' title='O(1) Insert, delete and Get'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-8000610305480413096</id><published>2011-04-10T23:31:00.001-07:00</published><updated>2011-04-10T23:31:16.920-07:00</updated><title type='text'>Find the k-th Smallest Element in the Union of Two Sorted Arrays in (logn)</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-8000610305480413096?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/8000610305480413096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=8000610305480413096' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8000610305480413096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8000610305480413096'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/find-k-th-smallest-element-in-union-of.html' title='Find the k-th Smallest Element in the Union of Two Sorted Arrays in (logn)'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-6115150289361746240</id><published>2011-04-09T02:37:00.001-07:00</published><updated>2011-04-09T02:37:11.148-07:00</updated><title type='text'>resource lock</title><content type='html'>Given an n-ary tree of resources arranged hierarchically. A process needs to lock a resource node in order to use it. But a node cannot be locked if any of its descendant or ancestor is locked. You are supposed to:&lt;br /&gt;-&gt; write the structure of node&lt;br /&gt;-&gt; write codes for&lt;br /&gt;* Islock()- returns true if a given node is locked and false if it is not&lt;br /&gt;* Lock()- locks the given node if possible and updates lock information&lt;br /&gt;* Unlock()- unlocks the node and updates information.&lt;br /&gt;Codes should be :&lt;br /&gt;* Islock –O(1)&lt;br /&gt;* Lock()- O(log n)&lt;br /&gt;* unLock()- O(log n)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-6115150289361746240?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/6115150289361746240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=6115150289361746240' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/6115150289361746240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/6115150289361746240'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/resource-lock.html' title='resource lock'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-6176194408195831573</id><published>2011-04-09T00:04:00.001-07:00</published><updated>2011-04-12T10:29:42.874-07:00</updated><title type='text'>Check if Anagram</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;How do you determine to strings are anagram.&lt;br /&gt;&lt;br /&gt;Keep an integer array of size 26.&lt;br /&gt;Go through the first string and increment the array location corresponding to the character.&lt;br /&gt;Go through the second string and decrement the array location corresponding to the character.&lt;br /&gt;At the end, if the array contains any non-zero element, then the strings are not anagrams.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-6176194408195831573?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/6176194408195831573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=6176194408195831573' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/6176194408195831573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/6176194408195831573'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/check-if-anagram.html' title='Check if Anagram'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-5602684924544734958</id><published>2011-04-09T00:02:00.001-07:00</published><updated>2011-04-09T00:02:18.492-07:00</updated><title type='text'>Minimum Distance in an array</title><content type='html'>Given an unsorted array and two numbers, find the minimum distance between them. For example, if the array is {1,2, 10, 2, 3, 5, 2, 1, 5} distance between 2 and 5 is 1.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-5602684924544734958?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/5602684924544734958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=5602684924544734958' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/5602684924544734958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/5602684924544734958'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/minimum-distance-in-array.html' title='Minimum Distance in an array'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-3833613984067226955</id><published>2011-04-08T23:47:00.001-07:00</published><updated>2011-04-08T23:47:49.326-07:00</updated><title type='text'>Given an infix expression convert into postfix</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-3833613984067226955?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/3833613984067226955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=3833613984067226955' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3833613984067226955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3833613984067226955'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/given-infix-expression-convert-into.html' title='Given an infix expression convert into postfix'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-3564255638211716779</id><published>2011-04-08T23:45:00.000-07:00</published><updated>2011-04-08T23:45:29.238-07:00</updated><title type='text'>Given a doubly linked list with just 3 numbers 0,1,2 . Sort it</title><content type='html'>1) Take 2 pointers at starting and at the end of list.&lt;br /&gt;2) traverse list blindly push all the 2s at end of list.---&gt; O(n)&lt;br /&gt;3) move end pointer just before first two and sort normally by two pointer trick in O(n)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-3564255638211716779?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/3564255638211716779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=3564255638211716779' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3564255638211716779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3564255638211716779'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/given-doubly-linked-list-with-just-3.html' title='Given a doubly linked list with just 3 numbers 0,1,2 . Sort it'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-8099570334273551726</id><published>2011-04-08T23:35:00.001-07:00</published><updated>2011-04-08T23:35:49.023-07:00</updated><title type='text'>Zig Zag Order To Doubly linked list</title><content type='html'>Given a binary tree,convert into a doubly linked list,The list must be as if the tree is traversed in zig-zag order from top to botton.. (left to right in one level and right to level in the next)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-8099570334273551726?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/8099570334273551726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=8099570334273551726' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8099570334273551726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8099570334273551726'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/zig-zag-order-to-doubly-linked-list.html' title='Zig Zag Order To Doubly linked list'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-5410131698183427199</id><published>2011-04-08T22:44:00.000-07:00</published><updated>2011-04-08T22:44:21.574-07:00</updated><title type='text'>Minimum number of Coins</title><content type='html'>You are given some denominations of coins in an array (int denom[])and infinite supply of all of them. Given an amount (int amount), find the minimum number of coins required to get the exact amount&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-5410131698183427199?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/5410131698183427199/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=5410131698183427199' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/5410131698183427199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/5410131698183427199'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/minimum-number-of-coins.html' title='Minimum number of Coins'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-7518739857282353623</id><published>2011-04-08T13:31:00.001-07:00</published><updated>2011-04-08T13:31:25.625-07:00</updated><title type='text'>Implement a double linked list with only one pointer</title><content type='html'>Use XOR&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-7518739857282353623?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/7518739857282353623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=7518739857282353623' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7518739857282353623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7518739857282353623'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/implement-double-linked-list-with-only.html' title='Implement a double linked list with only one pointer'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-1793316835707536809</id><published>2011-04-08T13:27:00.001-07:00</published><updated>2011-04-08T13:27:24.239-07:00</updated><title type='text'>Common Ancestor</title><content type='html'>How to find the common ancestor of two nodes in a binary tree&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-1793316835707536809?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/1793316835707536809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=1793316835707536809' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1793316835707536809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1793316835707536809'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/common-ancestor.html' title='Common Ancestor'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-1320620141441781648</id><published>2011-04-08T13:03:00.001-07:00</published><updated>2011-04-08T13:03:57.745-07:00</updated><title type='text'>mplement a function that, given a linked list that may be circular, swaps the first two elements, the third with the fourth, etc</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-1320620141441781648?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/1320620141441781648/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=1320620141441781648' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1320620141441781648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1320620141441781648'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/mplement-function-that-given-linked.html' title='mplement a function that, given a linked list that may be circular, swaps the first two elements, the third with the fourth, etc'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-8573189500409084914</id><published>2011-04-08T12:58:00.001-07:00</published><updated>2011-04-08T12:58:32.850-07:00</updated><title type='text'>Check if String is a number</title><content type='html'>Write a method that takes a string, and returns true if that string is a number&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-8573189500409084914?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/8573189500409084914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=8573189500409084914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8573189500409084914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8573189500409084914'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/check-if-string-is-number.html' title='Check if String is a number'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-7288066281382981461</id><published>2011-04-08T12:57:00.001-07:00</published><updated>2011-04-08T12:57:51.664-07:00</updated><title type='text'>Recursive function for reversing linked list</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-7288066281382981461?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/7288066281382981461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=7288066281382981461' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7288066281382981461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7288066281382981461'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/recursive-function-for-reversing-linked.html' title='Recursive function for reversing linked list'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-5606878944509517911</id><published>2011-04-08T12:34:00.000-07:00</published><updated>2011-04-08T12:34:00.876-07:00</updated><title type='text'>Java program to reverse a number</title><content type='html'>Write a program to reverse a number. For example if 3652 is the input, the output should be 2563.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-5606878944509517911?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/5606878944509517911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=5606878944509517911' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/5606878944509517911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/5606878944509517911'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/java-program-to-reverse-number.html' title='Java program to reverse a number'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-2875910829714754320</id><published>2011-04-06T11:40:00.000-07:00</published><updated>2011-04-06T11:40:13.895-07:00</updated><title type='text'>Java program for Breadth First Search of a Binary Tree</title><content type='html'>The below program uses &lt;a href="http://cslabprograms.blogspot.com/2011/01/binary-search-tree.html"&gt;Binary Search Tree implementation&lt;/a&gt;&lt;br /&gt;and &lt;a href="http://cslabprograms.blogspot.com/2011/01/queue.html"&gt;Queue implementation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;public void BFS()&lt;br /&gt;{&lt;br /&gt; Queue queue=new Queue();&lt;br /&gt; Processable info;&lt;br /&gt; TreeNode temp,temp1;&lt;br /&gt;        &lt;br /&gt;    if(root!=null)&lt;br /&gt; {&lt;br /&gt; queue.enqueue(root);&lt;br /&gt; }&lt;br /&gt;     &lt;br /&gt;    while(true)&lt;br /&gt; {  &lt;br /&gt;      if(queue.isEmpty())&lt;br /&gt;       break;&lt;br /&gt;      &lt;br /&gt;     temp=(TreeNode)queue.dequeue();&lt;br /&gt;     info=(Processable)temp.data;&lt;br /&gt;     info.process();&lt;br /&gt;     &lt;br /&gt;  temp1=temp.left;&lt;br /&gt;  if(temp1!=null)&lt;br /&gt;  queue.enqueue(temp1);&lt;br /&gt;  temp1=temp.right;&lt;br /&gt;  if(temp1!=null)&lt;br /&gt;  queue.enqueue(temp1);  &lt;br /&gt;     &lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; &lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-2875910829714754320?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/2875910829714754320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=2875910829714754320' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/2875910829714754320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/2875910829714754320'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/04/java-program-for-breadth-first-search.html' title='Java program for Breadth First Search of a Binary Tree'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-7958315590297192266</id><published>2011-03-31T10:12:00.003-07:00</published><updated>2011-04-15T04:39:24.598-07:00</updated><title type='text'>MergeSort - Java Program</title><content type='html'>public int[] mergeSort(int[] arr,int start,int end)&lt;br /&gt;{&lt;br /&gt; int mid=(start+end)/2;&lt;br /&gt;&lt;br /&gt; if(start&lt;end)&lt;br /&gt; {&lt;br /&gt;  mergeSort(arr,start,mid);&lt;br /&gt;  mergeSort(arr,mid+1,end);&lt;br /&gt;  merge(arr,start,mid,end);&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; return arr;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//To merge two sorted portions of an array&lt;br /&gt;public int[] merge(int[]arr,int low,int mid,int end)&lt;br /&gt;{&lt;br /&gt; int[] temp=new int[end-low+1];&lt;br /&gt; &lt;br /&gt; int ptr1=low,ptr2=mid+1,ptr3=0;&lt;br /&gt;&lt;br /&gt;//Copy the elements in sorted order to a third array - O(n) &lt;br /&gt; while(ptr1&lt;=mid &amp;&amp; ptr2&lt;=end )&lt;br /&gt; {&lt;br /&gt;   if(arr[ptr1]&lt;arr[ptr2] &amp;&amp; ptr1&lt;=mid)&lt;br /&gt;   {&lt;br /&gt;    temp[ptr3]=arr[ptr1];&lt;br /&gt;    ptr1++;&lt;br /&gt;    ptr3++;&lt;br /&gt;   }&lt;br /&gt;   else if(arr[ptr2]&lt;=arr[ptr1] &amp;&amp; ptr2&lt;=end )&lt;br /&gt;   {&lt;br /&gt;    temp[ptr3]=arr[ptr2];&lt;br /&gt;    ptr2++;&lt;br /&gt;    ptr3++;&lt;br /&gt;   }&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt;//Copy remaining elements from first half &lt;br /&gt;   while(ptr1&lt;=mid)&lt;br /&gt;   {   temp[ptr3]=arr[ptr1];&lt;br /&gt;    ptr1++;&lt;br /&gt;    ptr3++;&lt;br /&gt;   }&lt;br /&gt;   &lt;br /&gt;//Copy remaining elements from second half&lt;br /&gt;   while(ptr2&lt;=end)&lt;br /&gt;   {   temp[ptr3]=arr[ptr2];&lt;br /&gt;    ptr2++;&lt;br /&gt;    ptr3++;&lt;br /&gt;   }   &lt;br /&gt;   &lt;br /&gt;&lt;br /&gt;//Copy the sorted temp array back to the main array -O(n) &lt;br /&gt;for(int i=low,j=0;i&lt;=end;i++)&lt;br /&gt;          arr[i]=temp[j++];&lt;br /&gt; &lt;br /&gt;&lt;br /&gt; return arr;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-7958315590297192266?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/7958315590297192266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=7958315590297192266' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7958315590297192266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7958315590297192266'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/03/java-program-to-implement-mergesort.html' title='MergeSort - Java Program'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-5476452069056448505</id><published>2011-03-31T10:12:00.001-07:00</published><updated>2011-03-31T10:12:35.135-07:00</updated><title type='text'>Java program to implement QuickSort</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-5476452069056448505?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/5476452069056448505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=5476452069056448505' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/5476452069056448505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/5476452069056448505'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/03/java-program-to-implement-quicksort.html' title='Java program to implement QuickSort'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-7238205924780996605</id><published>2011-03-31T09:52:00.000-07:00</published><updated>2011-03-31T09:52:32.128-07:00</updated><title type='text'>Java program to find the middle of a linked list in O(n) time</title><content type='html'>Method:&lt;br /&gt;. Use two pointers in a loop&lt;br /&gt;. One pointer will jump one node, where as the other pointer will jump 2 nodes.&lt;br /&gt;. When the fast pointer reaches the end, the slow pointer will be at the middle.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-7238205924780996605?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/7238205924780996605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=7238205924780996605' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7238205924780996605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7238205924780996605'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/03/java-program-to-find-middle-of-linked.html' title='Java program to find the middle of a linked list in O(n) time'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-1605549580942229029</id><published>2011-03-31T09:48:00.001-07:00</published><updated>2011-03-31T09:48:21.995-07:00</updated><title type='text'>To find if a linked list has a loop</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-1605549580942229029?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/1605549580942229029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=1605549580942229029' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1605549580942229029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/1605549580942229029'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/03/to-find-if-linked-list-has-loop.html' title='To find if a linked list has a loop'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-3358276824134809943</id><published>2011-03-31T09:47:00.001-07:00</published><updated>2011-03-31T10:14:49.195-07:00</updated><title type='text'>To find the intersection of two linked list</title><content type='html'>1) Get count of the nodes in first list, let count be c1.&lt;br /&gt;2) Get count of the nodes in second list, let count be c2.&lt;br /&gt;3) Get the difference of counts d = abs(c1 – c2)&lt;br /&gt;4) Now traverse the bigger list from the first node till d nodes so that from here onwards both the lists have equal no of nodes.&lt;br /&gt;5) Then we can traverse both the lists in parallel till we come across a common node. (Note that getting a common node is done by comparing the address of the nodes)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-3358276824134809943?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/3358276824134809943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=3358276824134809943' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3358276824134809943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3358276824134809943'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/03/to-find-intersection-of-two-linked-list.html' title='To find the intersection of two linked list'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-115785357076443683</id><published>2011-03-01T04:49:00.000-08:00</published><updated>2011-03-01T04:49:25.303-08:00</updated><title type='text'>Java Program to implement Min Heap</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;package lab.heaps;&lt;br /&gt;&lt;br /&gt;public class MinHeap&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;int MAX_SIZE=100;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;int last_position; //last position which is empty&lt;br /&gt;&amp;nbsp;&amp;nbsp;Comparable[] heap=new Comparable[MAX_SIZE];&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;//left child:2n+1, Right child: 2n+2&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;public MinHeap()&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;last_position=0; &lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;public void insert(Object o)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Comparable data=(Comparable)o;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Comparable temp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;int i=last_position;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;last_position++;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;heap[i]=data;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;int parent_i=getParentPosition(i);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if(parent_i==-1)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{ // No more checks needed for first insertion, so return&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;while(heap[parent_i].compareTo(heap[i])&amp;gt;0)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;temp=heap[i];&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;heap[i]=heap[parent_i];&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;heap[parent_i]=temp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;i=parent_i;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;parent_i=getParentPosition(i);&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; if(parent_i==-1)&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;{//To avoid array out of bound exception&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;public Object deleteMin()&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;Object temp1=heap[0];&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;Comparable temp;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;if(last_position==0)&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;return null;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;else if(last_position==1)&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;heap[0]=null;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;return temp1;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;int i=last_position-1;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;heap[0]=heap[i];&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;heap[i]=null;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;i=0;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;// If there exists a smaller child for i, then get it.&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;int next=getSmallerChild(i);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;while(next!=-1)&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;{ &amp;nbsp;&lt;br /&gt;// Go down the heap until you have no smaller child&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;temp=heap[i];&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;heap[i]=heap[next];&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;heap[next]=temp;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;i=next;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;next=getSmallerChild(i); &lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;last_position--;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;return temp1;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;public Object getMin()&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;return heap[0];&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;public int getLeftChildPosition(int i)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return (2*i)+1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;public int getRightChildPosition(int i)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;return (2*i)+2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;public int getParentPosition(int i)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;if(i==0)&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;return -1;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;else if(i%2!=0)&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;return (i/2);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;else&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;return (i/2)-1;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;}&lt;br /&gt;&amp;nbsp;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;public int getSmallerChild(int i)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;//Returns the index of the smaller child, if any of the children are smaller&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; int left=getLeftChildPosition(i);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; int right=getRightChildPosition(i);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; if(heap[left]==null &amp;amp;&amp;amp; heap[right]==null)&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; return -1;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; }&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; else if(heap[left]!=null &amp;amp;&amp;amp; heap[right]==null)&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; if(heap[left].compareTo(heap[i])&amp;lt;0)&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;return left;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; else&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; return -1;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; }&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; else if(heap[left]!=null &amp;amp;&amp;amp; heap[right]!=null)&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; if(heap[left].compareTo(heap[right])&amp;lt;0 &amp;amp;&amp;amp; heap[left].compareTo(heap[i])&amp;lt;0)&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; return left;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; }&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; else if(heap[left].compareTo(heap[right])&amp;gt;0 &amp;amp;&amp;amp; heap[right].compareTo(heap[i])&amp;lt;0)&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; return right;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; }&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; else&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; return -1;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; }&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; }&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; return -1;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-115785357076443683?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/115785357076443683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=115785357076443683' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/115785357076443683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/115785357076443683'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/03/java-program-to-implement-min-heap.html' title='Java Program to implement Min Heap'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-7373921507833625898</id><published>2011-02-27T22:10:00.001-08:00</published><updated>2011-02-27T22:38:38.009-08:00</updated><title type='text'>Contents</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;1.&amp;nbsp;&lt;a href="http://cslabprograms.blogspot.com/2011/01/linkedlist.html"&gt;Linked List implementation in Java&lt;/a&gt;&lt;br /&gt;2. Other Linked List Problems&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; a. &lt;a href="http://cslabprograms.blogspot.com/2011/02/reverse-linked-list.html"&gt;Reverse a Linked List&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; b. &lt;a href="http://cslabprograms.blogspot.com/2011/02/get-nth-element-from-end-of-linked-list.html"&gt;Get Nth element from the end of a linked list.&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; c. &lt;a href="http://cslabprograms.blogspot.com/2011/02/check-if-linked-list-is-palindrome.html"&gt;Check if a linked list is a palindrome&lt;/a&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br /&gt;3.&amp;nbsp;&lt;a href="http://cslabprograms.blogspot.com/2011/01/queue.html"&gt;Queue implementation in Java&lt;/a&gt;&amp;nbsp;using Linked List.&lt;br /&gt;4. &lt;a href="http://cslabprograms.blogspot.com/2011/01/stack.html"&gt;Stack implementation in Java using Linked List.&lt;/a&gt;&lt;br /&gt;5.&amp;nbsp;&lt;a href="http://cslabprograms.blogspot.com/2011/01/binary-search-tree.html"&gt;Binary Search Tree implementation in Java&lt;/a&gt;&lt;br /&gt;6. Other Binary Tree Problems &amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;a. &lt;a href="http://cslabprograms.blogspot.com/2011/02/compare-two-binary-trees.html"&gt;Compare two binary trees&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;b. &lt;a href="http://cslabprograms.blogspot.com/2011/02/convert-binary-tree-to-doubly-linked.html"&gt;Convert a binary tree to a doubly linked list&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;c. &lt;a href="http://cslabprograms.blogspot.com/2011/02/build-binary-tree-from-preorder.html"&gt;Build binary tree from preorder traversal and inorder traversa&lt;/a&gt;l&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;d. &lt;a href="http://cslabprograms.blogspot.com/2011/02/nl-tree.html"&gt;Build NL tree from preorder traversal&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;e. &lt;a href="http://cslabprograms.blogspot.com/2011/02/convert-each-level-of-binary-tree-into.html"&gt;Convert each level of a binary tree into a linked list&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;f. &lt;a href="http://cslabprograms.blogspot.com/2011/02/non-recursive-tree-traversal-using.html"&gt;Non recursive tree traversal using stack&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;g. &lt;a href="http://cslabprograms.blogspot.com/2011/02/descending-order-traversal-of-binary.html"&gt;Descending order traversal of binary search tree&lt;/a&gt;&lt;br /&gt;7. &lt;a href="http://cslabprograms.blogspot.com/2011/02/hash-table.html"&gt;Hash Table implementation using separate chaining&amp;nbsp;&lt;/a&gt;&lt;br /&gt;8. Other Problems&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;a.&amp;nbsp;&lt;a href="http://cslabprograms.blogspot.com/2011/02/multiple-producer-consumer-problem-in.html"&gt;Multiple Producer Consumer Problem&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;b.&lt;a href="http://cslabprograms.blogspot.com/2011/02/pattern-matching.html"&gt; Pattern Matching&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;c. &lt;a href="http://cslabprograms.blogspot.com/2011/02/find-if-number-is-divisible-by-3.html"&gt;Find if a number is divisible by 3&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;d. &lt;a href="http://cslabprograms.blogspot.com/2011/02/calculates-xm-in-olog-m-time.html"&gt;Calculate x^m in O(log m) time&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;e.&lt;a href="http://cslabprograms.blogspot.com/2011/02/de-duplicate-array-in-on-time.html"&gt; De duplicate array in O(n) time&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;f. &lt;a href="http://cslabprograms.blogspot.com/2011/02/reverse-factorial.html"&gt;Reverse factorial&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; g. &lt;a href="http://cslabprograms.blogspot.com/2011/02/shuffle-pack-of-52-cards.html"&gt;Shuffle a pack of 52 cards&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; h. &lt;a href="http://cslabprograms.blogspot.com/2011/02/find-intersection-of-two-arrays.html"&gt;Find the intersection of 2 arrays&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; i. &lt;a href="http://cslabprograms.blogspot.com/2011/02/find-duplicate-elements-in-array.html"&gt;Find duplicate elements in a array&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;j. &lt;a href="http://cslabprograms.blogspot.com/2011/02/count-number-of-bits-that-are-set-in.html"&gt;Set bit count&lt;/a&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-7373921507833625898?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/7373921507833625898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=7373921507833625898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7373921507833625898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7373921507833625898'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/02/contents.html' title='Contents'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-8733486962023804863</id><published>2011-02-25T22:20:00.000-08:00</published><updated>2011-03-02T02:11:13.892-08:00</updated><title type='text'>Java program for Descending order traversal of binary search tree</title><content type='html'>public void descendingOrder(TreeNode rootnode)&lt;br /&gt;{&lt;br /&gt;if(rootnode !=null)&lt;br /&gt;{&lt;br /&gt;Processable info;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;descendingOrder(rootnode.right);&lt;br /&gt;info=(Processable)rootnode.data;&lt;br /&gt;info.process();&lt;br /&gt;descendingOrder(rootnode.left);&lt;br /&gt;}&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-8733486962023804863?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/8733486962023804863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=8733486962023804863' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8733486962023804863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8733486962023804863'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/02/descending-order-traversal-of-binary.html' title='Java program for Descending order traversal of binary search tree'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-4174991504898660567</id><published>2011-02-25T22:19:00.000-08:00</published><updated>2011-03-02T02:10:53.782-08:00</updated><title type='text'>Java program for Non recursive tree traversal using stack</title><content type='html'>public void inorderNonRecursive(TreeNode rootnode)&lt;br /&gt;{&lt;br /&gt;Stack stack =new Stack();&lt;br /&gt;Processable info;&lt;br /&gt;TreeNode temp;&lt;br /&gt;temp=rootnode;&lt;br /&gt;&lt;br /&gt;while(true)&lt;br /&gt;{&lt;br /&gt;while(temp!=null)&lt;br /&gt;{   &lt;br /&gt;stack.push(temp);  &lt;br /&gt;temp=temp.left;&lt;br /&gt;}&lt;br /&gt;if(stack.isEmpty())&lt;br /&gt;break;&lt;br /&gt;temp=(TreeNode)stack.pop();&lt;br /&gt;info=(Processable)temp.data;&lt;br /&gt;info.process();&lt;br /&gt;temp=temp.right;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-4174991504898660567?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/4174991504898660567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=4174991504898660567' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/4174991504898660567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/4174991504898660567'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/02/non-recursive-tree-traversal-using.html' title='Java program for Non recursive tree traversal using stack'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-4460529448436696301</id><published>2011-02-25T21:20:00.000-08:00</published><updated>2011-03-02T02:10:32.459-08:00</updated><title type='text'>Java program to Convert each level of a binary tree into a linked list and store the list pointers in an array</title><content type='html'>Q. Create a linked list to hold each level of the binary tree. Then store the linked list headers in an array.&lt;br /&gt;&lt;br /&gt;Algorithm.&lt;br /&gt;1. Create a linked list array as an instance variable.&lt;br /&gt;2. Create a preorder traversal like recursive function.&lt;br /&gt;3. The function takes the level as a parameter and increments it before &lt;br /&gt;passing it to the next recursive call.&lt;br /&gt;4. Add the root element to the linked list stored at listarray[level].&lt;br /&gt;5. make a recursive call with the left subtree and right subtree.&lt;br /&gt;&lt;br /&gt;A working Java implementation is given below.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;package lab.tree;&lt;br /&gt;&lt;br /&gt;import lab.linkedlist.*;&lt;br /&gt;&lt;br /&gt;public class SpecialTree extends Tree {&lt;br /&gt;&lt;br /&gt;LinkedList[] listarray=new LinkedList[100];&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public void treeToListArray(TreeNode rootnode,int level)&lt;br /&gt;{&lt;br /&gt;if(rootnode !=null)&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;if (listarray[level]==null)&lt;br /&gt;{&lt;br /&gt;LinkedList tmplist=new LinkedList();&lt;br /&gt;tmplist.insertBegining(rootnode.data);&lt;br /&gt;listarray[level]= tmplist;&lt;br /&gt;level++;&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;listarray[level].insertBegining(rootnode.data);&lt;br /&gt;level++;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;treeToListArray(rootnode.left,level);&lt;br /&gt;treeToListArray(rootnode.right,level);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-4460529448436696301?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/4460529448436696301/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=4460529448436696301' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/4460529448436696301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/4460529448436696301'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/02/convert-each-level-of-binary-tree-into.html' title='Java program to Convert each level of a binary tree into a linked list and store the list pointers in an array'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-7742895662802824651</id><published>2011-02-25T00:59:00.001-08:00</published><updated>2011-02-27T22:54:32.343-08:00</updated><title type='text'>Java program to count the number of bits that are set in an integer</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;public int setBitCount(int n)&lt;br /&gt;{&lt;br /&gt;//Count the number of bits which are 1 &lt;br /&gt;&lt;br /&gt;int count=0;&lt;br /&gt;&lt;br /&gt;while(n!=0)&lt;br /&gt;{&lt;br /&gt;if((n&amp;amp;1)&amp;gt;0)&lt;br /&gt;{&lt;br /&gt;count++;&lt;br /&gt;}&lt;br /&gt;n=n&amp;gt;&amp;gt;&amp;gt;1;&lt;br /&gt;}&lt;br /&gt;return count;&lt;br /&gt;&lt;br /&gt;}&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-7742895662802824651?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/7742895662802824651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=7742895662802824651' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7742895662802824651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7742895662802824651'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/02/count-number-of-bits-that-are-set-in.html' title='Java program to count the number of bits that are set in an integer'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-7771757301198585705</id><published>2011-02-25T00:58:00.001-08:00</published><updated>2011-03-02T02:10:15.787-08:00</updated><title type='text'>Java program to Find duplicate elements in an array</title><content type='html'>public void findDuplicatesInArray()&lt;br /&gt;{&lt;br /&gt;// Find duplicate elements in an array O(n)&lt;br /&gt;&lt;br /&gt;Hashtable&lt;Integer,Integer&gt; hashtable=new Hashtable&lt;Integer,Integer&gt;();&lt;br /&gt;int [] inputA={1,2,2,3,4,5,5,6,7};&lt;br /&gt;&lt;br /&gt;for(int i=0;i&lt;9;i++)&lt;br /&gt;{&lt;br /&gt;if(hashtable.put(inputA[i], inputA[i])!=null)&lt;br /&gt;{&lt;br /&gt;System.out.println("Duplicate:"+inputA[i]);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-7771757301198585705?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/7771757301198585705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=7771757301198585705' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7771757301198585705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7771757301198585705'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/02/find-duplicate-elements-in-array.html' title='Java program to Find duplicate elements in an array'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-8776838477396714582</id><published>2011-02-25T00:57:00.001-08:00</published><updated>2011-03-02T02:09:56.983-08:00</updated><title type='text'>Java program to Find the intersection of two arrays</title><content type='html'>public void arrayIntersection()&lt;br /&gt;{&lt;br /&gt;//To find the intersection of 2 arrays  &lt;br /&gt;HashSet&lt;integer&gt; hashsetA = new HashSet&lt;integer&gt;();&lt;br /&gt;HashSet&lt;integer&gt; hashsetB = new HashSet&lt;integer&gt;();&lt;br /&gt;int[] inputA={1,2,3,4,5,6,7,8,9,10};&lt;br /&gt;int[] inputB={5,6,5,12,13,14};&lt;br /&gt;&lt;br /&gt;for(int i=0;i&lt;10;i++) {  hashsetA.add(inputA[i]); }  for(int i=0;i&lt;5;i++) {  hashsetB.add(inputB[i]); }  Iterator&lt;integer&gt; iterator;&lt;br /&gt;iterator=hashsetB.iterator();&lt;br /&gt;&lt;br /&gt;int i;&lt;br /&gt;while(iterator.hasNext())&lt;br /&gt;{&lt;br /&gt;i=iterator.next();&lt;br /&gt;if(hashsetA.contains(i))&lt;br /&gt;{&lt;br /&gt;System.out.println(i);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-8776838477396714582?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/8776838477396714582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=8776838477396714582' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8776838477396714582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/8776838477396714582'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/02/find-intersection-of-two-arrays.html' title='Java program to Find the intersection of two arrays'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-7509665571888989312</id><published>2011-02-25T00:56:00.000-08:00</published><updated>2011-04-14T04:16:11.033-07:00</updated><title type='text'>Java program to Shuffle a pack of 52 cards</title><content type='html'>Solution :&lt;br /&gt;For every i, card at a random location is placed at i&lt;br /&gt;and card that was at i is placed at j.&lt;br /&gt;&lt;br /&gt;If we want every card to change its previous location -&lt;br /&gt; For every i,&lt;br /&gt;  Generate a random location &gt;i and which is not same as i&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public void  shuffle()&lt;br /&gt;{&lt;br /&gt;int[] cards =new int[52];&lt;br /&gt;&lt;br /&gt;Random random =new Random();&lt;br /&gt;&lt;br /&gt;random.setSeed(new Date().getTime());&lt;br /&gt;&lt;br /&gt;for(int i=0,j=0;i&amp;lt;52;i++,j++)&lt;br /&gt;{&lt;br /&gt;cards[i]=j;&lt;br /&gt;System.out.println(j);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;for(int i=0,j=0,t=0,k=0;i&amp;lt;52;i++)&lt;br /&gt;{&lt;br /&gt;//For every i, card at a random location is placed at i&lt;br /&gt;//and card that was at i is placed at j&lt;br /&gt;j=random.nextInt(52);&lt;br /&gt;t=cards[j]; &lt;br /&gt;cards[j]=cards[i];&lt;br /&gt;cards[i]=t;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;for(int i=0;i&amp;lt;52;i++)&lt;br /&gt;{&lt;br /&gt;System.out.println(cards[i] + ", "+i);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-7509665571888989312?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/7509665571888989312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=7509665571888989312' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7509665571888989312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7509665571888989312'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/02/shuffle-pack-of-52-cards.html' title='Java program to Shuffle a pack of 52 cards'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-7745388860015881663</id><published>2011-02-25T00:29:00.003-08:00</published><updated>2011-03-02T02:09:19.198-08:00</updated><title type='text'>Java program to find Reverse Factorial</title><content type='html'>public int reverseFactorial(int fact)&lt;br /&gt;{&lt;br /&gt;int sum=1;&lt;br /&gt;int i=1;&lt;br /&gt;while(sum&lt;fact)&lt;br /&gt;{&lt;br /&gt;i++;&lt;br /&gt;&lt;br /&gt;sum=sum*i;&lt;br /&gt;}  &lt;br /&gt;&lt;br /&gt;if(sum==fact)&lt;br /&gt;{&lt;br /&gt;return i;&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;return -1;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-7745388860015881663?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/7745388860015881663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=7745388860015881663' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7745388860015881663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7745388860015881663'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/02/reverse-factorial.html' title='Java program to find Reverse Factorial'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-6782043079382096980</id><published>2011-02-25T00:29:00.001-08:00</published><updated>2011-03-02T02:09:00.636-08:00</updated><title type='text'>Java program to De duplicate array in O(n) time</title><content type='html'>public int[] deduplicate(int[] numbers,int N)&lt;br /&gt;{ &lt;br /&gt;//Number from 1 to N are stored in an array of size N&lt;br /&gt;//De-duplicate the array without using extra space.&lt;br /&gt;//Algo should be O(n)&lt;br /&gt;int val=0;&lt;br /&gt;&lt;br /&gt;for(int i=1;i&lt;=N;i++) {  val=Math.abs(numbers[i]);//The fact that a number X appeared once - is represented by//changing the sign of the value at arr[X].//So if arr[X] is -ve that means X is duplicate.  if(numbers[val]&gt;0)&lt;br /&gt;numbers[val]=numbers[val]*-1;&lt;br /&gt;else &lt;br /&gt;{&lt;br /&gt;numbers[i]=N+1;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;return numbers;&lt;br /&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-6782043079382096980?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/6782043079382096980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=6782043079382096980' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/6782043079382096980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/6782043079382096980'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/02/de-duplicate-array-in-on-time.html' title='Java program to De duplicate array in O(n) time'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-4676125866447436132</id><published>2011-02-25T00:28:00.001-08:00</published><updated>2011-03-02T02:07:46.163-08:00</updated><title type='text'>Java program to calculates x^m in O(log m) time</title><content type='html'>public int logpower(int x,int m)&lt;br /&gt;{&lt;br /&gt;//Calculates x^m in O(log m) time&lt;br /&gt;&lt;br /&gt;if(m==1)&lt;br /&gt;return x;&lt;br /&gt;else if(m%2!=0)&lt;br /&gt;return logpower(x,m/2)*logpower(x,m/2)*x;&lt;br /&gt;else&lt;br /&gt;return logpower(x,m/2)*logpower(x,m/2);&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-4676125866447436132?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/4676125866447436132/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=4676125866447436132' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/4676125866447436132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/4676125866447436132'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/02/calculates-xm-in-olog-m-time.html' title='Java program to calculates x^m in O(log m) time'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-338982104639696377</id><published>2011-02-25T00:26:00.000-08:00</published><updated>2011-03-02T02:08:33.168-08:00</updated><title type='text'>Java program to find if a number is divisible by 3 without using / or % operator</title><content type='html'>public boolean isDivisibleBy3(int num)&lt;br /&gt;{&lt;br /&gt;//Find if a number is divisible by 3 without using / or % operator&lt;br /&gt;&lt;br /&gt;int sum=0;&lt;br /&gt;String strnum=(new Integer(num)).toString();&lt;br /&gt;if(num&lt;10){  sum=num; }  while(strnum.length()&gt;=2)&lt;br /&gt;{&lt;br /&gt;sum=0;  &lt;br /&gt;for(int i=0;i&amp;lt;strnum.length();i++)&lt;br /&gt;{&lt;br /&gt;sum=sum+ Integer.parseInt(strnum.substring(i,i+1));&lt;br /&gt;}&lt;br /&gt;if(sum&amp;gt;=10)&lt;br /&gt;{&lt;br /&gt;strnum=(new Integer(sum)).toString();&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;break; &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if(sum==3 || sum==6 || sum==9)&lt;br /&gt;{&lt;br /&gt;return true;&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-338982104639696377?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/338982104639696377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=338982104639696377' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/338982104639696377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/338982104639696377'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/02/find-if-number-is-divisible-by-3.html' title='Java program to find if a number is divisible by 3 without using / or % operator'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-7334741439586624245</id><published>2011-02-24T05:17:00.000-08:00</published><updated>2011-03-02T02:08:12.403-08:00</updated><title type='text'>Java program to get Nth element from the end of a linked list</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;Algorithm:&lt;br /&gt;1.Use two pointers.&lt;br /&gt;2.Traverse the list from begining.&lt;br /&gt;3.Start the second pointer only when the first pointer reaches Nth element.&lt;br /&gt;&lt;br /&gt;Java implementation:&lt;br /&gt;&lt;br /&gt;public Object getNthFromLast(int n)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;if(n&lt;1)&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;return null;&lt;br /&gt;&amp;nbsp;if(n&gt;nodeCount)&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;return null;&lt;br /&gt;&amp;nbsp;ListNode temp1,temp2;&lt;br /&gt;&amp;nbsp;temp1=this.headnode;&lt;br /&gt;&amp;nbsp;temp2=this.headnode;&lt;br /&gt;&amp;nbsp;int i=1;&lt;br /&gt;&amp;nbsp;while(i&amp;lt;n)&amp;nbsp;&lt;br /&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; i++;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; temp1=temp1.nextnode;&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;while(temp1.nextnode!=null)&lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; temp1=temp1.nextnode;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; temp2=temp2.nextnode;&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp;return temp2.data;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;}&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-7334741439586624245?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/7334741439586624245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=7334741439586624245' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7334741439586624245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/7334741439586624245'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/02/get-nth-element-from-end-of-linked-list.html' title='Java program to get Nth element from the end of a linked list'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-3901770450050741229</id><published>2011-02-23T05:45:00.000-08:00</published><updated>2011-03-02T02:07:25.690-08:00</updated><title type='text'>Java program to build NL Tree from preorder traversal</title><content type='html'>There exists a special kind of tree which has the node value 'N' if it is an internal node&lt;br /&gt;and 'L' if it is a leaf node. An internal node can have either 0 or 2 children, not 1. Build the tree from preorder traversal.&lt;br /&gt;&lt;br /&gt;The algorithm works based on the concept that number of leaf nodes=number of internal nodes+1.&lt;br /&gt;(This is true only if internal node can have either 0 or 2 children, not 1).&lt;br /&gt;&lt;br /&gt;Count from the beginning of the preorder array and when number of internal nodes==number of leaf node, that means, it is the end of the left subtree. &lt;br /&gt;Now recursively call the routine with the sub array containing the left subtree and with the &lt;br /&gt;sub array containing the right subtree.&lt;br /&gt;Finally join the left subtree and the right subtree with the root.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public TreeNode buildNLTree(char[] preorder)&lt;br /&gt;{&lt;br /&gt;int length_p=preorder.length;&lt;br /&gt;if(length_p&lt;1 )&lt;br /&gt;{&lt;br /&gt;//Wrong input&lt;br /&gt;return null;   &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if(length_p==1)&lt;br /&gt;{ //Stop condition for the recursion;&lt;br /&gt;TreeNode node=new TreeNode();&lt;br /&gt;node.left=null;&lt;br /&gt;node.right=null;&lt;br /&gt;node.data=preorder[0];&lt;br /&gt;return node;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int n_count=0,l_count=0;&lt;br /&gt;int pos_right_sub_tree=0;&lt;br /&gt;&lt;br /&gt;for(int i=0;i&amp;lt;length_p;i++)&lt;br /&gt;{&lt;br /&gt;if(preorder[i]=='N')&lt;br /&gt;n_count++;&lt;br /&gt;else&lt;br /&gt;l_count++;&lt;br /&gt;&lt;br /&gt;if(n_count==l_count)&lt;br /&gt;{&lt;br /&gt;pos_right_sub_tree=i+1;&lt;br /&gt;break;&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;char[] newpreorder_left=new char[pos_right_sub_tree-1];&lt;br /&gt;char[] newpreorder_right=new char[length_p-pos_right_sub_tree];&lt;br /&gt;&lt;br /&gt;System.arraycopy(preorder, 1, newpreorder_left, 0, pos_right_sub_tree-1);&lt;br /&gt;System.arraycopy(preorder, pos_right_sub_tree, newpreorder_right, 0, length_p-pos_right_sub_tree);&lt;br /&gt;&lt;br /&gt;TreeNode treeroot=new TreeNode();&lt;br /&gt;treeroot.data=preorder[0];&lt;br /&gt;&lt;br /&gt;TreeNode leftsubtree=buildNLTree(newpreorder_left);&lt;br /&gt;TreeNode rightsubtree=buildNLTree(newpreorder_right);&lt;br /&gt;&lt;br /&gt;treeroot.left=leftsubtree;&lt;br /&gt;treeroot.right=rightsubtree;&lt;br /&gt;&lt;br /&gt;return treeroot;   &lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-3901770450050741229?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/3901770450050741229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=3901770450050741229' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3901770450050741229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/3901770450050741229'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/02/nl-tree.html' title='Java program to build NL Tree from preorder traversal'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1179025319836330022.post-5747919863721520470</id><published>2011-02-23T03:41:00.001-08:00</published><updated>2011-03-02T02:05:58.390-08:00</updated><title type='text'>Java program to build binary tree from preorder traversal and inorder traversal</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;br /&gt;public TreeNode buildTree(int[] preorder,int[] inorder )&lt;br /&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;int length_p=preorder.length;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;int length_i=inorder.length;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;if(length_p&amp;lt;1 ||length_i&amp;lt;1 )&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;//Wrong input&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;return null;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;if(length_p==1)&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;{ //Stop condition for the recursion;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;TreeNode node=new TreeNode();&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;node.left=null;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;node.right=null;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;node.data=preorder[0];&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;return node;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;int preorder_root_val=preorder[0];&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;int inorder_root_pos=0;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;for(int i=0; i&amp;lt;length_i; i++)&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;{// Get the position of the root in inorder array&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;if(inorder[i]==preorder_root_val)&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp;inorder_root_pos=i;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt; &amp;nbsp;break;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &amp;nbsp;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;//Create arrays which will hold the traversals of&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;//left and right subtrees&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;int[] newinorder_left=new int[inorder_root_pos];&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;int[] newpreorder_left=new int[inorder_root_pos];&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;int[] newinorder_right=new int[length_i-inorder_root_pos-1];&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;int[] newpreorder_right=new int[length_i-inorder_root_pos-1];&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;//Fill the arrays that hold the subtree traversals&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;System.arraycopy(inorder, 0, newinorder_left, 0, inorder_root_pos);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;System.arraycopy(preorder, 1, newpreorder_left, 0, inorder_root_pos);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;System.arraycopy(inorder, inorder_root_pos+1, newinorder_right, 0, length_i-inorder_root_pos-1);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;System.arraycopy(preorder, inorder_root_pos+1, newpreorder_right, 0, length_i-inorder_root_pos-1);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;//Create the root Node&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;TreeNode treeroot=new TreeNode();&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;treeroot.data=preorder[0];&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;//Recursive call to buildTree with subtree traversals&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;TreeNode leftsubtree=buildTree(newpreorder_left,newinorder_left);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;TreeNode rightsubtree=buildTree(newpreorder_right,newinorder_right);&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;//Join the subtrees with the root&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;treeroot.left=leftsubtree;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;treeroot.right=rightsubtree;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;//Return the created tree;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &amp;nbsp;return treeroot;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt; &lt;br /&gt;}&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1179025319836330022-5747919863721520470?l=cslabprograms.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cslabprograms.blogspot.com/feeds/5747919863721520470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1179025319836330022&amp;postID=5747919863721520470' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/5747919863721520470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1179025319836330022/posts/default/5747919863721520470'/><link rel='alternate' type='text/html' href='http://cslabprograms.blogspot.com/2011/02/build-binary-tree-from-preorder.html' title='Java program to build binary tree from preorder traversal and inorder traversal'/><author><name>Tony</name><uri>http://www.blogger.com/profile/05127944912135937844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
