Муравьиный алгоритм | Задача коммивояжёра
Задача коммивояжёра — это классическая комбинаторная задача, в которой необходимо найти самый короткий маршрут, проходящий через все заданные города, и вернуться в начальную точку. Путешественник должен посетить каждый город один раз, при этом общая длина пути должна быть минимальной.
Задача коммивояжера является NP-полной, то есть нет известного эффективного алгоритма для ее решения, который работал бы для всех вариантов. Вместо этого применяются различные приближенные алгоритмы. В данной статье мы рассмотрим Муравьиный алгоритм и его реализацию на С++
https://habr.com/ru/companies/timeweb/articles/754462/
#cpp #programming
👉 @cpp_lib
Задача коммивояжёра — это классическая комбинаторная задача, в которой необходимо найти самый короткий маршрут, проходящий через все заданные города, и вернуться в начальную точку. Путешественник должен посетить каждый город один раз, при этом общая длина пути должна быть минимальной.
Задача коммивояжера является NP-полной, то есть нет известного эффективного алгоритма для ее решения, который работал бы для всех вариантов. Вместо этого применяются различные приближенные алгоритмы. В данной статье мы рассмотрим Муравьиный алгоритм и его реализацию на С++
https://habr.com/ru/companies/timeweb/articles/754462/
#cpp #programming
👉 @cpp_lib
👍5❤2
Распространённые паттерны опечаток при программировании
Есть бесконечное количество способов ошибиться при написании кода. Однако иногда можно заметить явные интересные закономерности, как и где ошибаются программисты. Поговорим о коде, который "притягивает" опечатки.
На чём основаны наблюдения
С целью тестирования и продвижения статического анализатора кода PVS-Studio мы проверяем различные открытые проекты. Найдя ошибки, мы сообщаем о них авторам проектов, коллекционируем их и пишем статьи про наиболее интересные случаи.
Рассматривая все эти ошибки, я постепенно замечаю различные повторяющиеся паттерны опечаток. За редким исключением они не зависят от языка программирования. По крайней мере, они одновременно свойственны коду, написанному на C, C++, C#, Java. В этой статье я опишу 7 паттернов, которые заметил к настоящему моменту:
Эффект последней строки.
Злополучная функция memset.
Неверные функции сравнения.
Неверные функции копирования.
Ошибки работы с датами и временем.
Несчастливые числа: 0, 1, 2.
Ошибка на единицу (off-by-one error).
https://habr.com/ru/companies/pvs-studio/articles/756872/
#cpp #programming
👉 @cpp_lib
Есть бесконечное количество способов ошибиться при написании кода. Однако иногда можно заметить явные интересные закономерности, как и где ошибаются программисты. Поговорим о коде, который "притягивает" опечатки.
На чём основаны наблюдения
С целью тестирования и продвижения статического анализатора кода PVS-Studio мы проверяем различные открытые проекты. Найдя ошибки, мы сообщаем о них авторам проектов, коллекционируем их и пишем статьи про наиболее интересные случаи.
Рассматривая все эти ошибки, я постепенно замечаю различные повторяющиеся паттерны опечаток. За редким исключением они не зависят от языка программирования. По крайней мере, они одновременно свойственны коду, написанному на C, C++, C#, Java. В этой статье я опишу 7 паттернов, которые заметил к настоящему моменту:
Эффект последней строки.
Злополучная функция memset.
Неверные функции сравнения.
Неверные функции копирования.
Ошибки работы с датами и временем.
Несчастливые числа: 0, 1, 2.
Ошибка на единицу (off-by-one error).
https://habr.com/ru/companies/pvs-studio/articles/756872/
#cpp #programming
👉 @cpp_lib
👍5
Media is too big
VIEW IN TELEGRAM
C++ Процессы и Потоки Windows
Научимся выводить с помощью C++ список активных процессов операционной системы Windows и их дочерних потоков.
Диспетчер задач Windows позволяет просмотреть список текущих процессов. Однако потоки данных процессов он не показывает.
источник
#cpp #programming
👉 @cpp_lib
Научимся выводить с помощью C++ список активных процессов операционной системы Windows и их дочерних потоков.
Диспетчер задач Windows позволяет просмотреть список текущих процессов. Однако потоки данных процессов он не показывает.
источник
#cpp #programming
👉 @cpp_lib
👍4
Передача параметров в потоке в зависимости от диапазонов
https://tristanbrindle.com/posts/parameter-passing-in-flux-vs-ranges
#cpp #programming
👉 @cpp_lib
https://tristanbrindle.com/posts/parameter-passing-in-flux-vs-ranges
#cpp #programming
👉 @cpp_lib
👍2
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Learn C++
#1 - How to Compile and Run C++ Code
#2 - C++ Program Structure
#3 - Data Types and Variables
#4 - User Input and Constants
#5 - Arithmetic Operators
#6 - Comparison Operators
#7 - Logical Operators (And, Or and Not)
#8 - If, Else & Else If
#9 - Arrays
#10 - For Loops
источник
#cpp #programming
👉 @cpp_lib
#1 - How to Compile and Run C++ Code
#2 - C++ Program Structure
#3 - Data Types and Variables
#4 - User Input and Constants
#5 - Arithmetic Operators
#6 - Comparison Operators
#7 - Logical Operators (And, Or and Not)
#8 - If, Else & Else If
#9 - Arrays
#10 - For Loops
источник
#cpp #programming
👉 @cpp_lib
👍6🤔2
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Learn C++
#11 - While, Do While Loops & Break/Continue
#12 - Switch Statement
#13 - Strings
#14 - References (&)
#15 - Pointers (*)
#16 - Tuples
#17 - Maps
#18 - Vectors
#19 - Sets
#20 - Functions
источник
#cpp #programming
👉 @cpp_lib
#11 - While, Do While Loops & Break/Continue
#12 - Switch Statement
#13 - Strings
#14 - References (&)
#15 - Pointers (*)
#16 - Tuples
#17 - Maps
#18 - Vectors
#19 - Sets
#20 - Functions
источник
#cpp #programming
👉 @cpp_lib
👍1