1
0
Fork 0
Commit Graph

161 Commits

Author SHA1 Message Date
Joris van Rantwijk 36be21800b Fix random graph generation
The previous implementation was biased towards higher vertex indices.
2024-12-07 01:50:27 +01:00
Joris van Rantwijk 8ed1d42710 Fix C++ unit test module names 2024-11-28 23:08:21 +01:00
Joris van Rantwijk 8eb6b77523 Update README, section repository structure 2024-11-26 20:07:23 +01:00
Joris van Rantwijk 43502512ee Update README wrt C++ run time 2024-11-26 18:50:44 +01:00
Joris van Rantwijk d4e86e9dcc make clean at start of C++ test script 2024-11-26 18:48:26 +01:00
Joris van Rantwijk 53e5ec618e gitignore compiled C++ code 2024-11-26 11:18:14 +01:00
Joris van Rantwijk 3914ea15a7 Add Python 3.13 in tox config 2024-11-26 11:17:37 +01:00
Joris van Rantwijk d539e5cfbb Add C++ testcases from Python 2024-11-24 14:59:58 +01:00
Joris van Rantwijk f652a08d43 Rename mwmatching.h to mwmatching.hpp 2024-11-24 14:25:43 +01:00
Joris van Rantwijk 0f18b7b05a Split datastruct.h
Split into separate files concatenable_queue.hpp and priority_queue.hpp.
Move classes into namespace.
Separate unit testse.
2024-11-24 14:22:26 +01:00
Joris van Rantwijk 087799cdca Minor comment cleanup 2024-11-24 13:59:28 +01:00
Joris van Rantwijk 02917b2caf Minor code and comment cleanups 2024-11-23 22:59:40 +01:00
Joris van Rantwijk f0773eb84b Clean up code formatting 2024-11-22 23:29:10 +01:00
Joris van Rantwijk 1e6f2a11c4 Simplify expand_t_blossom() 2024-11-22 20:12:25 +01:00
Joris van Rantwijk b5ccbdeda4 Remove expand_unlabeled_blossom() 2024-11-21 21:46:39 +01:00
Joris van Rantwijk 3815335a9f Keep alternating trees between stages in C++ 2024-11-20 21:10:14 +01:00
Joris van Rantwijk 082397ef80 Minor cleanup 2024-11-19 21:25:05 +01:00
Joris van Rantwijk ab691813b3 The C++ code should now run in O(n*m*log(n)) 2024-11-17 21:19:15 +01:00
Joris van Rantwijk 105679c986 Use iterator to delete expanded blossom 2024-11-17 20:46:58 +01:00
Joris van Rantwijk 7683f891d5 Use priority queues for delta2 2024-11-17 19:18:57 +01:00
Joris van Rantwijk 22251e64e8 Maintain concatenable queue for each blossom 2024-11-17 12:02:40 +01:00
Joris van Rantwijk 5b5c107a5c Initialize ConcatenableQueue name in constructor 2024-11-16 23:41:29 +01:00
Joris van Rantwijk e8020f3e58 Use priority queue for delta4 2024-11-16 20:23:51 +01:00
Joris van Rantwijk 2271df1897 Lazy updates of blossom duals 2024-11-16 14:23:13 +01:00
Joris van Rantwijk 228da75495 Lazy updates of vertex duals 2024-11-16 10:32:35 +01:00
Joris van Rantwijk 5500750c13 Reorganize code that handles labeling 2024-11-14 23:31:11 +01:00
Joris van Rantwijk 39eaea451e Minor code rearrangement 2024-11-10 00:10:26 +01:00
Joris van Rantwijk 7ea1562cc7 Use tight edges only during delta steps 2024-11-09 21:39:52 +01:00
Joris van Rantwijk 55a98238aa Implement heap-based tracking for delta3 2024-11-09 00:11:07 +01:00
Joris van Rantwijk b17ca1a364 Require signed type for edge weight 2024-11-08 20:30:53 +01:00
Joris van Rantwijk 67ca294840 Rework data structures 2024-11-08 18:38:20 +01:00
Joris van Rantwijk efb238ff8e C++ datastructures for O(n*m*log(n)) 2024-11-02 09:43:33 +01:00
Joris van Rantwijk e103a493fc Update Algorithm.md 2024-07-28 11:38:05 +02:00
Joris van Rantwijk 4670cf1dca Add testcases to force big values for dual/slack 2024-07-28 11:38:05 +02:00
Joris van Rantwijk c731c32473 Separate function top_level_blossom() 2024-07-21 15:32:41 +02:00
Joris van Rantwijk e8490010d6 Implement ConcatenableQueue as 2-3 tree 2024-07-21 15:32:41 +02:00
Joris van Rantwijk dc8cdae225 Minor simplification in UnionFindQueue 2024-07-21 15:32:41 +02:00
Joris van Rantwijk e2f5b63a01 Fix README 2024-07-11 21:28:41 +02:00
Joris van Rantwijk 6bf04df77b Update README 2024-07-11 21:27:01 +02:00
Joris van Rantwijk 99f8a2d822 Add benchmark script 2024-07-10 21:01:21 +02:00
Joris van Rantwijk ed70402310 Separate C++ test script 2024-07-10 20:52:59 +02:00
Joris van Rantwijk 54f59db753 Add tox.ini for Python testing 2024-07-10 20:19:12 +02:00
Joris van Rantwijk c58374e6fb Remove debug checks of alternating tree 2024-07-09 21:18:53 +02:00
Joris van Rantwijk 658a393bb8 Test script for Python code 2024-07-09 21:10:38 +02:00
Joris van Rantwijk c19fa9a76c Add pyproject.toml 2024-07-09 21:10:38 +02:00
Joris van Rantwijk d3475834ab Add from __future__ import annotations
This makes the code work on Python versions 3.7 and 3.8.
2024-07-09 21:10:38 +02:00
Joris van Rantwijk 147640329f Restructure Python code as package 2024-07-09 21:10:38 +02:00
Joris van Rantwijk f2e8ca1357 Remove redundant type annotations "int|float" 2024-07-09 21:10:38 +02:00
Joris van Rantwijk b2d4de41f9 Add __slots__ in datastruct.py
It does not make a clear difference for performance.
But it should at least reduce memory usage a bit.
2024-07-09 21:10:38 +02:00
Joris van Rantwijk d2debb6d6f Minor changes to docstrings 2024-07-09 21:10:38 +02:00