Алгоритмы
Сайт находится в разработке и может отображаться некорректно.
Это сайт — эксперимент по созданию публичного каталога заметок на основе принципов Цеттелькастен. Каждая заметка автономна и посвящена одной небольшой теме. Заметки соединяются друг с другом ссылками. Метод направлен не просто на хранение информации информации, это не энциклопедия, а на производство новых знаний и генерацию идей. Тематика заметок: разработка программного обеспечения, алгоритмы и математика.
Технологически сайт сделан на Vuepress2 с использованием скриптов на Python. Для редактирования заметок применяется Zettlr.
Для сообщения об опечатке выделите текст и нажмите ctrl+Enter или кнопку в левом нижнем углу сайта.
Всего страниц: 178
Олглавление
Оригинальные работы
Концепции
- LIFO
- FIFO
- Абстрактный тип данных (Abstract data type)
- Явные ошибки лучше скрытых
- Стоимость исправления ошибок зависит от времени их обнаружения
- The Zen of Python
- Структуры данных (Data structures)
- Рекурсия (Recursion)
- Стек вызовов (Call stack)
- Поверхностное и глубокое копирование
- Разделяй и властвуй (Divide and conquer)
- Доказательство окончания (Proving termination)
- Сложность алгоритмов
- Императивное программирование
- Декларативное программирование
- Парадигмы программирования
- Отношение между императивным и декларативным программированием
- Представление памяти в виде бесконечной ленты
- Абстракция (Abstraction)
- Абстракция и декомпозиция
- Алгоритм (Algorithm)
- Произвольный доступ
- Жадные алгоритмы
- Приближенные алгоритмы
- Динамическое программирование
- Marble diagram
- Построение рекомендательных систем
- Ленивое вычисление логических операторов
- Побочный эффект
- Связь структуры данных и алгоритма
- Типы данных
- Память компьютера
- Однородность памяти
- Простые и составные типы данных
- Отношение между структурами данных и абстрактными типами данных
- Селектор элементов массив и списков
- Селекторы
- Абстракция данных
- Механизм доступа
- Последовательный доступ
- Предусловие
- Инвариант
Абстрактные типы данных
Особенности кодирования
- Оператор case: вариант по умолчанию для выявления ошибок
- Блоки с выходом (охранное выражение, guard clauses)
- Использование функции для замены присваивания по условию
- Использование остатка от деления для зацикливания перебора массива
- Использование функции max для ограничения числа снизу вместо условия
- Методы сокращения длины кода программы
- Инкремент с использованием преобразования bool к int
- Замена условия на комбинацию логических операторов
- Сокращение условий с использованием логических операторов
- Использование итераторов вместо индексов для перебора списков
- Использование барьера для упрощения условия перебора списка
Алгоритмы
- Сортировка выбором (Selection sort)
- Линейный поиск (Linear search)
- Бинарный поиск (Binary search)
- Поиск в ширину (Breadth-first-search, BFS)
- Быстрая сортировка (Quicksort)
- Алгоритм Прима (Prim's algorithm)
- Алгоритм Дейкстры (Dijkstra's algorithm)
- Алгоритм склеивания строк после OCR
- Алгоритм k-ближайших соседей
Структуры данных
- Связанный список (Linked list)
- Массив (Array)
- Хеш-таблица (Hash table)
- Запись (Record)
- Сравнение массивов и записей
- Множество в виде битовой карты
- Последовательность
- Закольцованный буфер
Задачи
- Задача о кратчайшем пути (Shortest path problem)
- Задача коммивояжёра
- Задача о составлении расписания
- Задача о покрытии множества
- NP-полные задачи
- Задача о рюкзаке
Математика
- Сечение
- Множества чисел
- Типы сечений
- Иррациональное число
- Действительное (вещественное) число
- Сравнение действительных чисел чисел
- Математическая нотация
- Наивная теория множеств
- Доказательства и отношение между множествами
- Количество подмножеств
- Натуральные числа
- Остаток от деления
- Конъюнкция
- Дизъюнкция
- Логические функции от двух аргументов
- Эквивалентность
- Арифметика остатков
- Таблица истинности
- Методы доказательств
- Аксиоматический метод
Теория множеств
- Множество (Математика)
- Определение множества (Математика)
- Несуществующие множества в наивной теории множеств
- Подмножества
- Универсальное множество
- Пересечение множеств
- Объединение множеств
- Разбиение множеств
- Разность множеств
- Пустое множество
- Дистрибутивность пересечения множеств относительно объединения
Теория графов
- Граф
- Взвешенный граф (Weighted graph)
- Направленный граф (Directed graph)
- Циклический граф (Cycle graph)
- Направленный ациклический граф (Directed acyclic graph, DAG)
Функциональное программирование
Типы данных
Типы данных
Кибернетика
- Эффективность управления повышает производительность труда
- Эффективность управления и планирования зависит от минимального шага планирования
- Максимальная эффективность управления возможна, только если оно происходит в масштабах всего хозяйства в целом
- Планирование и управление экономикой как единым целым невозможно при капитализме
- Ускорение научно-технического прогресса пропорционально эффективности экономики
- Функции ОГАС
- Информация хранимая в ОГАС
- Статичный и динамичный план
- Управление
- Инициатива при централизованном управлении
- Принцип выделения отрасли в производстве
- Управление и связи
- Внешние и внутренние связи
- Быстрая проверка предложение по улучшению производства через ОГАС
- Централизация обработки информации и централизация управления
- Централизация и децентрализация управления
- Система управления не сводится к технике
- Универсализация в начале развития нового вида техники
- Внедрение ОГАС
- Массовое производство и стандартизация
- Порог конвеерности
- Плановость производства и колебания потребления
- Буфер между производством и потреблением
- Движение порога конвеерности в сторону начала производства
- Резервные мощности
- Рынок как механизм обратной связи
- Недостаточность рыночной обратной связи
- Теория информационных барьеров
- Первый информационный барьер
- Вертикальное разделение труда
- Второй информационный барьер
- Информационные барьеры и переход между классовым и бесклассовым обществом
- Конкуренция идей и конкуренция действий
- Преодоление вертикального разделения труда
- Электронные форумы для оценки общественного мнения и планирования
- В социалистическом обществе цель находится за пределом экономики
- Цель совершенствования экономики в формировании нового человека
- Рост потребностей не означает к росту личной собственности
- Два круга обращения как первый шаг к безденежному распределению
- Единство ближних и дальних целей
- Развитие узкой специализации и отставание возможностей синтеза
- Деление задач управления на объективно необходимые и остальные
- Компоненты управления экономикой
Руководство
- Суррогат управления
- ОГАС и централизация
- Щекинский эксперимент
- Задачи руководителя
- Деление на аналитиков и руководителей в системе управления