Быстрая сортировка является одним из самых быстрых алгоритмов сортировки массивов. Скорость работы примерно равна O(n log n) операций при сортировке n элементов.
Читать дальше
Наверное, большинство программистов скажут, что первый алгоритм, с которым они познакомились, был алгоритм сортировки. Пузырьковую сортировку наверное во всех ВУЗ-ах по программированию приводят в качестве примера сортировки.
Поэтому я решил описать самые популярные алгоритмы сортировок.
Читать дальше
С момента последней статьи пришлось внести несколько оптимизаций, которые уменьшили время нахождения 100000-ного простого числа с 4,552 до 1,224 секунды. И эта разница с ростом чисел будет увеличиваться.
В обе функции я внес следующие оптимизации:
— поиск только по нечетным числам (так как кроме числа 2 больше нет четных простых чисел);
— находим корень числа для конечного диапазона не каждый раз в цикле, а только когда это необходимо;
— для проверки числа на простоту делим только на нечетные числа.
Читать дальше
Так как я люблю решать различные математические задачки (projecteuler.net, diofant.ru, ...), постоянно необходимо делать одни и те же действия. Поэтому я создал блог «Алгоритмы», в котором буду периодически писать функции для решения различных задач. Думаю, многим будет полезно.
Желающие также могут поделиться своими наработками. Ссылки на другие ресурсы бросать не нужно, кто захочет, сам найдет через поисковые системы. Я любитель С++, поэтому весь синтаксис будет на нем.
Моя специальность — программист. Профессия сложная и интересная. Первая проблема, которая встала передо мной — как можно из синтаксических команд слепить что-то полезное? Легко выучить синтаксис языка, сложнее научиться писать программы. Это все равно что научить человека писать и ждать что он начнет создавать стихи и романы. Поиск в интернете не принес сначала своих плодов, но я набрел на один IRC канал, где и нашел помощь. Меня ткнули носом в один ресурс, о котором я и хочу вам рассказать: Project Euler
На нем множество задач, которые помогают развивать логику и математические навыки. Именно с этого сайта я и начинал свой путь…
Читать дальше