Advanced-Shortest-Paths-Algorithms - Java Code for Contraction Hierarchies Algorithm, A-Star Algorithm and Bidirectional Dijkstra Algorithm

  •        10

Java Code for Contraction Hierarchies Algorithm, A-Star Algorithm and Bidirectional Dijkstra Algorithm. Tested and Verified Code. Bi-Directional Dijsktra Algorithm: Bidirectional search is a graph search algorithm that finds a shortest path from an initial vertex to a goal vertex in a directed graph. It runs two simultaneous searches: one forward from the initial state, and one backward from the goal, stopping when the two meet in the middle. The reason for this approach is that in many cases it is faster.

https://github.com/navjindervirdee/Advanced-Shortest-Paths-Algorithms

Tags
Implementation
License
Platform

   




Related Projects

SOTA-Py - A discrete-time Python-based solver for the Stochastic On-Time Arrival routing problem

  •    Python

SOTA-Py is a Python-based solver for the policy- and path-based "SOTA" problems, using the algorithm(s) described in Tractable Pathfinding for the Stochastic On-Time Arrival Problem (also in the corresponding arXiv preprint) and previous works referenced therein. What is the SOTA problem? Read on...

dijkstras-algorithm - Implementations of Dijkstra's shortest path algorithm in different languages

  •    Java

Implementations of Dijkstra's shortest path algorithm in different languages. Head over to http://maxburstein.com/blog/introduction-to-graph-theory-finding-shortest-path/ to learn about implementing Dijkstra's algorithm. You can also learn about unit testing by visiting http://maxburstein.com/blog/introduction-to-unit-testing-in-python-and-ruby/.

SwiftGraph - A Graph Data Structure in Pure Swift

  •    Swift

SwiftGraph is a pure Swift (no Cocoa) implementation of a graph data structure, appropriate for use on all platforms Swift supports (iOS, macOS, Linux, etc.). It includes support for weighted, unweighted, directed, and undirected graphs. It uses generics to abstract away both the type of the vertices, and the type of the weights. It includes copious in-source documentation, unit tests, as well as search functions for doing things like breadth-first search, depth-first search, and Dijkstra's algorithm. Further, it includes utility functions for topological sort, Jarnik's algorithm to find a minimum-spanning tree, detecting a DAG (directed-acyclic-graph), and enumerating all cycles.

Wireless Routing using Dijkstra's Shortest Path Algorithm

  •    

Explains Dijkstra's shortest path algorithm, for wireless network routing. The users can create a random map with dynamic transmission range and choose a source and destination mobile node (by clicking) in the map and see the shortest path visually in the Silverlight output.


Dijkstra's Solver

  •    

Dijkstra's Solver is a teaching and learning tool designed to allow users to plot out graphs, generate the list of steps required to find the shortest path via Dijkstra's Algorithm, and to illustrate those steps. It is developed using the .NET framework, mainly written in C#.

WPFGraph

  •    

WPFGraph is a tool to create animations of graph algorithms using a WPF based 3D rendering engine. You can create a graph by adding nodes and edges to the UI simply by using your mouse. Then you can execute a graph algorithm like Dijkstra on the created graph.

PathFinding.js - A comprehensive path-finding library for grid based games

  •    Javascript

The aim of this project is to provide a path-finding library that can be easily incorporated into web games. It may run on Node.js or the browser. Note that this project only provides path-finding algorithms for 2D space. If you need to work in a 3D environment, then you may use @schteppe's fork.

Java ADT and Algorithm Library

  •    Java

This project provides a library of standard data types (lists, trees, graphs, semaphores, locks, points, vectors, matrices, shapes, etc.) and standard algorithms (sorting, depth first search, shortest path problem etc.)

l1-path-finder - 🗺 Fast path planning for 2D grids

  •    Javascript

A fast path planner for grids. The input to the library is in the form of an ndarray. For more information on this data type, check out the SciJS project.

C-Sharp-Algorithms - A C# plug-and-play class-library project of standard Data Structures and Algorithms

  •    CSharp

A C# plug-and-play class-library project of standard Data Structures and Algorithms. It contains 35+ Data Structures and 30+ Algorithms designed as Object-Oriented isolated components. Even though this project started for educational purposes, the implemented Data Structures and Algorithms are standard, efficient, stable and tested.This project originally started out as an interview preparation project. However, after receiving a great amount of positive responses on reddit, and noticing excitement from a few GitHubers to contribute furthermore to it, the project took on a different meaning. So, I decided to keep maintaining it as a reference for data structures and algorithm implementations in C# as well as my own research side-project under these topics.

ngraph.path - Path finding in a graph

  •    Javascript

Fast path finding for arbitrary graphs. Play with a demo or watch it on YouTube. If you want to learn how the demo was made, please refer to the demo's source code. I tried to describe it in great details.

DataStructureAndAlgorithms - Write code that run faster, use less memory and prepare for your Job Interview

  •    Java

In this course you will learn how to Analysis algorithms like Sorting, Searching, and Graph algorithms. And how to reduce the code complexity from one Big-O level to another level. Furthermore, you will learn different type of Data Structure for your code. Also you will learn how to find Big-O for every data structure, and how to apply correct Data Structure to your problem in Java. By the end you will be able to write code that run faster and use low memory. You Also will learn how to analysis problems using Dynamic programming.

Algorithmia

  •    DotNet

Algorithm and data-structure library for .NET 3.5 and up. Algorithmia contains sophisticated algorithms and data-structures like graphs, priority queues, command, undo-redo and more.

javascript-algorithms - 🤖 Algorithms and data structures implemented in JavaScript with explanations and links to further readings

  •    Javascript

This repository contains JavaScript based examples of many popular algorithms and data structures. Each algorithm and data structure has its own separate README with related explanations and links for further reading (including ones to YouTube videos).

TarsosDSP - A Real-Time Audio Processing Framework in Java

  •    Java

TarsosDSP is a Java library for audio processing. Its aim is to provide an easy-to-use interface to practical music processing algorithms implemented, as simply as possible, in pure Java and without any other external dependencies. The library tries to hit the sweet spot between being capable enough to get real tasks done but compact and simple enough to serve as a demonstration on how DSP algorithms works. TarsosDSP features an implementation of a percussion onset detector and a number of pitch detection algorithms: YIN, the Mcleod Pitch method and a “Dynamic Wavelet Algorithm Pitch Tracking” algorithm. Also included is a Goertzel DTMF decoding algorithm, a time stretch algorithm (WSOLA), resampling, filters, simple synthesis, some audio effects, and a pitch shifting algorithm. To show the capabilities of the library, TarsosDSP example applications are available. Head over to the TarosDSP release directory for freshly baked binaries and code smell free (that is the goal anyway), oven-fresh sources.

CleverAlgorithms - An open source book that describes a large number of algorithmic techniques from the the fields of Biologically Inspired Computation, Computational Intelligence and Metaheuristics in a complete, consistent, and centralized manner such that they are accessible, usable, and understandable

  •    TeX

Clever Algorithms: Nature-Inspired Programming Recipes is an open source book that describes a large number of algorithmic techniques from the the fields of Biologically Inspired Computation, Computational Intelligence and Metaheuristics in a complete, consistent, and centralized manner such that they are accessible, usable, and understandable. This is a repository for the book project used during the development and ongoing maintenance of the books’ content. Implementing an Artificial Intelligence algorithm is difficult. Algorithm descriptions may be incomplete, inconsistent, and distributed across a number of papers, chapters and even websites. This can result in varied interpretations of algorithms, undue attrition of algorithms, and ultimately bad science. This book is an effort to address these issues by providing a handbook of algorithmic recipes drawn from the fields of Metaheuristics, Biologically Inspired Computation and Computational Intelligence, described in a complete, consistent, and centralized manner. These standardized descriptions were carefully designed to be accessible, usable, and understandable. Most of the algorithms described were originally inspired by biological and natural systems, such as the adaptive capabilities of genetic evolution and the acquired immune system, and the foraging behaviors of birds, bees, ants and bacteria. An encyclopedic algorithm reference, this book is intended for research scientists, engineers, students, and interested amateurs. Each algorithm description provides a working code example in the Ruby Programming Language.

G.A.V.

  •    Java

G.A.V. (Graph Algorithm Visualizer) is a tool that visualizes algorithms from graph theory. A step-by-step visualization from each different algorithm allows the user to understand the particular algorithm very easily.

Gato (Graph Animation Toolbox)

  •    Python

Gato (Graph Animation Toolbox): Animate graph algorithms for example for computing shortest paths, minimal spanning trees, maximum flows or maximal cardinality or weight matchings. Create your own animations using the Animated Data Structures (ADS).