Публикации по теме 'algorithms'
Алгоритмы 101 Сортировка слиянием
Подсказка. Дан массив целых чисел, отсортируйте этот массив, не используя встроенный метод сортировки.
Ввод: [1,5,0,6,3]
Вывод: [0,1,3,5,6]
Первые мысли:
Массивы из 1 или менее элементов уже отсортированы. Возможно, рекурсивно разделить входной массив на более мелкие массивы. Сравните массивы из 1 элемента, чтобы увидеть, какой из них больше, а затем объедините Продолжайте сравнивать, пока не объединитесь обратно в один массив.
Логика:
Реализуйте вспомогательную..
Электронная книга: Заметки об алгоритмах для профессионалов
Скачайте бесплатно электронную книгу Algorithm от GoalKicker.com
Загрузите здесь: http://goalkicker.com/AlgorithmsBook/
Книга Примечания к алгоритмам для профессионалов составлена из Документации по переполнению стека , содержание написано красивыми людьми из Stack Overflow. Текстовый контент выпущен под лицензией Creative Commons BY-SA. См. В конце этой книги авторов, которые участвовали в написании различных глав. Права на изображения могут быть собственностью их..
Алгоритм JavaScript: возьмите первые N элементов
Мы напишем функцию, которая вернет первые n элементов из массива.
Мы собираемся написать функцию с именем take , которая принимает в качестве входных данных массив arr и целое число n .
Цель функции - взять arr и вернуть только первые n элементов из массива. Приведем пример:
let arr = [2, 4, 12, 6, 36];
let n = 4;
Используя информацию выше, мы возвращаем только первые 4 элемента в массиве, оставляя только 36 .
[2, 4, 12, 6]
Теперь, когда у нас есть представление о..
Интуитивно понятный итеративный обход дерева
Обход бинарного дерева является основным элементом процесса технического собеседования во многих компаниях-разработчиках программного обеспечения, малых и крупных. Для любого, кто понимает рекурсию, семейство методов обхода довольно просто. Обычный поворот этих концепций, который больше проявляется в технических интервью, чем в наборах задач бакалавриата по информатике, - это довольно искусственное ограничение, которое требует реализации обходов с использованием итерации, а не рекурсии.
Я..
Объяснение интерполяционного поиска
Это сообщение в блоге является продолжением серии сообщений об алгоритмах, поскольку мне как программисту было сложно понять эту концепцию. Почитайте первое сообщение в блоге об алгоритмах , где я представляю, что такое алгоритмы, и пример алгоритма, и второе сообщение в блоге о структурах данных , где я объяснил, что такое структуры данных и какие типы структур данных. Также ознакомьтесь с третьим сообщением в блоге о сложности времени и сложности пространства , в котором я даю..
Руководство по алгоритмам Magician, часть 4: Сортировка выбора
На этой неделе Хагрид учит нас сортировке по выбору, так что шшш! Поскольку он на самом деле не должен обучать нас какой-либо магии и не говоря уже о том, что его исключили еще до того, как он закончил Хогвартс, вполне естественно, что заклинание, которому он собирается нас научить, не так уж и эффективно. Однако у него все еще есть применение.
Сортировка выделения
Вот ваше заклинание:
Для простоты я разделил наше заклинание на две функции, поскольку одна функция просто..
Вставка в БСТ | Ржавчина
Напишите метод вставки, который добавляет новый узел в двоичное дерево поиска.
Наш BST-узел будет содержать целочисленное значение, а также левый и правый дочерние узлы, которые также могут быть сами по себе BST или иметь значение None. Мы будем использовать Option , чтобы сделать возможными значения None, и Rc , комбинация RefCell для хранения дочерних элементов BST.
Подсчет ссылок позволяет нам хранить любое количество неизменяемых ссылок , а ячейка ссылок допускает..