NOP::Nuances of Programming
71.8K subscribers
2.95K photos
10 videos
12 files
4.28K links
Уникальные статьи и переводы — настольная книга программиста.


Любые вопросы по сотрудничеству: @ramilkr
Если нужен токен:
https://telega.in/c/nuancesprog
NOP::Humor - https://t.me/nophumor
NOP::Recruiter Удаленка- https://t.me/nopremote
Download Telegram
Узнаем, чем он лучше наивного алгоритма и какие есть два нюанса хеш-функции. На конкретном примере увидим, какой компонент алгоритма обеспечивает лучшее время его исполнения, как избавиться от лишних вычислений при подсчёте хеша и как предотвратить целочисленное переполнение.

https://nuancesprog.ru/p/10452

@nuancesprog #статьи #Algorithms
Счётчики, сообщения с повторным выполнением и просто фракталы - во всех этих случаях нам пригождается рекурсия. Давайте разберёмся, что она из себя представляет и в каких случаях ее следует применять.

https://nuancesprog.ru/p/10853

@nuancesprog #статьи #Algorithms
Как защититься от DoS-атак? Рассмотрим преимущества и недостатки пяти алгоритмов ограничения скорости и познакомимся с принципом действия ограничителя скорости для API.

https://nuancesprog.ru/p/11301

@nuancesprog #статьи #Algorithms
Все мы знаем, как важна практика алгоритмов и вопросы, связанные с написанием кода. И сейчас мы разберем вопрос о том, как удалить одинаковые данные из отсортированного массива.

https://nuancesprog.ru/p/12351

@nuancesprog #статьи #JavaScript #Algorithms
Как создать код, который найдет, отсортирует и выведет три наибольших числа во введенном массиве целых чисел? Разберемся ниже.

https://nuancesprog.ru/p/12360

@nuancesprog #статьи #JavaScript #Algorithms
Взаимодействие человека и компьютера было бы невозможно без алгоритмов. Пять из них сыграли революционную роль в нашей жизни.

https://nuancesprog.ru/p/14070/

@nuancesprog #Algorithms
Алгоритмические задачи довольно часто нужны программистам для того, чтобы поддерживать свой мозг в тонусе и не давать себе прокрастинировать. Однако иногда гораздо интереснее решить задачу не напрямую, а хитрым способом. Один из таких способов и описан в этой статье.

https://nuancesprog.ru/p/14974/

@nuancesprog #Algorithms #ArtificialIntelligence
Всем привет! В этом году мы хотим попробовать частично внедрить новый формат: публиковать руководства по разным темам (языки программирования, базы данных, другие технологии) , которые будут раскрываться шаг за шагом с нуля до продвинутого уровня. Они будут публиковаться постепенно, а предыдущие части в будущем сможете найти по тегу #tutorials

Различные типы структур данных так или иначе используются почти в каждом корпоративном приложении. Пройдя это руководство, вы получите четкое представление о структурах данных, необходимое для понимания сложности приложений корпоративного уровня.

https://nuancesprog.ru/p/15094/

@nuancesprog #tutorials #Algorithms #DataStructures
Как написать алгоритм? Это, скорее, зависит от задачи и ресурсов. Четко определенных стандартов их написания не существует. Алгоритмы никогда не пишут для поддержки того или иного программного кода. Рассмотрим же характеристики алгоритмов и их сложности.

https://nuancesprog.ru/p/15152/

@nuancesprog #tutorials #Algorithms #DataStructures
Асимптотический анализ алгоритма - это определение математических границ/рамок его производительности во время выполнения, позволяющее очень легко находить время работы алгоритма в лучшем, среднем и худшем случае.

https://nuancesprog.ru/p/15208/

Алгоритм предназначен для достижения оптимального решения задачи. В подходе с жадным алгоритмом оно выбирается из заданной предметной области решений. Причём берутся ближайшие, кажущиеся оптимальными решения - отсюда и название «жадный».

https://nuancesprog.ru/p/15209/

@nuancesprog #tutorials #Algorithms #DataStructures
При подходе «разделяй и властвуй» задача делится на мелкие подзадачи, каждая из которых решается независимо. При их делении на еще более мелкие подзадачи в конце концов настает момент, когда дальнейшее деление невозможно.

https://nuancesprog.ru/p/15261/

Подход динамического программирования схож с подходом «разделяй и властвуй»: тоже разбивает задачи на как можно более мелкие подзадачи. Отличие в том, что здесь подзадачи решаются не независимо.

https://nuancesprog.ru/p/15262/

@nuancesprog #tutorials #Algorithms #DataStructures
В прошлых частях "Структур данных и алгоритмов" мы разбирали работу алгоритмов. Теперь рассмотрим структуры данных.

https://nuancesprog.ru/p/15359

Массив  -  это контейнер, содержащий фиксированное количество элементов одного типа. В большинстве структур данных массивы используются для реализации алгоритмов.

https://nuancesprog.ru/p/15363

@nuancesprog #tutorials #Algorithms #DataStructures
Связный список - последовательность структур данных, связанных ссылками - вторая по частоте использования после массива структура данных. Рассмотрим основные операции и покажем пример на языке С.

https://nuancesprog.ru/p/15420/

@nuancesprog #tutorials #Algorithms #DataStructures #CProgramming
Двусвязный список - это разновидность связного списка, при которой переход по элементам возможен в обоих направлениях (как вперед, так и назад), в отличие от односвязного списка.

https://nuancesprog.ru/p/15493/

@nuancesprog #tutorials #Algorithms #Data Structures #CProgramming
Кольцевой связный список - это разновидность связного списка, при которой первый элемент указывает на последний, а последний - на первый. Кольцевой связный список можно сделать как из односвязного , так и из двусвязного списка.

https://nuancesprog.ru/p/15543/

@nuancesprog #tutorials #Algorithms #CProgramming #DataStructures
Стек - это абстрактный тип данных, который обычно используется в большинстве языков программирования. Хорошие примеры для объяснения понятия стека - колода карт или стопка тарелок. Разберем основные операции, проводимые со стеком.

https://nuancesprog.ru/p/15594/

@nuancesprog #tutorials #Algorithms #DataStructures #CProgramming
Представляем простой алгоритм обнаружения нужных значений - бинарный поиск. Разбираемся, как он работает, на примерах, а также описываем его этапы.

https://nuancesprog.ru/p/15673/

@nuancesprog #Algorithms
Вы когда-нибудь задумывались над тем, по какому принципу YouTube выстраивает в ряд видео, которые вы хотите посмотреть? Возможно, вы только что обсуждали какой-то видеоролик со своим другом, и вот он уже на главной странице! Разберем, как работает система рекомендаций YouTube.

https://nuancesprog.ru/p/15753/

@nuancesprog #Algorithms #YouTube
Хотите научиться работать с двоичными деревьями и их частным случаем - двоичными деревьями поиска? Предлагаем доступное руководство для новичков, включающее в себя методы вставки и поиска узлов, а также полный код BST-алгоритма.

https://nsprg.ru/xkeZqO

VK: https://nsprg.ru/vGkZRv

Дзен: https://nsprg.ru/mp9rpx

@nuancesprog #BinaryTree #Algorithms
Слияние  —  инновационный способ создания передовых языковых моделей. В сегодняшнем гайде рассмотрим слияние с помощью библиотеки mergekit, подробно опишем, как работают механизмы SLERP, TIES, DARE и passthrough, а также приведем примеры конфигураций.

https://nsprg.ru/OjApnv

VK: https://nsprg.ru/OQMdzO

@nuancesprog #MachineLearning #LLM #Algorithms