summaryrefslogtreecommitdiff
path: root/content/graph/bitonicTSP.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'content/graph/bitonicTSP.cpp')
-rw-r--r--content/graph/bitonicTSP.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/content/graph/bitonicTSP.cpp b/content/graph/bitonicTSP.cpp
index eee5082..eeff156 100644
--- a/content/graph/bitonicTSP.cpp
+++ b/content/graph/bitonicTSP.cpp
@@ -1,10 +1,10 @@
vector<vector<double>> dist; // Initialisiere mit Entfernungen zwischen Punkten.
auto bitonicTSP() {
- vector<double> dp(sz(dist), HUGE_VAL);
- vector<int> pre(sz(dist)); // nur für Tour
+ vector<double> dp(ssize(dist), HUGE_VAL);
+ vector<int> pre(ssize(dist)); // nur für Tour
dp[0] = 0; dp[1] = 2 * dist[0][1]; pre[1] = 0;
- for (unsigned int i = 2; i < sz(dist); i++) {
+ for (unsigned int i = 2; i < ssize(dist); i++) {
double link = 0;
for (int j = i - 2; j >= 0; j--) {
link += dist[j + 1][j + 2];
@@ -13,9 +13,9 @@ auto bitonicTSP() {
dp[i] = opt;
pre[i] = j;
}}}
- // return dp.back(); // Länger der Tour
+ // return dp.back(); // Länge der Tour
- int j, n = sz(dist) - 1;
+ int j, n = ssize(dist) - 1;
vector<int> ut, lt = {n, n - 1};
do {
j = pre[n];
@@ -25,7 +25,7 @@ auto bitonicTSP() {
}
} while(n = j + 1, j > 0);
(lt.back() == 1 ? lt : ut).push_back(0);
- reverse(all(lt));
- lt.insert(lt.end(), all(ut));
+ ranges::reverse(lt);
+ lt.insert(end(lt), begin(ut), end(ut));
return lt; // Enthält Knoten 0 zweimal. An erster und letzter Position.
}