Ayush Adhikari

My personal website

Monday, May 19, 2025

Found 2 result(s) for "Dijkstra"! Click on the links for more details

Using Dijkstra to Route Packages in a Network Overlay

The goal of this project was to use an overlay to communicate between messaging nodes (clients) and the Registry (server) to send messages using threads. It follows the principles of TCP/IP protocols and overlays used in P2P systems. The registry accepts messaging nodes using a server socket and creates receiver and sender threads for that connection. The messaging nodes also have their own sets of threads for the registry and peers. The foreground process in the Registry allows the users to specify commands that creates the undirected graph with all registered nodes, connect to peers to form bidirectional connections, and start sending messages. When all nodes finish messaging each other randomly, the statistics are collected and can be compared to see if any packets were lost during the period.

Graph Algorithms and Visualization

This is a working graph visualization and algorithms program that produces outputs to common graph algorithms and images for certain graphs. It uses the Graphviz library for C++ to generate graph images, but the other algorithms are implemented by me. There are four graphs produced by the directed and undirected versions each. Each will have information regarding the operation and print the graph along with the paths in red if applicable. As for the algorithms, the results are outputted to the console, but the program supports most algorithms on graphs.

Nothing to show!
×

This is a feature mainly used to demonstrate the use of the handwriting app built using a canvas and CNN. You can use the search bar to search the site for content or to navigate the site by typing in a word such as home, which will take you to the home page. Below the search bar is a canvas where you can draw letters. This is implemented using a digit recognition CNN. As the accuracy is around 89 percent, it might not always produce an accuracte prediction, for example between o and 0. You can use the three button next to the search bar to delete the last character, clear the search bar, and finally search the site.