Advance Dijkstra’s Algorithm with Cactus Stack Implementation Logic
Idea Proposed for the Cactus Stack Approach with Dijkstra’s Algorithm
Abstract— This paper illustrates a possible approach to reduce the complexity and calculation burden that is normally encountered in the Shortest Path Problems. We intend to give a new concept based on the look ahead values of the input nodes given in the shortest path problem as proposed by the famous Djktras Algorithm. A new data structure called as Cactus Stack could be used for the same and we could try to minimize and the loop back issues and traversals in a given graph by looking at the adjacency matrix as well as the creation of a cactus stack which is linked in a listed manner. The calculation of the node values and the total value shall be the same as proposed by the ancient algorithm however by our concept we are trying to reduce the complexity of calculation to a larger extent.
Index Terms—Component, formatting, style, styling, insert. (key words)
I. Introduction
With the advancement in technology, there is increase in demand for development of industries to fulfill the requirements of the people. But in industries there are a lot of chemicals and lubricants used for equipment some of these chemicals and lubricants are volatile in nature and may cause accidents such as fire. However, fire extinguishers and other preventive measures are also available at the security, but they are not proven executive and we have to flee the area as soon as possible.
This research paper proposes a new algorithm which calculates the shortest path forget away of such problems. The proposed algorithm is based on the original Dijkstra algorithm. This algorithm gives us optimum solution in less time and also reduces the calculation.[1]
II. Dijkstra Algorithm
Dijkstra was one of the most forceful promoter of programming as a scientific discipline. He has made contribution to the areas of operating systems, programming languages, including deadlock avoidance, contain the notion of structured programming, and algorithms. We will now consider the general problem of finding the length of a shortest path between a and z in an undirected connected simple weighted graph. Dijkstra’s algorithm proceeds by finding the length of a shortest path from a to a first vertex, the length of a shortest path from a to a second vertex, and so on, until the length of a shortest path from a to z is found. As aside benefit, this algorithm is easily extended to find the length of the shortest path from a to all other vertices of the graph, and not just to z.
Get Help With Your Essay
If you need assistance with writing your essay, our professional essay writing service is here to help!
Essay Writing Service
The algorithm relies on a series of iterations. A distinguished set of vertices is constructed by adding one vertex at each iteration. A labeling procedure is carried out for iteration. In this labeling procedure, a vertex w is labeled with the length of a shortest path from a tow that contains only vertices already in the distinguished set. The vertex added to the distinguished set is one with a minimal label among those vertices not already in the set.
We now give the details of Dijkstra’s algorithm. It begins by labeling a with 0 and the other vertices with ∞. We use the notation L0(a) = 0 and L0(v)=∞for these labels before any iterations have taken place (the subscript 0 stands for the “0th” iteration). These labels are the lengths of shortest paths from a to the vertices, where the paths contain only the vertex a.(Because no path from a to a vertex different from a exists, ∞is the length of a shortest path
Between a and this vertex.)Dijkstra’s algorithm proceeds by forming a distinguished set of vertices. Let S k denote this set after k iterations of the labeling procedure. We begin with S0 = ∅. The set Skis formed from Sk−1 by adding a vertex u not in S k−1 with the smallest label.
Lk(a, v) = min{Lk−1(a, v),Lk−1(a, u) + w(u, v)},
ALGORITHM:
Procedure Dijkstra(G: weighted connected simple graph, with
all weights positive)
{G has vertices a = v0, v1, . . . ,vn= z and lengths w(vi , vj )
where w(vi , vj )=∞if {vi , vj} is not an edge in G}
fori := 1 to n
L(vi ) :=∞
L(a) := 0
S :=∅
{the labels are now initialized so that the label of a is 0 and all
other labels are∞, and S is the empty set}
whilez ∈S
u:= a vertex not in S with L(u) minimal
S :=S ∪ {u}
forall vertices v not in S
ifL(u) + w(u, v) then L(v) := L(u) + w(u, v)
{this adds a vertex to S with minimal label and updates the
labels of vertices not in S}
returnL(z) {L(z) = length of a shortest path from a to z}[2]
IV. Limitations of Dijkstra’s Algorithm
Although Dijkstra’s algorithm is an effective algorithm but still there are a lot of circumspections. Some of these are discussed below.
Presence of calculations bounteously.
Solutions pleaded by this algorithm are not equitable.
The reasons for changing paths and beading elements are not favoured.
It is not explicit when the problem is not closed loop or cyclic i.e. we are having a last element other than destination and last element is connected with only one element then we are not able to reach destination
It distracts when both next nodes are same then which node we are going to choose for operation.
We have to check distance or path after one step which is not favourable. For example, if we want to go neemuch from indore and distance of Ujjain from indore is more than distance of devas from indore then according to dijkstra we should go to devas and check distance of desvas between neemuch and if we find more than Ujjain route then we again come back to indore.
V. Solutions to mentioned limitations
First we use look ahead dijkstra :
A. Precode
Wnext = min [Wvu ,Wvw]
Look ahead [Wnext ,Wua , Wsub]
{
Wfinal = min[Wnextïƒ Wua, Wnextïƒ Wub]
Return [Wfinal;:a?b]
}
Min[∑_(i=1)^2ã€-(Ti)+Li-1ã€-]
Problem solution Vi=Vj:
Min(P1[∑_(i=1)^2wi], P2[∑_(j=1)^2wj]) =next node
.
B. Proposed Method
Cs1 pop(a)
{
Cs2(b)
{
Weight (a,b);
}
Cs2(c)
{
Weigth(a,c);
}
Return[min( Cs2(b),Cs2(c))
}
(V+Cs)+ look ahead
C. Dijkstra with VFS traversal and cactus stack
VFS(vertical first search)
In the vfs we search in vertical order of cactus stack
f(a,b)≈ f(n,m)
n=a
f(a,’m’)
m=b,c,d,e……..
struct node
{
int*prev;
int*next;
int data;
}
D. Complexity Comparison
In dijkstra’s complexity is more whereas in proposed method i.e. shortest path with cactus stack is less. In dijkstra’s we need to do calculation from each and every point but in proposed algorithm we need to do calculation from particular points which reduces calculations and complexities.
E. Adjacency Matrix
In mathematics and computer science, an adjacency matrix is a means of representing which vertices (or nodes) of graph are adjacent to which other vertices.[3][4]
Adjacency matrix of above graph is
F. Weighted Adjacency Matrix
The matrix which represents graph with respect to its weight. Now we have to convert matrix into another matrix by using the following program.
Adjacency Matrix is
CODE :
#include
#include
#define INF 9999
int main( )
{
intarr[4][4] ;
int cost[4][4] = {
7, 5, 0, 0,
7, 0, 0, 2,
0, 3, 0, 0,
4, 0, 1, 0
} ;
int i, j, k, n = 4 ;
for ( i = 0 ; i {
for ( j = 0; j {
if ( cost[i][j] == 0 )
arr[i][j] = INF ;
else
arr[i][j] = cost[i][j] ;
}
}
printf ( “Adjacency matrix of cost of edges:n” ) ;
for ( i = 0 ; i {
for ( j = 0; j printf ( “%dt”, arr[i][j] ) ;
printf ( “n” ) ;
}
for ( k = 0 ; k {
for ( i = 0 ; i {
for ( j = 0 ; j {
if ( arr[i][j] >arr[i][k] + arr[k][j] )
arr[i][j] = arr[i][k] + arr[k][j];
}
}
}
Now we take an above example and use this steps to convert into another adjacency matrix:
.
G. Traversal of Adjacency Matrix
For solving adjacency matrix, we take the 1st node and observe the row of that node if there is weight on any vertex that means that vertex is connected to 1st node with respective weight.
Similarly we check for all nodes and traverse the matrix.If any vertex have weight infinity that means that vertex is not directly connected to the main vertex whose row is being traverse. If vertex have weight zero that means there is no self loop present.
If user’s last node is not the last node of matrix then we simply traverse the matrix till the node entered by user then we will back traverse rest of node that is we will start traversing last node.
VI. Cactus Stack
A cactus stack is a set of stacks organized in a systematic format as a tree in which each path from the root to any leaf constitutes a stack.
A Cactus Stack act both like a Tree and a Stack. Like a stack, items can only be added to or removed from only one end that is top of the cactus stack; like a Tree, nodes in the Cactus Stack may have parent child relationships. Cactus Stacks are traversed from the child nodes to the parent nodes rather than vice-versa, as in a Binary Search Tree. One of the strongest benefits of a cactus stack is that it allows parallel data structures to exist with the same root.
A. Creation of Cactus Stack
Let us understand this matrix with the help of an example showed above. Series of steps should be as following:
First, We should know the starting and ending point. Let us assume that a is the starting point and f is the ending point. Then we put vertices of graph in cactus stack. Put a in cs1. Now a is connected to b and c. so b and c are put in cs2. b is connected to d and c is connected to e so we put d and e in cs3. Repeat same step till the last node is traversed. On traversing the adjacency matrix if two adjacent node has weight other than infinity and zero then we put that nodes in different cactus stacks.
B. Linkage in Cactus Stack
After plotting the vertices in cactus stacks. If there is connection between element of cs1, cs2 then we have to join them. Similarly we will join elements of each stack to its consecutive stack.
VII. Conclusion
With the help of Cactus Stack and Linked List for the shortest path the time complexity is reduced theoretically than the theory proposed by Dijkshtra’s Shortest path algorithm. Thus we conclude that time complexity is reduced.
References
List and number all bibliographical references in 9-point Times, single-spaced, at the end of your paper. When referenced in the text, enclose the citation number in square brackets, for example: [1]. Where appropriate, include the name(s) of editors of referenced books. The template will number citations consecutively within brackets [1]. The sentence punctuation follows the bracket [2]. Refer simply to the reference number, as in “[3]”—do not use “Ref. [3]” or “reference [3]”. Do not use reference citations as nouns of a sentence (e.g., not: “as the writer explains in [1]”).
Find Out How UKEssays.com Can Help You!
Our academic experts are ready and waiting to assist with any writing project you may have. From simple essay plans, through to full dissertations, you can guarantee we have a service perfectly matched to your needs.
View our services
Unless there are six authors or more give all authors’ names and do not use “et al.”. Papers that have not been published, even if they have been submitted for publication, should be cited as “unpublished” [4]. Papers that have been accepted for publication should be cited as “in press” [5]. Capitalize only the first word in a paper title, except for proper nouns and element symbols.
For papers published in translation journals, please give the English citation first, followed by the original foreign-language citation [6].
Wang Tian-yu, The Application of the Shortest Path Algorithm in the Evacuation System, 2011 International Conference of Information Technology, Computer Engineering and Management Sciences (references)
Kenneth H. Rosen, Discrete_Mathematics_and_Its_Applications_7th_Edition_Rosen, page-710-713
Fuhao Zhang, Improve On Dijkshtra’s Shortest Path Algorithm for Huge Data
R. Nicole, “Title of paper with only first word capitalized,” J. Name Stand. Abbrev., in press.
Y. Yorozu, M. Hirano, K. Oka, and Y. Tagawa, “Electron spectroscopy studies on magneto-optical media and plastic substrate interface,” IEEE Transl. J. Magn. Japan, vol. 2, pp. 740–741, August 1987 [Digests 9th Annual Conf. Magnetics Japan, p. 301, 1982].
IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL. 41, NO. 8, AUGUST 2006 1803 ”Phase Noise and Jitter in CMOS Ring Oscillators”, Asad A. Abidi. pp1803-1816.
M. Young, The Technical Writer’s Handbook. Mill Valley, CA: University Science, 1989.
We provide professional writing services to help you score straight A’s by submitting custom written assignments that mirror your guidelines.
Get result-oriented writing and never worry about grades anymore. We follow the highest quality standards to make sure that you get perfect assignments.
Our writers have experience in dealing with papers of every educational level. You can surely rely on the expertise of our qualified professionals.
Your deadline is our threshold for success and we take it very seriously. We make sure you receive your papers before your predefined time.
Someone from our customer support team is always here to respond to your questions. So, hit us up if you have got any ambiguity or concern.
Sit back and relax while we help you out with writing your papers. We have an ultimate policy for keeping your personal and order-related details a secret.
We assure you that your document will be thoroughly checked for plagiarism and grammatical errors as we use highly authentic and licit sources.
Still reluctant about placing an order? Our 100% Moneyback Guarantee backs you up on rare occasions where you aren’t satisfied with the writing.
You don’t have to wait for an update for hours; you can track the progress of your order any time you want. We share the status after each step.
Although you can leverage our expertise for any writing task, we have a knack for creating flawless papers for the following document types.
Although you can leverage our expertise for any writing task, we have a knack for creating flawless papers for the following document types.
From brainstorming your paper's outline to perfecting its grammar, we perform every step carefully to make your paper worthy of A grade.
Hire your preferred writer anytime. Simply specify if you want your preferred expert to write your paper and we’ll make that happen.
Get an elaborate and authentic grammar check report with your work to have the grammar goodness sealed in your document.
You can purchase this feature if you want our writers to sum up your paper in the form of a concise and well-articulated summary.
You don’t have to worry about plagiarism anymore. Get a plagiarism report to certify the uniqueness of your work.
Join us for the best experience while seeking writing assistance in your college life. A good grade is all you need to boost up your academic excellence and we are all about it.
We create perfect papers according to the guidelines.
We seamlessly edit out errors from your papers.
We thoroughly read your final draft to identify errors.
Work with ultimate peace of mind because we ensure that your academic work is our responsibility and your grades are a top concern for us!
Dedication. Quality. Commitment. Punctuality
Here is what we have achieved so far. These numbers are evidence that we go the extra mile to make your college journey successful.
We have the most intuitive and minimalistic process so that you can easily place an order. Just follow a few steps to unlock success.
We understand your guidelines first before delivering any writing service. You can discuss your writing needs and we will have them evaluated by our dedicated team.
We write your papers in a standardized way. We complete your work in such a way that it turns out to be a perfect description of your guidelines.
We promise you excellent grades and academic excellence that you always longed for. Our writers stay in touch with you via email.