NOP::Nuances of Programming
68.4K subscribers
3.25K photos
11 videos
12 files
4.59K 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/10274

@nuancesprog #статьи #Algorithms #DataScience
Узнаем, чем он лучше наивного алгоритма и какие есть два нюанса хеш-функции. На конкретном примере увидим, какой компонент алгоритма обеспечивает лучшее время его исполнения, как избавиться от лишних вычислений при подсчёте хеша и как предотвратить целочисленное переполнение.

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