|
Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
|
Arc index with O(1) operations and deterministic ordering. More...
Public Member Functions | |
| void | insert (Karc *a) |
| Karc * | select (size_t i) const |
| void | remove (Karc *a) |
| void | empty () |
| size_t | size () const |
| void | swap (ArcIndex &other) noexcept |
Private Attributes | |
| std::vector< Karc * > | arcs |
Arc index with O(1) operations and deterministic ordering.
Uses arc counter to store position for O(1) swap-remove. This ensures reproducible results with the same random seed.
|
inline |
Definition at line 205 of file Karger.H.
References Aleph::Karger_Min_Cut< GT, SA >::ArcIndex::arcs.
|
inline |
Definition at line 175 of file Karger.H.
References ARC_COUNTER, and Aleph::Karger_Min_Cut< GT, SA >::ArcIndex::arcs.
|
inline |
Definition at line 187 of file Karger.H.
References ARC_COUNTER, Aleph::Karger_Min_Cut< GT, SA >::ArcIndex::arcs, and Aleph::maps().
|
inline |
Definition at line 181 of file Karger.H.
References Aleph::Karger_Min_Cut< GT, SA >::ArcIndex::arcs, and Aleph::maps().
|
inline |
Definition at line 207 of file Karger.H.
References Aleph::Karger_Min_Cut< GT, SA >::ArcIndex::arcs.
|
inlinenoexcept |
Definition at line 209 of file Karger.H.
References Aleph::Karger_Min_Cut< GT, SA >::ArcIndex::arcs, and Aleph::maps().
|
private |
Definition at line 172 of file Karger.H.
Referenced by Aleph::Karger_Min_Cut< GT, SA >::ArcIndex::empty(), Aleph::Karger_Min_Cut< GT, SA >::ArcIndex::insert(), Aleph::Karger_Min_Cut< GT, SA >::ArcIndex::remove(), Aleph::Karger_Min_Cut< GT, SA >::ArcIndex::select(), Aleph::Karger_Min_Cut< GT, SA >::ArcIndex::size(), and Aleph::Karger_Min_Cut< GT, SA >::ArcIndex::swap().