Locus No Pilotus
Project of four first grade MIPT DAFE/RSE students (for engineering practical work in the second semester) in Qt C++
|
Матрица смежности для алгоритма Литтла More...
#include <adjacency_matrix.h>
Public Types | |
enum | Mins { Rows , Columns } |
Public Member Functions | |
AdjacencyMatrix (const AdjacencyMatrix &other)=default | |
void | CalculateData () |
void | ExtendTo (std::size_t num_of_flyers) |
Расширяет матрицу для нескольких коммивояжеров | |
double | GetBottomLineEvaluation () const |
double | GetMatrixValue (std::size_t i, std::size_t j) const |
std::pair< std::size_t, std::size_t > | GetSelectedEdge () const |
std::pair< std::size_t, std::size_t > | GetSelectedValue () const |
std::size_t | GetSize () const |
AdjacencyMatrix | Minor (std::size_t i, std::size_t j) |
Создает минор матрицы | |
AdjacencyMatrix & | operator= (const AdjacencyMatrix &other)=default |
AdjacencyMatrix | Reducted () |
Создает редуцированную матрицы | |
void | SetMatrixValue (std::size_t i, std::size_t j, double num) |
Меняет элемент матрицы | |
Static Public Member Functions | |
static AdjacencyMatrix | WithExtraRowCol (const std::vector< std::vector< double > > &nums) |
Создает новый экземпляр AdjacencyMatrix с добавлением строки и столбца номеров точек | |
Private Member Functions | |
AdjacencyMatrix (const std::vector< std::vector< double > > &nums) | |
Создает новый экземпляр AdjacencyMatrix. | |
double | BottomLineEvaluation () |
Находит нижнюю оценку для матрицы | |
Minimums | FindTwoMinimums (Mins type, std::size_t index) const |
Находит 2 минимума в строке или столбце | |
std::pair< std::size_t, std::size_t > | HighestPowerOfZero () const |
Находит позицию нуля с наибольшей степенью | |
Private Attributes | |
double | evaluation_ = 0 |
std::vector< std::vector< double > > | matrix_ |
std::vector< double > | min_numbers_ |
std::vector< std::vector< double > > | reducted_matrix_ |
std::pair< std::size_t, std::size_t > | selected_edge_ |
std::pair< std::size_t, std::size_t > | selected_value_ |
std::size_t | size_ |
Матрица смежности для алгоритма Литтла
|
default |
|
private |
Создает новый экземпляр AdjacencyMatrix.
nums | матрица смежности графа |
|
private |
Находит нижнюю оценку для матрицы
void math::AdjacencyMatrix::CalculateData | ( | ) |
void math::AdjacencyMatrix::ExtendTo | ( | std::size_t | num_of_flyers | ) |
Расширяет матрицу для нескольких коммивояжеров
num_of_flyers | количество коммивояжеров |
Находит 2 минимума в строке или столбце
type | тип поиска минимума(в строке или в столбце) |
index | номер строки/столбца |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
Находит позицию нуля с наибольшей степенью
AdjacencyMatrix math::AdjacencyMatrix::Minor | ( | std::size_t | i, |
std::size_t | j ) |
Создает минор матрицы
i | номер удаляемой строки |
j | номер удаляемого столбца |
|
default |
AdjacencyMatrix math::AdjacencyMatrix::Reducted | ( | ) |
Создает редуцированную матрицы
void math::AdjacencyMatrix::SetMatrixValue | ( | std::size_t | i, |
std::size_t | j, | ||
double | num ) |
Меняет элемент матрицы
i | номер строки элемента |
j | номер столбца элемента |
num | новое значение элемента |
|
static |
Создает новый экземпляр AdjacencyMatrix с добавлением строки и столбца номеров точек
nums | матрица смежности графа |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |