Commit Graph

61 Commits

Author SHA1 Message Date
stefiosif
d63411672d Add dynamic RZ algorithms inspired by King and Henzinger 2022-09-25 17:41:17 +03:00
stefiosif
fa65e54376 Rename decrementalscc to rodittyzwick as it is the core algorithm 2022-09-25 17:33:47 +03:00
stefiosif
95e7d56c1e Refactor file names to better understand inheritance of the skeleton of RZ algorithms 2022-09-25 17:27:21 +03:00
stefiosif
ffc3ae4ec3 Complete Frigioni::query and Frigioni::init and tests 2022-09-21 19:35:23 +03:00
stefiosif
813c63a4ea Add unit test for SCC::normalize 2022-09-21 19:32:57 +03:00
stefiosif
5f9b225609 Add method that identifies if a vertex is part of this component 2022-09-21 19:32:00 +03:00
stefiosif
7345a28945 Fix bug that would make ids connect to a different component 2022-09-21 19:30:26 +03:00
stefiosif
7d2d9fd82c Finish italiano and tests 2022-09-20 13:41:15 +03:00
stefiosif
40f23c5bf8 Add method to access adjMatrix keys and add adjMatrix on seaching method 2022-09-19 22:04:45 +03:00
stefiosif
0b16ebc677 Update italiano::remove 2022-09-16 15:17:50 +03:00
stefiosif
037560949d Update misc 2022-09-16 15:17:32 +03:00
stefiosif
ae193d5f69 Update italiano's query and remove methods 2022-09-14 19:41:33 +03:00
stefiosif
0ffc20496d Add vertices without arcs into the BFTree 2022-09-14 19:41:08 +03:00
stefiosif
42f824a249 Update decremental scc algorithm 2022-09-12 00:08:45 +03:00
stefiosif
5c1b13b400 Add default param constructors, create bool query for bfs and tests 2022-09-09 18:12:38 +03:00
stefiosif
a4ddc3fbe7 Add operator<< for graph types, add contains query for digraph types and normalize scc 2022-09-09 17:50:28 +03:00
stefiosif
4d189f269c Fix graph volume V() 2022-08-09 00:22:21 +03:00
stefiosif
3f3c58b0b8 Add italiano edge removal algorithm sketch 2022-08-09 00:21:03 +03:00
stefiosif
1a416794fc Revert "Fix volume V()"
This reverts commit a40e42b964.
2022-08-09 00:15:47 +03:00
stefiosif
a40e42b964 Fix volume V() 2022-08-09 00:15:26 +03:00
stefiosif
433955e2cf Minor project updates and add 2 example datasets 2022-08-08 22:22:52 +03:00
stefiosif
484d90482f Add incomplete benchmark files 2022-08-08 22:21:58 +03:00
stefiosif
d459fe9df6 Split frigioni and italiano algorithms and add query function 2022-08-08 22:20:32 +03:00
stefiosif
dd71ab75b6 Add custom equality comparison for SCCs 2022-08-08 22:18:52 +03:00
stefiosif
5f5bd889d7 Change test file name to split fully dynamic and decremental algorithms 2022-07-29 17:14:40 +03:00
stefiosif
8e8cf23399 Add required data structures for DecrementalTC::init 2022-07-26 20:42:38 +03:00
stefiosif
48de05174a Add tests for DecrementalSCC::query and DecrementalSCC::remove 2022-07-26 20:42:02 +03:00
stefiosif
46cdadc758 Add tests for Digraph::V and Digraph::E 2022-07-26 20:39:57 +03:00
stefiosif
41e5bead43 Add new tests, remove duplicate tests (scc creation ~ tarjan's algorithm) 2022-07-20 23:46:50 +03:00
stefiosif
fe3bb68c18 Add single vertex contains method and replace vertices field with adjMatrix' keys 2022-07-20 23:43:15 +03:00
stefiosif
31567f9e57 Add BreadthFirstTree's to decremental maintenance algorithm and delete In/Out tree classes 2022-07-20 23:04:06 +03:00
stefiosif
227749b9e4 Make reverse() return type auto 2022-07-13 23:04:59 +03:00
stefiosif
31ba84dc2a Add remove and contain functions 2022-07-13 23:02:54 +03:00
stefiosif
0f857a6c9e Add new graph example 2022-07-12 14:44:43 +03:00
stefiosif
601f80c8d4 Fix includes and add some comments 2022-07-12 14:42:29 +03:00
stefiosif
e7ad824116 Put root of BFS tree as constructor parameter 2022-07-12 14:41:18 +03:00
stefiosif
77dee72317 Add license 2022-07-10 16:47:07 +03:00
stefiosif
b9cd1a1cbd Split graph folder into graph and tree 2022-07-10 15:32:13 +03:00
stefiosif
3fa6935b84 Add virtual class for the dynamic reachability algorithms 2022-07-10 15:31:00 +03:00
stefiosif
4a9cbe19f9 Make SCC inherit parent constructor to avoid duplicate code 2022-07-10 13:23:27 +03:00
stefiosif
6b1edfa164 Update final step of decremental scc algorithm 2022-06-29 17:58:52 +03:00
stefiosif
d199b7de17 Add tests for same SCC O(1) query 2022-06-29 17:33:27 +03:00
stefiosif
8d8e6ef831 Change project structure 2022-06-27 22:45:26 +03:00
stefiosif
e488b309c8 Update decremental maintenance of SCC algorithm 2022-06-27 17:45:47 +03:00
stefiosif
de29435933 Add reverse a digraph function and test 2022-06-13 17:04:43 +03:00
stefiosif
1e16e671ea Make RodittyZwick class abstract 2022-06-13 12:57:09 +03:00
stefiosif
cc79737ecc Add roditty and zwick class 2022-06-12 20:33:11 +03:00
stefiosif
4058c3f6fb Make bfs return a digraph since shortest-path in-out trees are directed graphs 2022-06-12 20:32:15 +03:00
stefiosif
2029900035 Update tarjan test cases and add BFS test case 2022-06-12 17:34:52 +03:00
stefiosif
72741a6a5b Make class Graph abstract and make derived classes Digraph and SCC 2022-06-12 00:49:42 +03:00