Dijkstra.NET
pqueue
Dijkstra.NET | pqueue | |
---|---|---|
1 | 1 | |
109 | 170 | |
- | - | |
0.0 | 2.9 | |
over 2 years ago | 7 months ago | |
C# | Erlang | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Dijkstra.NET
-
-🎄- 2021 Day 15 Solutions -🎄-
I've implemented dijkstra before (in haskell) so I didn't write it again this time, I used the Dijkstra.NET library to do the actual path searching. The closest I got to something clever was not physically tiling out the virtual cavern but using a function At() to compute it on the fly, based on the original grid
pqueue
-
-🎄- 2021 Day 15 Solutions -🎄-
This limitation did give me an excuse to implement Dijkstra's algorithm from scratch, which was fun; it also allowed me to play around with the pqueue library, which is very convenient although also imposes its own set of constraints that require the user to have a good amount of foreknowledge about the data they plan to insert into the queue. Since I didn't have that for this problem, I chose a pessimistic heuristic that doesn't seem to impact performance much for the data sizes we're dealing with here.
What are some alternatives?
SliccDB - Light Embedded Graph Database for .net
Ravenx - Notification dispatch library for Elixir applications
Advent-of-Code - Advent of Code
enm - Erlang driver for nanomsg
que - Simple Job Processing in Elixir with Mnesia :zap:
elixir_nsq - An NSQ client for Elixir and Erlang, written in Elixir.
conduit - A message queue framework, with support for middleware and multiple adapters.
oban - 💎 Robust job processing in Elixir, backed by modern PostgreSQL and SQLite3
adap - Create a data stream across your information systems to query, augment and transform data according to Elixir matching rules.
honeydew - Job Queue for Elixir. Clustered or Local. Straight BEAM. Optional Ecto. 💪🍈
kafka_ex - Kafka client library for Elixir
amqp - Idiomatic Elixir client for RabbitMQ