Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Peperovich
43 / 43 / 4
Регистрация: 17.05.2011
Сообщений: 162
#1

Метод ближайшего соседа через STL Algorithm - C++

29.05.2014, 11:35. Просмотров 439. Ответов 4
Метки нет (Все метки)

Добрый день. Подскажите можно метод ближайшего соседа сделать через сортировку с функтором?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2014, 11:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Метод ближайшего соседа через STL Algorithm (C++):

Метод ближайшего соседа в задаче коммивояжера - C++
Всем привет, столкнулся со сложностями в реализации алгоритма ближайшего соседа по теории графов. Его описание: "Пункты обхода плана...

Метод remove_if STL - C++
Всем привет! Не могу понять почему вылезает ошибка при использовании remove_if для list. ошибка Error 1 error C3867:...

stl::vector, метод pop_back() - C++
Доброго времени суток! Вот такой вопрос: я создаю объект в куче: someClass *test = new someClass();

метод erase для list(STL) - C++
Всем привет! Не могу понять в чем у меня ошибка. Применяю метод erase в цикле для list, и с помощью него удаляю нужный элемент, но...

Метод STL size и инициализация списка - C++
Всем доброго вечера! Вот код#include <fstream> // для потоковых файловых функций #include <typeinfo> // для typeid() using namespace...

Организовать find в векторе через STL!!! - C++
Написал через вектор STL некий контейнер заполнил его данными. Написал сортировку и вывод всех значений через вспомогательные обьекты....

4
Ilot
Модератор
Эксперт С++
1823 / 1181 / 232
Регистрация: 16.05.2013
Сообщений: 3,118
Записей в блоге: 5
Завершенные тесты: 1
29.05.2014, 12:50 #2
А подробнее постановку задачи никак нельзя записать?
0
Peperovich
43 / 43 / 4
Регистрация: 17.05.2011
Сообщений: 162
29.05.2014, 13:03  [ТС] #3
Да пожалуйста. Есть несколько точек с расстоянием между ними, которые должна объехать машина и есть гараж из которого она должна выехать. Так вот самая простая реализация которая приходит на ум, это пройти все точки определить какая ближайшая к гаражу, это будет 1 точка в маршруте, потом оставшиеся пройти и определить которая из них ближайшая к 1 точке, которую уже нашли и так далее.
Но сложность такого алгоритма N! где N количество точек. Вот и хотел спросить, может можно с помощью std::sort как то отсортировать точки, только не знаю как написать оператор сравнения.
0
Ilot
Модератор
Эксперт С++
1823 / 1181 / 232
Регистрация: 16.05.2013
Сообщений: 3,118
Записей в блоге: 5
Завершенные тесты: 1
29.05.2014, 13:12 #4
Не думаю, что это хорошая затея. Уж лучше непосредственный перебор. Чо вы собираетесь хранить в контейнере, что бы его сортировать?
0
Peperovich
43 / 43 / 4
Регистрация: 17.05.2011
Сообщений: 162
29.05.2014, 13:15  [ТС] #5
Ну в контейнере просто номера точек хранятся. Мне его надо отсортировать вот так, как будто методом ближайшего соседа прошел по нему.
Мне именно важна скорость алгоритма.
0
29.05.2014, 13:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2014, 13:15
Привет! Вот еще темы с ответами:

STL. Не работает вывод через << в поток когда использую итераторы :( - C++
Вроде бы ничего сложного, но почему-то работать не хочет. Никак не могу понять почему ( Ругается, когда пишу void main() { ...

Передать через указатель строку используя STL, и конвертировать все символы в прописные - C++
не получаеться сделать так string &amp; n_propis(string &amp; mas); что бы аргумент принемал указаль на строку #include &lt;iostream&gt; ...

Вызвать метод через указатель на метод - C++
class MenuItem { public: MenuItem(string name, MenuItem *parent = nullptr, void(MenuItem::*EventHadler)() = nullptr, bool isSelected...

<algorithm> - C++
есть перегруженная функция sort() sort (iter start, iter end, comp func); эта версия позволяет самостоятельно задавать функцию...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru