Прошу прощения, что под топовым. А есть полный мануал как это сделать? Со всеми размерами, чертежами, ссылками на компоненты и прочее?
Вы, должно быть, математик?
Анекдот в тему:
Шерлок Холмс и доктор Ватсон летят на воздушном шаре. Попадают в густой туман и перестают понимать, где находятся. Тут небольшой просвет — и они видят на земле человека.
— Уважаемый, не подскажете ли, где мы находимся?
Тот долго думает, потом отвечает:
— В корзине воздушного шара, сэр. Тут их относит дальше, и они опять ничего не видят.
— Это был математик — говорит Холмс.
— Но почему?
— Ну, во-первых, он очень долго думал над простым вопросом, во-вторых, он ответил абсолютно правильно, и в-третьих — нам от его ответа нет никакой пользы.
От программистов больше пользы, на них весь Интернет держится. Математики сотни лет разрабатывали теории, которые в полную силу начали применять лишь в 20 веке.
Да уж... Почти все достижения ИТ держатся на открытиях математиков 20ого века между прочим)
Тогда они "плавали" в абстрактных понятиях, открывали и доказывали разные теории. Для науки они, безусловно, сделали многократно больше. Позже по некоторым их наработкам сделали сеть, которая планировалась для обмена научной информацией (ага, конечно). Она, а также поддерживающие её люди, более важны для более широкого круга людей. Не настаиваю на своей правоте, просто высказываю мнение.
Вот некоторые из самых базовых алгоритмов/теорем открытые математиками. Используются для передачи сообщений, криптографии, построения геогр. карт, 3Д моделяции, графики, игр, расчитывания конструкций на компе и тд. (Их много, но тут наверно лишь <1% от общего числа) Почти все разработаны в 20ом веке:
Поиск в ширину
Поиск в глубину
Топологическая сортировка
Поиск компонент связности
Интегрирование по формуле Симпсона
Поиск компонент сильной связности, построение конденсации графа за O (N + M)
Поиск мостов за O (N + M)
Поиск точек сочленения за O (N + M)
Поиск мостов в режиме онлайн за O(1) в среднем
Минимальное остовное дерево. Алгоритм Крускала со структурой данных 'система непересекающихся множеств' за O (M log N)
Матричная теорема Кирхгофа. Нахождение количества остовных деревьев за O (N3)
Код Прюфера. Формула Кэли. Количество способов сделать граф связным
Наименьший общий предок. Нахождение за O (1) с препроцессингом O (N) (алгоритм Фарах-Колтона и Бендера)
Задача RMQ (Range Minimum Query - минимум на отрезке). Решение за O (1) с препроцессингом O (N)
Наименьший общий предок. Нахождение за O (1) в режиме оффлайн (алгоритм Тарьяна)
Алгоритм Эдмондса-Карпа нахождения максимального потока за O (N M2)
Метод Проталкивания предпотока нахождения максимального потока за O (N4)
Алгоритм сжатия Хаффмана
Теорема Пика. Нахождение площади решётчатого многоугольника за O (1) [TeX]
Задача о покрытии отрезков точками
Центры тяжести многоугольников и многогранников
Алгоритмы шифрования и хэша DES-1, 3DES, AES, RSA, Diffie-Hellman, Kerberos, MD1-5, SHA1, 2, 256, 1024
Z-функция строки и её вычисление за O (N)
Префикс-функция, её вычисление и применения. Алгоритм Кнута-Морриса-Пратта
Алгоритмы хэширования в задачах на строки
Алгоритм Рабина-Карпа поиска подстроки в строке за O (N)
Разбор выражений за O (N). Обратная польская нотация
Суффиксный массив. Построение за O (N log N) и применения
Суффиксный автомат. Построение за O (N) и применения
Нахождение всех подпалиндромов за O (N)
Декомпозиция Линдона. Алгоритм Дюваля. Нахождение наименьшего циклического сдвига за O (N) времени и O (1) памяти
Алгоритм Ахо-Корасик
Суффиксное дерево. Алгоритм Укконена
Поиск всех тандемных повторов в строке алгоритмом Мейна-Лоренца (разделяй-и-властвуй) за O (N log N)
Sqrt-декомпозиция
Дерево Фенвика
Система непересекающихся множеств
Дерево отрезков
Декартово дерево (treap, дерамида)
Модификация стека и очереди для нахождения минимума за O (1)
Рандомизированная куча
Игры на произвольных графах. Метод ретроспективного анализа за O (M)
Теория Шпрага-Гранди.
Дерево Штерна-Броко. Ряд ФареяУ программистов гораздо интереснее и больше:
Шаблон делегирования
Шаблон функционального дизайна
Неизменяемый интерфейс
Интерфейс
Интерфейс-маркер
Контейнер свойств
Канал событий
Порождающие шаблоны (Creational)
Шаблон, порождающий классы
Абстрактная фабрика
Строитель
Фабричный метод
Отложенная инициализация
Мультитон
Объектный пул
Прототип
Получение ресурса есть инициализация
Одиночка
Структурные шаблоны
Адаптер
Мост
Компоновщик
Декоратор или Wrapper/Обёртка
Фасад
Единая точка входа
Приспособленец
Заместитель
Поведенческие шаблоны
Цепочка обязанностей
Команда, Action, Transaction
Интерпретатор
Итератор, Cursor
Посредник
Хранитель
Null Object
Наблюдатель или Издатель-подписчик
Слуга
Спецификация
Состояние
Стратегия
Шаблонный метод
Посетитель
Простая политика
Event listener
Одноразовый посетитель
Иерархический посетитель
Active Object
Balking
Обмен сообщениями
Блокировка с двойной проверкой
Event-based asynchronous
Охраняемая приостановка
Half-Sync/Half-Async
Leaders/followers
Блокировка
Монитор
Reactor
Read/write lock
Планировщик
Thread pool
Thread-Specific Storage
Однопоточное выполнение
Кооперативный паттерн
А если еще и библиотеку алгоритмов вспомнить... )))
https://www.youtube.com/watch?v=OKLxA50g7tk
Дорогой друг. Вот с этого видео я познакомился с миром ретро. Канал во многом уникальный. И некая часть жанров "ретроигровых" видео зараждалось именно на нем. Не рекламы ради, а справедливости для. Спойлер: в оп-посте явно копирка автомата из моего видео. Посмотрите - поймете)