Podcast
Questions and Answers
Co się dzieje w funkcji 'reduceMatrix'?
Co się dzieje w funkcji 'reduceMatrix'?
Jakie są parametry konstruktora 'ReductionMatrix'?
Jakie są parametry konstruktora 'ReductionMatrix'?
Jak w klasie 'ReductionMatrix' przechowywana jest macierz?
Jak w klasie 'ReductionMatrix' przechowywana jest macierz?
Jakie informacje można uzyskać z metody 'getReductionCost'?
Jakie informacje można uzyskać z metody 'getReductionCost'?
Signup and view all the answers
Co zrobione jest w funkcji 'printMatrix'?
Co zrobione jest w funkcji 'printMatrix'?
Signup and view all the answers
Study Notes
Klasa ReductionMatrix
- Reprezentuje macierz.
- Posiada atrybut
matrix_
przechowujący dane macierzy (jako wektor wektora intów). - Posiada atrybut
reduction_cost_
przechowujący koszt redukcji. - Konstruktor pobiera macierz jako argument i inicjalizuje atrybut
matrix_
. Koszt redukcji inicjalizowany jest na 0. - Metoda
reduceMatrix()
oblicza koszt redukcji wierszy i kolumn. - Metoda
getReductionCost()
zwraca obliczony koszt redukcji. - Metoda
reduceRows()
oblicza i odlicza minimalne wartości w wierszach, redukując i zwracając wartość kosztu redukcji. - Metoda
reduceColumns()
oblicza i odlicza minimalne wartości w kolumnach, redukując i zwracając wartość kosztu redukcji. - Metoda
blockEdge()
blokuje wiersz i kolumnę w macierzy poprzez ustawienie wartości nanumeric_limits<int>::max()
.
Klasa TSPBranchAndBound
- Klasa reprezentująca algorytm Branch and Bound dla problemu komiwojażera.
- Metoda
isInPath()
sprawdza, czy dany wierzchołek znajduje się w ścieżce. - Metoda
breadthFirstSearch()
realizuje algorytm przeszukiwania wszerz. - Metoda
depthFirstSearch()
realizuje algorytm przeszukiwania w głąb. - Metoda
lowestCostFirstSearch()
realizuje algorytm przeszukiwania z najmniejszym kosztem najpierw. - Metoda
calculatePathCost()
oblicza koszt ścieżki.
Struktura CompareNode
- Przygotowuje kolejkę priorytetową algorytmu w zależności od kosztu węzła.
-
bool operator()(const Node& a, const Node& b)
- porównuje węzłya
ib
na podstawie ich kosztów, przekazując priorytet węzłowi z niższym kosztem.
Klasa Graph
- Reprezentuje graf.
- Posiada atrybut
matrix_
przechowujący macierz sąsiedztwa. - Metoda
readFromFile()
wczytuje graf z pliku. - Metoda
printMatrix()
drukuje macierz na standardowym wyjściu. - Metoda
randomGenerateGraph()
generuje losowy graf. - Metoda
saveToFile()
zapisuje graf do pliku.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Zbadaj kluczowe koncepcje dotyczące klas ReductionMatrix oraz TSPBranchAndBound. Dowiedz się, jak macierz może być używana do obliczania kosztów redukcji i jak działa algorytm komiwojażera. Przetestuj swoją wiedzę na temat tych złożonych struktur i algorytmów.