Публикации по теме 'algorithms'
Inorder Preorder Поступорядоченный обход двоичного дерева
Inorder Preorder Поступорядоченный обход двоичного дерева
Типы обхода двоичного дерева и его преобразование из упорядоченного в предварительный-поступорядоченный
Мотивация:
Обход предварительного заказа при дублировании узлов и значений может создать полную копию двоичного дерева. Его также можно использовать для создания префиксного выражения (польская нотация) из деревьев выражений: предварительно пройти дерево выражений. Обход по порядку очень часто используется в..
Прекращение проблемы остановки
Что такое проблема остановки?
Проблема остановки — это аргумент, призванный показать, что не может быть «алгоритма остановки» (алгоритма, который определяет, остановится или нет другой алгоритм) за конечное количество шагов.
function H(A, x){ return halts(A(x)); } Предположим, что существует алгоритм H, так что H(A, x) возвращает истину, если A (x) завершается и возвращает false, если A(x) не завершается. function A'(A){ while(H(A, A)){ }} Предположим, что существует алгоритм A',..
Сортировка вставками
Сортировка вставками — еще один простой алгоритм сортировки, но не самый эффективный.
Он работает путем построения отсортированного подмассива , беря по одному элементу из заданного массива и помещая его (вставляя) в соответствующее место.
Вот код:
Чтобы отсортировать массив, мы перемещаем следующий элемент из правого подмассива (не отсортированный) в левый подмассив (отсортированный) в правильное положение .
Мы используем простой внешний цикл for для перебора всех..
Сложность: сколько времени и места занимает ваш алгоритм?
Лучше понять свои алгоритмы, чтобы вы могли их улучшить
Я очень взволнован этим постом, потому что он мой первый. После многих лет (и лет, и лет ...) откладывания я наконец начал это делать. Я надеюсь, вам понравится это чтение, но, более того, я надеюсь, что вы тоже кое-что узнаете.
Этот пост посвящен тому, сколько времени и пространства использует алгоритм. Хотя есть много математических выкладок, которые могут помочь нам вычислить эти вещи, мы сосредоточимся на интуитивном..
Объяснение алгоритмов сортировки с использованием Python: сортировка слиянием
В прошлый раз мы обсуждали Быструю сортировку , а также реализовали ее рекурсивную реализацию на Python. Очень похожий рекурсивный процесс будет происходить в так называемом алгоритме сортировки слиянием.
В отличие от существующих алгоритмов квадратичной сортировки, сортировка слиянием имеет среднюю сложность O(n * log(n)) . Основные принципы его работы следующие:
разбить несортированный список на подсписки размером 1; многократно объединять подсписки для создания новых..
Пример вычислительного мышления: реализация алгоритмов поиска с помощью JavaScript
Вычислительное мышление сочетает концептуальное понимание с практическим применением в программировании. В контексте поиска алгоритмы играют ключевую роль в быстром и эффективном поиске данных. Давайте рассмотрим простой пример и его реализацию на JavaScript.
Пример Книжный интернет-магазин желает предложить функцию поиска книг по их названиям. Поскольку в каталоге тысячи книг, эффективность алгоритма имеет первостепенное значение для быстрого реагирования пользователей...
Блог Work-Bench — объявляем о наших инвестициях в алгоритмы
Предоставление компаниям любого размера возможности централизации, повторного использования и производственной обработки данных
Мы рады сообщить, что Work-Bench присоединяется к новому фонду Google, ориентированному на инвестиции в ИИ и машинное обучение, Madrona, Rakuten Ventures и Osage University Partners, чтобы инвестировать в Algorithmia серии A на сумму 10,5 млн долларов.
Для внешнего мира наука о данных может показаться пустяком. Но на корпоративном уровне и в масштабе..