Artificially Intelligent Graph algorithm (insert,delete,search) vertices and edges , Avl search tree algorithm (an open challenge) , chaining hash table algorithm , master theorem , linked list representation for graphs , ( to zoom in, press ctrl + plus(+) sign )


one may feel that its really tough to create
graph using linked list .
But now this difficult problem is solved,
now  graph can be created at run time and
i have written a  c-program which
inserts , deletes , searches vertices and 
edges and also performs dfs on it 
one can write  algorithm for creating graph using linked 
lists with following features(insert,delete,search)  
vertices and edges by seeing the below screenshot 
The algorithm should behave in artificially intelligent 
manner such that it should not accept any duplicate
or invalid vertices or edges . The algorithm needs to
store (knowledge) in this case vertices and edges
and should learn itself to add which vertices or edges 
in existing graph .. 
"An algorithm which do not allow invalid or duplicate 
input's is called an artificially intelligent algorithm" 

DFS1

now how about creating a graph at run time 
and start doing depth first search on it ?
no need to worry  i am going to provide a link
to a .exe file which creates graph at run time and
also allows to perform depth first search on it 
this software is open source 
and any one can download .
here is the link to .exe file 

https://onedrive.live.com/redir?resid=A7A28362C6408CE9%21118
( file name - DFS.exe
  size - 23.5 kb )
also check below settings before having demo
ScreenShot001


In a similar way i have also written a
program based on concept of
breadth first search using linked list
which creates a graph at run time and
also traverses the graph  in bfs  manner .
The screen shot of program execution is here ........

BFS

there are two more programs which i have written


-> all pairs shortest path (or floyd’ s warshalls algorithm)   
using linked lists
in this program i took infinity distance as value 9999
the screen shot of program execution is here ....

ALP

also i have written program based on concept of
->minimum spanning tree using linked list based on prims algorithm
the screen shot of program execution is here .....

A


the specialty of all this programs is
that nowhere  i have used any arrays
and also none of the programs  asks to
enter the number of vertices or edges
while executing the program.

the screen shot for Bell man ford shortest path
using linked lists is given below

BELLMAN FORD

Another example for bell man ford shortest path given below

BELLMANFORD1

screen shot for bi-connected components using
linked lists is given below

biconnected

Recently i have implemented AVL-trees 
the screen shot of program execution is given below
the tree is displayed in preorder fashion 
the nodes key and its balence factor(b) are 
displayed while printing the tree

avl

another avl tree example shown below

avl

in my view AVL trees are far more better than 
red-black trees . Now i will explain why AVL trees
are better than red black trees with a small example
consider the image given below

New Bitmap Image (3)

the upper trees are red black tree and the 
bottom one is the AVL tree now when we delete 
the node in red black tree pointed by arrow then 
the resulting tree
is not height balanced even though it satisfies
all the properties of red-black trees but when
same operation is done in AVL tree then since 
the roots balence factor becomes 2 after deletion
we need to perform a left rotation followed 
by right rotation which gives a perfectly balanced 
binary height search tree ....
therefore its better to completely avoid red-black trees

Also i have implemented chaining hash table
the screen shot of program execution is given below ...
hash function used  in this program    Hash(X)=X mod 10

hash 

importance of chained hash tables-

Chained hash tables with linked lists
are popular because they require only 
basic data structures with simple algorithms,
and can  use simple hash functions that are 
unsuitable for other methods.
The cost of a table operation is that of scanning
the entries of the selected bucket for 
the desired key. If the distribution of keys is
sufficiently uniform, the average cost of a look-up 
depends only on the average number of keys per
bucket—that is, on the load factor.
Chained hash tables remain effective even when 
the number of table entries n is much higher than
the number of slots. Their performance
degrades more gracefully (linearly) with the 
load factor. For example, a chained hash table with 
1000 slots and 10,000 stored keys (load factor 10) 
is five to ten times slower than a 10,000-slot table 
(load factor 1); but still 1000 times faster than a 
plain sequential list, and possibly even faster than 
a balanced search tree.As far as my program is concerned 
it can increase its slots form 10 to 10,000 or more
than that depending on requirement and i have taken
only 10 slots from (0 to 9) in the above example of
chained hashing .. 


My facebook address is 

http://www.facebook.com/r5274

or   

my email id is

rajgopal527@gmail.com 
flame527@yahoo.com 

the cost of each program is given below

dfs using linked lists ( inserts,deletes,searches
vertices and edges ) - $ 4   trillion
bfs using linked lists- $ 4 trillion

all pair shortest path using linked lists - $ 4 trillion

minimum spanning tree using using linked lists - $ 4 trillion

bellman ford using linked lists -  $ 4 trillion

Chaining hash tables - $ 14  trillion
Avl tree(an open challenge) - $ 44  trillion
Biconnected components using linked lists - $ 4 trillion
dfs using linked lists  software (without 
code) accepting integer values -$4 billion

live demo of  all remaining  programs - $ 44   billion

the buyer has to verify his proof of 
identity before buying any program or willing to
have demo of all remaining programs 

there is slight change in master theorem's case 1 
please check the below image 

masters.

thank you