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


Любые вопросы по сотрудничеству: @ramilkr
Если нужен токен:
https://telega.in/c/nuancesprog
NOP::Humor - https://t.iss.one/nophumor
NOP::Recruiter Удаленка- https://t.iss.one/nopremote
Download Telegram
Как написать алгоритм? Это, скорее, зависит от задачи и ресурсов. Четко определенных стандартов их написания не существует. Алгоритмы никогда не пишут для поддержки того или иного программного кода. Рассмотрим же характеристики алгоритмов и их сложности.

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
Алгоритмические задачи довольно часто нужны программистам для того, чтобы поддерживать свой мозг в тонусе и не давать себе прокрастинировать. Однако иногда гораздо интереснее решить задачу не напрямую, а хитрым способом. Один из таких способов и описан в этой статье.

https://nsprg.ru/v21Yqx

VK: https://nsprg.ru/vXPDWv

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

@nuancesprog #Algorithms #ArtificialIntelligence
Статья описывает алгоритм Брон-Кербоша для нахождения максимальных кликов в графах. Автор объясняет, как алгоритм работает и его применение в задачах, связанных с теорией графов и анализом данных.

https://nsprg.ru/v38qAO

VK: https://nsprg.ru/ObkMNm

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

@nuancesprog #Algorithms #CProgramming