<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>data structures for beginners</title>
	<atom:link href="http://vinodcse.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://vinodcse.wordpress.com</link>
	<description>vinod's work  on data structures</description>
	<lastBuildDate>Thu, 24 Nov 2011 21:09:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='vinodcse.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>data structures for beginners</title>
		<link>http://vinodcse.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://vinodcse.wordpress.com/osd.xml" title="data structures for beginners" />
	<atom:link rel='hub' href='http://vinodcse.wordpress.com/?pushpress=hub'/>
		<item>
		<title>SPARSE MATRIX ADDITION</title>
		<link>http://vinodcse.wordpress.com/2006/12/21/sparse-matrix-addition/</link>
		<comments>http://vinodcse.wordpress.com/2006/12/21/sparse-matrix-addition/#comments</comments>
		<pubDate>Thu, 21 Dec 2006 15:21:19 +0000</pubDate>
		<dc:creator>Vinod</dc:creator>
				<category><![CDATA[linear data structures]]></category>

		<guid isPermaLink="false">http://vinodcse.wordpress.com/2006/12/21/sparse-matrix-addition/</guid>
		<description><![CDATA[/****************************************************** -&#62; This C++ program is to perform sparse matrix    addition.    THE FOLLOWING ASSUMPTIONS ARE MADE IN ORDER TO  SIMPLIFY THE PROGRAM  _______________________________________________    1) The row numbers and column numbers are supposed       to be start from 1.  2) There are no duplicates in the input -&#62; Data structures used  Matrix : [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodcse.wordpress.com&amp;blog=227392&amp;post=33&amp;subd=vinodcse&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>/******************************************************</p>
<p>-&gt; This C++ program is to perform sparse matrix<br />
   addition.</p>
<p>   THE FOLLOWING ASSUMPTIONS ARE MADE IN ORDER TO<br />
 SIMPLIFY THE PROGRAM<br />
 _______________________________________________</p>
<p>   1) The row numbers and column numbers are supposed<br />
      to be start from 1.<br />
 2) There are no duplicates in the input</p>
<p>-&gt; Data structures used<br />
 Matrix : multi linked list</p>
<p>-&gt; This program works in microsoft vc++ in windows xp</p>
<p>*******************************************************/</p>
<p>#include&lt;iostream.h&gt;<br />
#include&lt;stdlib.h&gt;</p>
<p>class sparse<br />
{<br />
private:<br />
 int r;          // row number<br />
 int c;          // column number<br />
 sparse *rptr;   // row pointer<br />
 sparse *cptr;   // column header<br />
 int data;       // actual data<br />
public:<br />
 sparse * create(sparse*);<br />
 void display(sparse*);<br />
 void add(sparse*,sparse*);<br />
};</p>
<p>sparse * sparse::create(sparse*h)<br />
{<br />
 cout&lt;&lt;&#8221;\nEnter the no. of rows ::&#8221;;<br />
 cin&gt;&gt;r;<br />
 cout&lt;&lt;&#8221;Enter the no. of columns ::&#8221;;<br />
 cin&gt;&gt;c;</p>
<p> // create the head node<br />
 h=new sparse;<br />
 h-&gt;r=r;<br />
 h-&gt;c=c;<br />
 h-&gt;rptr=h;<br />
 h-&gt;cptr=h;<br />
 h-&gt;data=0;</p>
<p> // create column headers<br />
 sparse *ptr;<br />
 int i,j,d;<br />
 ptr=h;<br />
 for(i=1;i&lt;=c;i++)<br />
 {<br />
  sparse *node;<br />
  node=new sparse;<br />
  node-&gt;r=0;<br />
  node-&gt;c=i;<br />
  node-&gt;data=0;<br />
  node-&gt;rptr=h;<br />
  node-&gt;cptr=node;</p>
<p>  ptr-&gt;rptr=node;<br />
  ptr=node;<br />
 }</p>
<p> // create row headers<br />
 ptr=h;<br />
 for(i=1;i&lt;=r;i++)<br />
 {<br />
  sparse *node;<br />
  node=new sparse;<br />
  node-&gt;r=i;<br />
  node-&gt;c=0;<br />
  node-&gt;data=0;<br />
  node-&gt;rptr=node;<br />
  node-&gt;cptr=h;</p>
<p>  ptr-&gt;cptr=node;<br />
  ptr=node;<br />
 }<br />
 cout&lt;&lt;&#8221;\n now enter the non zero elements &#8220;<br />
  &lt;&lt;&#8221;one by one\n&#8221;;<br />
 cout&lt;&lt;&#8221;\nEnter row number,column number,data\n&#8221;;<br />
 cout&lt;&lt;&#8221;Enter (0 0 0) to stop ::&#8221;;<br />
 cin&gt;&gt;i&gt;&gt;j&gt;&gt;d;<br />
 if(i&gt;r || j&gt;c ||i&lt;1 ||j&lt;1)<br />
 {<br />
  cout&lt;&lt;&#8221; error input&#8221;;<br />
  exit(1);<br />
 }<br />
 while(i&amp;&amp;j&amp;&amp;d)<br />
 {<br />
  sparse * row_header=h-&gt;cptr;<br />
  sparse * column_header=h-&gt;rptr;</p>
<p>  // find the correct row header and column header<br />
  while(row_header-&gt;r&lt;i)<br />
   row_header=row_header-&gt;cptr;</p>
<p>  while(column_header-&gt;c&lt;j)<br />
   column_header=column_header-&gt;rptr;</p>
<p>  sparse *ptr1;<br />
  sparse *ptr2;</p>
<p>  // find the correct position to insert<br />
  sparse*row_ptr=row_header;<br />
  while(row_ptr-&gt;c&lt;j)<br />
  {<br />
   ptr1=row_ptr;<br />
   row_ptr=row_ptr-&gt;rptr;<br />
   if(row_ptr==row_header)<br />
    break;<br />
  }</p>
<p>  sparse*column_ptr=column_header;<br />
  while(column_ptr-&gt;r&lt;i)<br />
  {<br />
   ptr2=column_ptr;<br />
   column_ptr=column_ptr-&gt;cptr;<br />
   if(column_ptr==column_header)<br />
    break;<br />
  }</p>
<p>  sparse *node;<br />
  node=new sparse;<br />
  node-&gt;r=i;<br />
  node-&gt;c=j;<br />
  node-&gt;data=d;</p>
<p>  ptr1-&gt;rptr=node;<br />
  ptr2-&gt;cptr=node;<br />
  node-&gt;rptr=row_ptr;<br />
  node-&gt;cptr=column_ptr;</p>
<p>  cout&lt;&lt;&#8221;\nEnter row number,column number,data\n&#8221;;<br />
  cout&lt;&lt;&#8221;Enter (0 0 0) to stop ::&#8221;;<br />
  cin&gt;&gt;i&gt;&gt;j&gt;&gt;d;<br />
  if(i&gt;r || j&gt;c )<br />
  {<br />
   cout&lt;&lt;&#8221; error input&#8221;;<br />
   exit(1);<br />
  }<br />
 }<br />
 return h;<br />
}</p>
<p>void sparse::display(sparse*h)<br />
{<br />
 sparse *right;<br />
 right=h-&gt;cptr;<br />
 <br />
 while(right!=h)<br />
 {<br />
  sparse *r=right;<br />
  right=right-&gt;rptr;<br />
  while(right!=r)<br />
  {<br />
   cout&lt;&lt;right-&gt;r<br />
    &lt;&lt;&#8217;\t&#8217;&lt;&lt;right-&gt;c<br />
    &lt;&lt;&#8217;\t&#8217;&lt;&lt;right-&gt;data&lt;&lt;endl;<br />
   right=right-&gt;rptr;<br />
  }<br />
  right=right-&gt;cptr;<br />
 }<br />
}</p>
<p>void sparse::add(sparse*h1,sparse*h2)<br />
{<br />
 if(h1-&gt;r==h2-&gt;r &amp;&amp; h1-&gt;c==h2-&gt;c)<br />
  cout&lt;&lt;&#8221;The addition of the two given &#8220;<br />
   &lt;&lt;&#8221;sparse matrices is ::\n&#8221;;<br />
 else<br />
 {<br />
  cout&lt;&lt;&#8221;addition is not possible&#8221;;<br />
  exit(1);<br />
 }<br />
 sparse *r1;<br />
 r1=h1-&gt;cptr;<br />
 sparse *r2;<br />
 r2=h2-&gt;cptr;<br />
 <br />
 while(r1!=h1)<br />
 {<br />
  sparse * p1=r1;<br />
  r1=r1-&gt;rptr;</p>
<p>  sparse * p2=r2;<br />
  r2=r2-&gt;rptr;</p>
<p>  while(r1!= p1 &amp;&amp; r2!=p2)<br />
  {<br />
   if(r1-&gt;c==r2-&gt;c)<br />
   {<br />
    cout&lt;&lt;r1-&gt;r&lt;&lt;&#8217;\t&#8217;&lt;&lt;r1-&gt;c&lt;&lt;&#8217;\t&#8217;<br />
    &lt;&lt;(r1-&gt;data+r2-&gt;data)&lt;&lt;endl;<br />
    r1=r1-&gt;rptr;<br />
    r2=r2-&gt;rptr;<br />
   }<br />
   else if(r1-&gt;c&gt;r2-&gt;c)<br />
   {<br />
    cout&lt;&lt;r2-&gt;r&lt;&lt;&#8217;\t&#8217;&lt;&lt;r2-&gt;c&lt;&lt;&#8217;\t&#8217;<br />
    &lt;&lt;r2-&gt;data&lt;&lt;endl;<br />
    r2=r2-&gt;rptr;<br />
   }<br />
   else<br />
   {<br />
    cout&lt;&lt;r1-&gt;r&lt;&lt;&#8217;\t&#8217;&lt;&lt;r1-&gt;c&lt;&lt;&#8217;\t&#8217;<br />
    &lt;&lt;r1-&gt;data&lt;&lt;endl;<br />
    r1=r1-&gt;rptr;<br />
   }<br />
  }<br />
  while(r1!=p1)<br />
  {<br />
   cout&lt;&lt;r1-&gt;r&lt;&lt;&#8217;\t&#8217;&lt;&lt;r1-&gt;c&lt;&lt;&#8217;\t&#8217;<br />
    &lt;&lt;r1-&gt;data&lt;&lt;endl;<br />
   r1=r1-&gt;rptr;<br />
  }<br />
  while(r2!=p2)<br />
  {<br />
   cout&lt;&lt;r2-&gt;r&lt;&lt;&#8217;\t&#8217;&lt;&lt;r2-&gt;c&lt;&lt;&#8217;\t&#8217;<br />
    &lt;&lt;r2-&gt;data&lt;&lt;endl;<br />
   r2=r2-&gt;rptr;<br />
  }<br />
  r1=r1-&gt;cptr;<br />
  r2=r2-&gt;cptr;<br />
 }<br />
}</p>
<p>void main()<br />
{<br />
 cout&lt;&lt;&#8221;******************************************&#8221;;<br />
 cout&lt;&lt;&#8221;\nThis program is to perform addition of \n&#8221;;<br />
 cout&lt;&lt;&#8221; two sparse matrices \n&#8221;;<br />
 cout&lt;&lt;&#8221;*******************************************\n&#8221;;<br />
 sparse s;<br />
 sparse *h1=NULL,*h2=NULL;<br />
 cout&lt;&lt;&#8221;Enter the values for sparse matrix 1 ::\n&#8221;;<br />
 cout&lt;&lt;&#8221;****************************************\n&#8221;;<br />
 h1=s.create(h1);<br />
 s.display(h1);<br />
 cout&lt;&lt;&#8221;Enter the values for sparse matrix 2 ::\n&#8221;;<br />
 cout&lt;&lt;&#8221;****************************************\n&#8221;;<br />
 h2=s.create(h2);<br />
 s.display(h2);<br />
 s.add(h1,h2);<br />
}</p>
<p>/*<a href="http://vinodcse.files.wordpress.com/2006/12/sanple-output.txt" title="SAMPLE O/P">SAMPLE OUTPUT</a> */</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vinodcse.wordpress.com/33/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vinodcse.wordpress.com/33/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinodcse.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinodcse.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinodcse.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinodcse.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinodcse.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinodcse.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinodcse.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinodcse.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinodcse.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinodcse.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinodcse.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinodcse.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinodcse.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinodcse.wordpress.com/33/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodcse.wordpress.com&amp;blog=227392&amp;post=33&amp;subd=vinodcse&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinodcse.wordpress.com/2006/12/21/sparse-matrix-addition/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7f7a5ee45f07fa7826bca9a0906671ad?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pandu</media:title>
		</media:content>
	</item>
		<item>
		<title>BELLMAN FORD&#8217;S SINGLE SOURCE SHORTEST PATH ALGORITHM</title>
		<link>http://vinodcse.wordpress.com/2006/12/21/bellman-fords-single-source-shortest-path-algorithm/</link>
		<comments>http://vinodcse.wordpress.com/2006/12/21/bellman-fords-single-source-shortest-path-algorithm/#comments</comments>
		<pubDate>Thu, 21 Dec 2006 15:18:51 +0000</pubDate>
		<dc:creator>Vinod</dc:creator>
				<category><![CDATA[graphs]]></category>
		<category><![CDATA[shortest path algorithm]]></category>

		<guid isPermaLink="false">http://vinodcse.wordpress.com/2006/12/21/bellman-fords-single-source-shortest-path-algorithm/</guid>
		<description><![CDATA[/*************************************************************************   -&#62; This C++ program is to implement Bellmen Ford algorithm.   -&#62; Bellmen Ford algorithm solves the single source shortest paths      problem in the general case in which edge weights may be negative.   -&#62; This algorithm returns true if the graph contains no      negative-weight cycles that are reachable from the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodcse.wordpress.com&amp;blog=227392&amp;post=31&amp;subd=vinodcse&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>/*************************************************************************</p>
<p>  -&gt; This C++ program is to implement Bellmen Ford algorithm.</p>
<p>  -&gt; Bellmen Ford algorithm solves the single source shortest paths<br />
     problem in the general case in which edge weights may be negative.</p>
<p>  -&gt; This algorithm returns true if the graph contains no<br />
     negative-weight cycles that are reachable from the source<br />
  else returns the shortest paths from the source.</p>
<p>  -&gt; This program works in Microsoft VC++ environment in windows xp</p>
<p>  -&gt; Data structures used:<br />
        Graph :: Adjacency matrix</p>
<p>  -&gt; Header files used :<br />
        1)iostream.h<br />
 2)stdlib.h</p>
<p>/*************************************************************************/</p>
<p>#include&lt;iostream.h&gt;<br />
#include&lt;stdlib.h&gt;</p>
<p>#define MAX 20<br />
#define INFINITY 9999</p>
<p>class bell_ford<br />
{<br />
private:<br />
 int n;<br />
 int graph[MAX][MAX];<br />
 int start;<br />
 int distance[MAX];<br />
 int predecessor[MAX];<br />
public:<br />
 void read_graph();<br />
 void initialize();<br />
 void update();<br />
 void check();<br />
 void algorithm();<br />
};</p>
<p>void bell_ford::read_graph()<br />
{<br />
 cout&lt;&lt;&#8221;Enter the no. of nodes in the graph ::&#8221;;<br />
 cin&gt;&gt;n;<br />
 cout&lt;&lt;&#8221;Enter the adjacency matrix for the graph ::\n&#8221;;<br />
 for(int i=1;i&lt;=n;i++)<br />
  for(int j=1;j&lt;=n;j++)<br />
   cin&gt;&gt;graph[i][j];<br />
 cout&lt;&lt;&#8221;Enter the start vertex ::&#8221;;<br />
 cin&gt;&gt;start;<br />
}</p>
<p>void bell_ford::initialize()<br />
{<br />
 for(int i=1;i&lt;=n;i++)<br />
 {<br />
   distance[i]=INFINITY;<br />
   predecessor[i]=0;<br />
 }<br />
 distance[start]=0;<br />
}</p>
<p>void bell_ford::update()<br />
{<br />
 for(int i=1;i&lt;=n-1;i++)<br />
 {<br />
  for(int u=1;u&lt;=n;u++)<br />
  {<br />
   for(int v=1;v&lt;=n;v++)<br />
   {<br />
    if(graph[u][v]!=0)<br />
    {<br />
     if(distance[v]&gt;distance[u]+graph[u][v])<br />
     {<br />
      distance[v]=distance[u]+graph[u][v];<br />
      predecessor[v]=u;<br />
     }<br />
    }<br />
   }<br />
  }<br />
 }<br />
}</p>
<p>void bell_ford::check()<br />
{<br />
 for(int u=1;u&lt;=n;u++)<br />
 {<br />
  for(int v=1;v&lt;=n;v++)<br />
  {<br />
   if(graph[u][v]!=0)<br />
   {<br />
    if(distance[v]&gt;distance[u]+graph[u][v])<br />
    {<br />
     cout&lt;&lt;&#8221;does not exist&#8217;s &#8220;;<br />
     return;<br />
    }<br />
   }<br />
  }<br />
 }</p>
<p> cout&lt;&lt;&#8221;\n\nThere is no negative weight cycle and\n&#8221;;<br />
 cout&lt;&lt;&#8221;****** The final paths and the distacnes are ******\n\n&#8221;;<br />
 for(int i=1;i&lt;=n;i++)<br />
 {<br />
  cout&lt;&lt;&#8221;path for node &#8220;&lt;&lt;i&lt;&lt;&#8221; is ::\n&#8221;;<br />
  int arr[MAX],k=1;<br />
  int j=i;<br />
  while(predecessor[j]!=0)<br />
  {<br />
   arr[k]=predecessor[j];<br />
   k++;<br />
   j=predecessor[j];<br />
  }<br />
  for(&#8211;k;k&gt;0;k&#8211;)<br />
   cout&lt;&lt;arr[k]&lt;&lt;&#8221;-&gt;&#8221;;<br />
  cout&lt;&lt;i&lt;&lt;endl;<br />
  cout&lt;&lt;&#8221;distance is &#8220;&lt;&lt;distance[i]&lt;&lt;endl&lt;&lt;endl&lt;&lt;endl;<br />
 }<br />
}</p>
<p>void bell_ford::algorithm()<br />
{<br />
 read_graph();<br />
 initialize();<br />
 update();<br />
 check();<br />
}</p>
<p>void main()<br />
{<br />
 bell_ford obj;<br />
 obj.algorithm();<br />
}</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vinodcse.wordpress.com/31/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vinodcse.wordpress.com/31/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinodcse.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinodcse.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinodcse.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinodcse.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinodcse.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinodcse.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinodcse.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinodcse.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinodcse.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinodcse.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinodcse.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinodcse.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinodcse.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinodcse.wordpress.com/31/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodcse.wordpress.com&amp;blog=227392&amp;post=31&amp;subd=vinodcse&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinodcse.wordpress.com/2006/12/21/bellman-fords-single-source-shortest-path-algorithm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7f7a5ee45f07fa7826bca9a0906671ad?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pandu</media:title>
		</media:content>
	</item>
		<item>
		<title>TOWERS OF HANOI</title>
		<link>http://vinodcse.wordpress.com/2006/12/21/towers-of-hanoi/</link>
		<comments>http://vinodcse.wordpress.com/2006/12/21/towers-of-hanoi/#comments</comments>
		<pubDate>Thu, 21 Dec 2006 15:18:09 +0000</pubDate>
		<dc:creator>Vinod</dc:creator>
				<category><![CDATA[linear data structures]]></category>

		<guid isPermaLink="false">http://vinodcse.wordpress.com/2006/12/21/towers-of-hanoi/</guid>
		<description><![CDATA[/**************************************************************************   -&#62; This C++ program is to solve the towers of hanoi problem.   -&#62; Implemented using recursion.   -&#62; Works in Microsoft VC++ 6.0 , windows xp.   -&#62; Header files used 1)iostream.h ***************************************************************************/ #include&#60;iostream.h&#62; void move(int n,char *s,char *i,char *d) // s stands for source tower // d stands for destination tower [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodcse.wordpress.com&amp;blog=227392&amp;post=30&amp;subd=vinodcse&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>/**************************************************************************</p>
<p>  -&gt; This C++ program is to solve the towers of hanoi problem.<br />
  -&gt; Implemented using recursion.<br />
  -&gt; Works in Microsoft VC++ 6.0 , windows xp.<br />
  -&gt; Header files used 1)iostream.h</p>
<p>***************************************************************************/</p>
<p>#include&lt;iostream.h&gt;</p>
<p>void move(int n,char *s,char *i,char *d)<br />
// s stands for source tower<br />
// d stands for destination tower<br />
// i stands for intermediate tower<br />
{<br />
 if(n&gt;0)<br />
 {<br />
  move(n-1,s,d,i);<br />
  // move n-1 disks from source to intermediate tower<br />
  cout&lt;&lt;&#8221;disk &#8220;&lt;&lt;n&lt;&lt;&#8221; is moved from &#8220;&lt;&lt;s&lt;&lt;&#8221; to &#8220;&lt;&lt;d&lt;&lt;endl;<br />
  // move the disk from to source to destination<br />
  move(n-1,i,s,d);<br />
  // move n-1 disks from intermediate to destination<br />
 }<br />
}</p>
<p>void main()<br />
{<br />
 cout&lt;&lt;&#8221;\n**********************************************************\n&#8221;;<br />
 cout&lt;&lt;&#8221;This C++ program is to solve the towers of hanoi problem&#8221;;<br />
 cout&lt;&lt;&#8221;\n**********************************************************\n&#8221;;<br />
 cout&lt;&lt;&#8221;Enter the no. of disks &#8220;;<br />
 int n;<br />
 cin&gt;&gt;n;<br />
 move(n,&#8221;source tower&#8221;,&#8221;intermediate tower&#8221;,&#8221;destination tower&#8221;);<br />
}</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vinodcse.wordpress.com/30/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vinodcse.wordpress.com/30/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinodcse.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinodcse.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinodcse.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinodcse.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinodcse.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinodcse.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinodcse.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinodcse.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinodcse.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinodcse.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinodcse.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinodcse.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinodcse.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinodcse.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodcse.wordpress.com&amp;blog=227392&amp;post=30&amp;subd=vinodcse&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinodcse.wordpress.com/2006/12/21/towers-of-hanoi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7f7a5ee45f07fa7826bca9a0906671ad?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pandu</media:title>
		</media:content>
	</item>
		<item>
		<title>STACKS</title>
		<link>http://vinodcse.wordpress.com/2006/09/16/stacks/</link>
		<comments>http://vinodcse.wordpress.com/2006/09/16/stacks/#comments</comments>
		<pubDate>Sat, 16 Sep 2006 11:07:23 +0000</pubDate>
		<dc:creator>Vinod</dc:creator>
				<category><![CDATA[linear data structures]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vinodcse.wordpress.com/2006/09/16/stacks/</guid>
		<description><![CDATA[      Stacks DEFINITION1:   Stack is an ordered collection of items into which new items may be inserted and from which items may be deleted at one end. DEFINITION2: Stack is a linear list in which insertions and deletions take place at the same end. The end at which the operations are taking place is called [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodcse.wordpress.com&amp;blog=227392&amp;post=26&amp;subd=vinodcse&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>      <u>Stacks</u></strong></p>
<p><span>DEFINITION1:<span>   </span>Stack is an ordered collection of items into which new items may be inserted and from which items may be deleted at one end.</span></p>
<p><span>DEFINITION2: Stack is a linear list in which insertions and deletions take place at the same end.</span></p>
<p><span></span></p>
<p><span>The end at which the operations are taking place is called <strong>top</strong></span></p>
<p><span>The other end is called <strong>bottom</strong></span></p>
<p><strong><span>Ex:</span></strong></p>
<p><span>T&lt;-top</span></p>
<p><span>J</span></p>
<p><span>K</span></p>
<p><span>S</span></p>
<p><span>F&lt;-bottom</span></p>
<p><span></span></p>
<p><span></span></p>
<p><span>This is LIFO (Last-in-first-out) structure.</span></p>
<p><span>The insertion of element into stack is called <strong>push</strong></span></p>
<p><span>The deletion of element from stack is called <strong>pop.</strong></span></p>
<p><strong><span></span></strong></p>
<p><strong><span>OVERFLOW:</span></strong></p>
<p><span></span></p>
<p><span>This situation will come when the stack is implemented using an array.</span></p>
<p><span>If an element is pushed into the stack when the size of the stack greater than or equal to maximum size of the array, then we say that the stack is overflowing.</span></p>
<p><span><strong>Underflow:</strong></span></p>
<p><span>If deletion operation is performed on the stack with no elements then the stack is said to be underflowing .This occurs in both types of implementations of stack.</span></p>
<p><span>Algorithm for push operation:</span></p>
<p><strong><span>Push(key,top):(</span></strong><span>Array implementation of stack)</span></p>
<p><span>1)If(top&gt;=maximum size of the stack)</span></p>
<p><span><span>  </span>i)Then print “Stack is overflowing”</span></p>
<p><span>2)Else</span></p>
<p><span><span>   </span>i)Stack[top]=key;</span></p>
<p><span><span>  </span>ii)top=top+1;</span></p>
<p><u><span>Algorithm for pop operation:</span></u></p>
<p><strong><span>Pop():</span></strong></p>
<p><span>1)if(top=0)</span></p>
<p><span><span>          </span>1)print “The stack is underflowing”</span></p>
<p><span>2)else</span></p>
<p><span><span>          </span>return stack[--top]</span></p>
<p><u><span>Applications of stack :</span></u></p>
<p><span>1)parenthesis matching</span></p>
<p><span>2)Towers of </span><span>Hanoi</span></p>
<p><span>3)Rearranging rail road cars</span></p>
<p><span>4)Rat in a maze.</span></p>
<p><span>NOTE:</span></p>
<p><span>I am writing this notes by referring to the following reference books. The students who are new to data structures are being advised to refer to “CLASSICAL DATA STRUCTURES” by SAMANTHA.</span></p>
<p><span></span></p>
<p><strong><u><span>References:</span></u></strong></p>
<p><strong><u><span>1)</span></u></strong><span> Data structures, Algorithms &amp;Applications in c++<span>   </span>by SAHNI</span></p>
<p><span>2)classic data structures by<span>  </span>SAMANTHA</span></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vinodcse.wordpress.com/26/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vinodcse.wordpress.com/26/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinodcse.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinodcse.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinodcse.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinodcse.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinodcse.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinodcse.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinodcse.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinodcse.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinodcse.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinodcse.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinodcse.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinodcse.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinodcse.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinodcse.wordpress.com/26/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodcse.wordpress.com&amp;blog=227392&amp;post=26&amp;subd=vinodcse&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinodcse.wordpress.com/2006/09/16/stacks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7f7a5ee45f07fa7826bca9a0906671ad?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pandu</media:title>
		</media:content>
	</item>
		<item>
		<title>Kruskal ALgorithm</title>
		<link>http://vinodcse.wordpress.com/2006/08/11/kruskal-algorithm/</link>
		<comments>http://vinodcse.wordpress.com/2006/08/11/kruskal-algorithm/#comments</comments>
		<pubDate>Fri, 11 Aug 2006 15:28:38 +0000</pubDate>
		<dc:creator>Vinod</dc:creator>
				<category><![CDATA[graphs]]></category>
		<category><![CDATA[minimum spanning tress]]></category>

		<guid isPermaLink="false">https://vinodcse.wordpress.com/2006/08/11/kruskal-algorithm/</guid>
		<description><![CDATA[//implemented using sets concept  #include&#60;iostream.h&#62; class kruskal { private:  int n;  int graph[10][10];  int tree[10][10];  int noe;  int edges[100][4];  int sets[100][10];  int top[100]; public:  void read_graph();  void initialize_span_t();  void sort_edges();  void algorithm();  int find_node(int );  void print_min_span_t(); }; void kruskal::read_graph() {  cout&#60;&#60;&#8221;Enter the no. of nodes in the graph ::&#8221;;  cin&#62;&#62;n;  cout&#60;&#60;&#8221;Enter the adjacency matrix [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodcse.wordpress.com&amp;blog=227392&amp;post=25&amp;subd=vinodcse&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>//implemented using sets concept </p>
<p>#include&lt;iostream.h&gt;<br />
class kruskal<br />
{<br />
private:<br />
 int n;<br />
 int graph[10][10];<br />
 int tree[10][10];<br />
 int noe;<br />
 int edges[100][4];<br />
 int sets[100][10];<br />
 int top[100];<br />
public:<br />
 void read_graph();<br />
 void initialize_span_t();<br />
 void sort_edges();<br />
 void algorithm();<br />
 int find_node(int );<br />
 void print_min_span_t();<br />
};</p>
<p>void kruskal::read_graph()<br />
{<br />
 cout&lt;&lt;&#8221;Enter the no. of nodes in the graph ::&#8221;;<br />
 cin&gt;&gt;n;<br />
 cout&lt;&lt;&#8221;Enter the adjacency matrix of the graph ::\n&#8221;;<br />
 for(int i=1;i&lt;=n;i++)<br />
  for(int j=1;j&lt;=n;j++)<br />
   cin&gt;&gt;graph[i][j];<br />
}</p>
<p>void kruskal::sort_edges()<br />
{<br />
 int i,j;<br />
 /******* Initialize the edges *************/<br />
 noe=0;<br />
 for(i=1;i&lt;=n;i++)<br />
 {<br />
  for(j=i;j&lt;=n;j++)<br />
  {<br />
   if(graph[i][j]!=0)<br />
   {<br />
    noe++;<br />
    edges[noe][1]=i;<br />
    edges[noe][2]=j;<br />
    edges[noe][3]=graph[i][j];<br />
   }<br />
  }<br />
 }<br />
 <br />
 /*********** Sort the edges **************/<br />
 <br />
 for(i=1;i&lt;=noe;i++)<br />
 {<br />
  for(j=i;j&lt;=noe-1;j++)<br />
  {<br />
   if(edges[j][3]&gt;edges[j+1][3])<br />
   {<br />
    int t=edges[j][1];<br />
    edges[j][1]=edges[j+1][1];<br />
    edges[j+1][1]=t;<br />
    <br />
    t=edges[j][2];<br />
    edges[j][2]=edges[j+1][2];<br />
    edges[j+1][2]=t;<br />
    <br />
    t=edges[j][3];<br />
    edges[j][3]=edges[j+1][3];<br />
    edges[j+1][3]=t;<br />
   }<br />
  }<br />
 }<br />
  <br />
  /*********** Print the edges **************/</p>
<p> cout&lt;&lt;endl;<br />
 for(i=1;i&lt;=noe;i++)<br />
  cout&lt;&lt;edges[i][1]&lt;&lt;&#8217;\t&#8217;&lt;&lt;edges[i][2]&lt;&lt;&#8217;\t&#8217;&lt;&lt;edges[i][3]&lt;&lt;endl;<br />
}</p>
<p>void kruskal::initialize_span_t()<br />
{<br />
 for(int i=1;i&lt;=n;i++)<br />
  for(int j=1;j&lt;=n;j++)<br />
   tree[i][j]=0;<br />
}</p>
<p>void kruskal::algorithm()<br />
{<br />
 // -&gt;make a set for each node<br />
 for(int i=1;i&lt;=n;i++)<br />
 {<br />
  sets[i][1]=i;<br />
  top[i]=1;<br />
 }</p>
<p> for(i=1;i&lt;=noe;i++)<br />
 {<br />
  int p1=find_node(edges[i][1]);<br />
  int p2=find_node(edges[i][2]);</p>
<p>  cout&lt;&lt;p1&lt;&lt;&#8221;\t&#8221;&lt;&lt;p2&lt;&lt;endl;</p>
<p>  if(p1!=p2)<br />
  {<br />
   tree[edges[i][1]][edges[i][2]]=edges[i][3];<br />
   tree[edges[i][2]][edges[i][1]]=edges[i][3];</p>
<p>   // Mix the two sets<br />
   <br />
   for(int j=1;j&lt;=top[p2];j++)<br />
   {<br />
    top[p1]++;<br />
    sets[p1][top[p1]]=sets[p2][j];<br />
   }</p>
<p>   top[p2]=0;<br />
  }<br />
 }<br />
}</p>
<p>int kruskal::find_node(int n)<br />
{<br />
 for(int i=1;i&lt;=noe;i++)<br />
 {<br />
  for(int j=1;j&lt;=top[i];j++)<br />
  {<br />
   if(n==sets[i][j])<br />
    return i;<br />
  }<br />
 }<br />
 return -1;<br />
}<br />
void kruskal::print_min_span_t()<br />
{<br />
 for(int i=1;i&lt;=n;i++)<br />
 {<br />
  for(int j=1;j&lt;=n;j++)<br />
   cout&lt;&lt;tree[i][j]&lt;&lt;&#8217;\t&#8217;;<br />
  cout&lt;&lt;endl;<br />
 }<br />
}<br />
int main()<br />
{<br />
 kruskal obj;<br />
 obj.read_graph();<br />
 obj.sort_edges();<br />
 obj.initialize_span_t();<br />
 obj.algorithm();<br />
 obj.print_min_span_t();<br />
 return 0;<br />
}</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vinodcse.wordpress.com/25/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vinodcse.wordpress.com/25/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinodcse.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinodcse.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinodcse.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinodcse.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinodcse.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinodcse.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinodcse.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinodcse.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinodcse.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinodcse.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinodcse.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinodcse.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinodcse.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinodcse.wordpress.com/25/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodcse.wordpress.com&amp;blog=227392&amp;post=25&amp;subd=vinodcse&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinodcse.wordpress.com/2006/08/11/kruskal-algorithm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7f7a5ee45f07fa7826bca9a0906671ad?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pandu</media:title>
		</media:content>
	</item>
		<item>
		<title>topological sort</title>
		<link>http://vinodcse.wordpress.com/2006/07/13/topological-sort/</link>
		<comments>http://vinodcse.wordpress.com/2006/07/13/topological-sort/#comments</comments>
		<pubDate>Thu, 13 Jul 2006 11:55:45 +0000</pubDate>
		<dc:creator>Vinod</dc:creator>
				<category><![CDATA[graphs]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">https://vinodcse.wordpress.com/2006/07/13/topological-sort/</guid>
		<description><![CDATA[/* AUTHOR:B.VINOD KUMAR &#8220;*/ using namespace std; #include&#60;iostream&#62; class graph {      private:           int n;    int data[20];           int gptr[20][20];      public:           void create();           void topological(); }; void graph::create() {         cout&#60;&#60;&#8221;enter how many elements :&#8221;;         cin&#62;&#62;n;  cout&#60;&#60;&#8221;enter data for the nodes:\n&#8221;;  for(int i=1;i&#60;=n;i++)       cin&#62;&#62;data[i];         cout&#60;&#60;&#8221;enter &#8220;&#60;&#60;n&#60;&#60;&#8221;x&#8221;&#60;&#60;n&#60;&#60;&#8221; adjacency [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodcse.wordpress.com&amp;blog=227392&amp;post=23&amp;subd=vinodcse&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>/*<br />
AUTHOR:B.VINOD KUMAR<br />
&#8220;*/<br />
using namespace std;<br />
#include&lt;iostream&gt;<br />
class graph<br />
{<br />
     private:<br />
          int n;<br />
   int data[20];<br />
          int gptr[20][20];<br />
     public:<br />
          void create();<br />
          void topological();<br />
};<br />
void graph::create()<br />
{<br />
        cout&lt;&lt;&#8221;enter how many elements :&#8221;;<br />
        cin&gt;&gt;n;<br />
 cout&lt;&lt;&#8221;enter data for the nodes:\n&#8221;;<br />
 for(int i=1;i&lt;=n;i++)<br />
      cin&gt;&gt;data[i];<br />
        cout&lt;&lt;&#8221;enter &#8220;&lt;&lt;n&lt;&lt;&#8221;x&#8221;&lt;&lt;n&lt;&lt;&#8221; adjacency matrix elements :\n&#8221;;<br />
        int i,j;<br />
        for(i=1;i&lt;=n;i++)<br />
         for(j=1;j&lt;=n;j++)<br />
          cin&gt;&gt;gptr[i][j];<br />
}<br />
void graph::topological()<br />
{<br />
        int flag;<br />
        int i,j;<br />
        int poset[20],included[20];<br />
        for(i=1;i&lt;=n;i++)<br />
        {<br />
         poset[i]=0;<br />
         included[i]=false;<br />
        }<br />
        int k=1;<br />
        flag=true;<br />
        int zeroindegree;<br />
 int c=1;<br />
        while(flag==1)<br />
        {<br />
         for(i=1;i&lt;=n;i++)<br />
                {<br />
          if(!included[i])<br />
          {<br />
           zeroindegree=true;<br />
           for(j=1;j&lt;=n;j++)<br />
                                {<br />
            if(gptr[j][i]&gt;0)<br />
                                      {<br />
             zeroindegree=false;<br />
             break;<br />
            }<br />
                                }<br />
           if(zeroindegree)<br />
           {<br />
            included[i]=true;<br />
            poset[k]=data[i];<br />
            k=k+1;<br />
            for(j=1;j&lt;=n;j++)<br />
            {<br />
                                         gptr[i][j]=-1;<br />
             gptr[j][i]=-1;<br />
            }<br />
                                        break;<br />
           }<br />
          }<br />
                }<br />
         if(i==n+1)<br />
         {<br />
   if(zeroindegree==false)<br />
   {<br />
          cout&lt;&lt;&#8221;Graph is not acyclic\n&#8221;;<br />
                        return;<br />
   }<br />
   else<br />
   {<br />
            poset[k]=data[i-1];<br />
            k=k+1;<br />
                   flag=false;<br />
   }<br />
          }<br />
     }<br />
       cout&lt;&lt;&#8221;After topological sorting:\n&#8221;;<br />
         for(i=1;i&lt;=n;i++)<br />
               cout&lt;&lt;poset[i]&lt;&lt;&#8221;\t&#8221;;<br />
  cout&lt;&lt;endl;<br />
}<br />
int main()<br />
{<br />
     graph obj;<br />
     obj.create();<br />
     obj.topological();<br />
     return 0;<br />
}</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vinodcse.wordpress.com/23/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vinodcse.wordpress.com/23/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinodcse.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinodcse.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinodcse.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinodcse.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinodcse.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinodcse.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinodcse.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinodcse.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinodcse.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinodcse.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinodcse.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinodcse.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinodcse.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinodcse.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodcse.wordpress.com&amp;blog=227392&amp;post=23&amp;subd=vinodcse&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinodcse.wordpress.com/2006/07/13/topological-sort/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7f7a5ee45f07fa7826bca9a0906671ad?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pandu</media:title>
		</media:content>
	</item>
		<item>
		<title>Heap Sort</title>
		<link>http://vinodcse.wordpress.com/2006/07/13/heap-sort/</link>
		<comments>http://vinodcse.wordpress.com/2006/07/13/heap-sort/#comments</comments>
		<pubDate>Thu, 13 Jul 2006 11:49:54 +0000</pubDate>
		<dc:creator>Vinod</dc:creator>
				<category><![CDATA[sort]]></category>

		<guid isPermaLink="false">https://vinodcse.wordpress.com/2006/07/13/heap-sort/</guid>
		<description><![CDATA[#include&#60;stdio.h&#62; #include&#60;iostream.h&#62; class heap {  double *a;  int n,hsize;  public:  void swap(double&#38; f,double&#38; g);  void bulit(int j);  void heapsort(void);  void heapify(int i); friend istream &#38; operator&#62;&#62;(istream &#38;in,heap &#38;x); friend ostream &#38; operator&#60;&#60;(ostream &#38;out,heap &#38;x); };  ostream &#38; operator&#60;&#60;(ostream &#38;out,heap &#38;x) { out&#60;&#60;&#8221;\n THE SORTED ORDER IS:\n&#8221;;  for(int i=1;i&#60;=x.hsize;i++)  out &#60;&#60; x.a[i]&#60;&#60;&#8221;  &#8220;;  out &#60;&#60;&#8221;\n&#8221;;  return [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodcse.wordpress.com&amp;blog=227392&amp;post=22&amp;subd=vinodcse&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>#include&lt;stdio.h&gt;<br />
#include&lt;iostream.h&gt;<br />
class heap<br />
{<br />
 double *a;<br />
 int n,hsize;<br />
 public:<br />
 void swap(double&amp; f,double&amp; g);<br />
 void bulit(int j);<br />
 void heapsort(void);<br />
 void heapify(int i);<br />
friend istream &amp; operator&gt;&gt;(istream &amp;in,heap &amp;x);<br />
friend ostream &amp; operator&lt;&lt;(ostream &amp;out,heap &amp;x);<br />
};<br />
 ostream &amp; operator&lt;&lt;(ostream &amp;out,heap &amp;x)<br />
{ out&lt;&lt;&#8221;\n THE SORTED ORDER IS:\n&#8221;;<br />
 for(int i=1;i&lt;=x.hsize;i++)<br />
 out &lt;&lt; x.a[i]&lt;&lt;&#8221;  &#8220;;<br />
 out &lt;&lt;&#8221;\n&#8221;;<br />
 return out;<br />
 }<br />
istream &amp; operator&gt;&gt; (istream &amp;in,heap &amp;x)<br />
{<br />
 cout&lt;&lt;&#8221;\n ENTER THE NO:OF ELEMENTS TO BE INPUTED:&#8221;;<br />
 in &gt;&gt;x.n;<br />
 x.hsize=x.n;<br />
 cout&lt;&lt;&#8221;\n ENTER &#8220;&lt;&lt;&#8221;  &#8220;&lt;&lt;x.n&lt;&lt;&#8221;THE NUMBERS TO SORTED:&#8221;;<br />
 x.a=new double[x.hsize];<br />
 for(int i=1;i&lt;=x.n;i++)<br />
 in &gt;&gt;x.a[i];<br />
  cout&lt;&lt;&#8221;\n&#8221;;<br />
 return in;<br />
 }</p>
<p>void heap::swap(double&amp; f,double&amp; g)<br />
{<br />
  double temp;<br />
  temp=f;<br />
  f=g;<br />
  g=temp;<br />
}<br />
void heap::heapify(int i)<br />
{<br />
  int l=2*i;<br />
  int r=2*i+1;<br />
  int large;<br />
  if(a[r]&gt;=a[l]&amp;&amp;l&lt;=n&amp;&amp;r&lt;=n)<br />
  swap(a[l],a[r]);<br />
  if(l&lt;=n&amp;&amp;a[l]&gt;a[i])<br />
   large=l;<br />
  else<br />
   large=i;<br />
  if(i!=large)<br />
   {<br />
    swap(a[i],a[large]);<br />
    heapify(large);<br />
   }<br />
}<br />
void heap::bulit(int j)<br />
{<br />
 for(int i=j/2;i&gt;=1;i&#8211;)<br />
 heapify(i);<br />
}<br />
void heap::heapsort()<br />
{<br />
  cin&gt;&gt;*this;<br />
  bulit(hsize);<br />
  for(int i=hsize;i&gt;=1;i&#8211;)<br />
  {<br />
   bulit(i);<br />
   heapify(1);<br />
   swap(a[i],a[1]);<br />
   n&#8211;;<br />
  }<br />
  cout&lt;&lt;*this;<br />
  delete []a;<br />
}<br />
int main()<br />
{<br />
  heap h;<br />
  h.heapsort();<br />
  return 0;<br />
}</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vinodcse.wordpress.com/22/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vinodcse.wordpress.com/22/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinodcse.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinodcse.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinodcse.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinodcse.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinodcse.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinodcse.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinodcse.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinodcse.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinodcse.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinodcse.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinodcse.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinodcse.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinodcse.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinodcse.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodcse.wordpress.com&amp;blog=227392&amp;post=22&amp;subd=vinodcse&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinodcse.wordpress.com/2006/07/13/heap-sort/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7f7a5ee45f07fa7826bca9a0906671ad?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pandu</media:title>
		</media:content>
	</item>
		<item>
		<title>Binary Tree Traversals</title>
		<link>http://vinodcse.wordpress.com/2006/05/29/binary-tree-traversals/</link>
		<comments>http://vinodcse.wordpress.com/2006/05/29/binary-tree-traversals/#comments</comments>
		<pubDate>Mon, 29 May 2006 15:26:33 +0000</pubDate>
		<dc:creator>Vinod</dc:creator>
				<category><![CDATA[Trees]]></category>

		<guid isPermaLink="false">https://vinodcse.wordpress.com/2006/05/29/binary-tree-traversals/</guid>
		<description><![CDATA[Binary TreeThis program is for creating and traversing a binary tree in preorder,inorder,postorder using recursion and level order using iteration<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodcse.wordpress.com&amp;blog=227392&amp;post=19&amp;subd=vinodcse&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://vinodcse.files.wordpress.com/2006/05/binarytree.doc">Binary Tree</a>This program is for creating and traversing a binary tree in preorder,inorder,postorder using recursion and level order using iteration</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vinodcse.wordpress.com/19/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vinodcse.wordpress.com/19/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinodcse.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinodcse.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinodcse.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinodcse.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinodcse.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinodcse.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinodcse.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinodcse.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinodcse.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinodcse.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinodcse.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinodcse.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinodcse.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinodcse.wordpress.com/19/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodcse.wordpress.com&amp;blog=227392&amp;post=19&amp;subd=vinodcse&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinodcse.wordpress.com/2006/05/29/binary-tree-traversals/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7f7a5ee45f07fa7826bca9a0906671ad?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pandu</media:title>
		</media:content>
	</item>
		<item>
		<title>sorting</title>
		<link>http://vinodcse.wordpress.com/2006/05/29/sorting/</link>
		<comments>http://vinodcse.wordpress.com/2006/05/29/sorting/#comments</comments>
		<pubDate>Mon, 29 May 2006 11:12:52 +0000</pubDate>
		<dc:creator>Vinod</dc:creator>
				<category><![CDATA[c++]]></category>

		<guid isPermaLink="false">https://vinodcse.wordpress.com/2006/05/29/sorting/</guid>
		<description><![CDATA[Sorting Algorithmssorting techniques<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodcse.wordpress.com&amp;blog=227392&amp;post=17&amp;subd=vinodcse&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="https://vinodcse.wordpress.com/wp-admin/sortalgs.pdf" title="Sorting Algorithms">Sorting Algorithms</a>sorting techniques</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vinodcse.wordpress.com/17/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vinodcse.wordpress.com/17/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinodcse.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinodcse.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinodcse.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinodcse.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinodcse.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinodcse.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinodcse.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinodcse.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinodcse.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinodcse.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinodcse.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinodcse.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinodcse.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinodcse.wordpress.com/17/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodcse.wordpress.com&amp;blog=227392&amp;post=17&amp;subd=vinodcse&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinodcse.wordpress.com/2006/05/29/sorting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7f7a5ee45f07fa7826bca9a0906671ad?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pandu</media:title>
		</media:content>
	</item>
		<item>
		<title>ADT</title>
		<link>http://vinodcse.wordpress.com/2006/05/29/adt-3/</link>
		<comments>http://vinodcse.wordpress.com/2006/05/29/adt-3/#comments</comments>
		<pubDate>Mon, 29 May 2006 11:07:10 +0000</pubDate>
		<dc:creator>Vinod</dc:creator>
				<category><![CDATA[c++]]></category>

		<guid isPermaLink="false">https://vinodcse.wordpress.com/2006/05/29/adt-3/</guid>
		<description><![CDATA[ADT&#160;This is about abstract data types<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodcse.wordpress.com&amp;blog=227392&amp;post=15&amp;subd=vinodcse&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="https://vinodcse.wordpress.com/wp-admin/adt.pdf" title="ADT">ADT</a>&nbsp;This is about abstract data types</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/vinodcse.wordpress.com/15/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/vinodcse.wordpress.com/15/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/vinodcse.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/vinodcse.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/vinodcse.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/vinodcse.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/vinodcse.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/vinodcse.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/vinodcse.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/vinodcse.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/vinodcse.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/vinodcse.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/vinodcse.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/vinodcse.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/vinodcse.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/vinodcse.wordpress.com/15/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=vinodcse.wordpress.com&amp;blog=227392&amp;post=15&amp;subd=vinodcse&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://vinodcse.wordpress.com/2006/05/29/adt-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7f7a5ee45f07fa7826bca9a0906671ad?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pandu</media:title>
		</media:content>
	</item>
	</channel>
</rss>
