|
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 |