Daniel J. H.

Results 185 issues of Daniel J. H.

At the moment when we re-allocate (e.g. array growth) we simply malloc the new chunk of memory, and copy over the old region. We should look into using realloc for...

At the moment we provide a dense bitset for masking nodes and edges in https://github.com/tinygraph/tinygraph/blob/7047d80631c5b41244c9fcc6c7ee77aed80828a0/tinygraph-bitset.h This bitset is dense, static, and great for masking most / all nodes or edges....

We are using a compressed sparse row (csr) format for efficient and tiny graph storage. At the moment our graph is static / frozen once constructed from edges. The csr...

We'll need a priority queue for graph traversals on edge-weighted directed graphs. Look into 2-3 heaps - https://www.sciencedirect.com/science/article/pii/S0166218X02002196 - https://sudonull.com/post/102984-Data-Structures-2-3-heap-2-3-heap

We've added a simple queue implementation in - https://github.com/tinygraph/tinygraph/issues/16 which uses two stacks and ping-pongs between them in a clever way. This works out semantically, but is not the most...

To improve compression rates, one idea is to improve node locality. See - https://github.com/tinygraph/tinygraph/issues/17 - https://github.com/tinygraph/tinygraph/issues/18 If we renumber nodes based on their recursively-defined partition, we'd automatically improve node locality....

One idea to improve compression is to improve node locality, see - https://github.com/tinygraph/tinygraph/issues/17 If we can renumber nodes based on their component, that would be the first obvious way to...

We want to have low-level and efficient implementations, but at the same time high-level apis to play with. Therefore, we should look into Python bindings for the `tinygraph.h` public api....

At the moment we require the user to pass in vertices starting at 0 and being numbered consecutively. We should provide renumbering functions, and indices to go back to the...

For #32. Instead of telling people to refresh their page, let's just auto-refresh it every 10 minutes. Supported by all browsers natively https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta