В наши дни мы слышим об алгоритмах почти ежедневно. Не нужно быть техническим ботаником, чтобы понять, что такое алгоритм. Любой, кто использует Facebook, слышал, что их алгоритмы постоянно меняются… Вот основное определение, которое я написал своими словами.

Алгоритмы — это дорожные карты для процесса выполнения задачи.

Звучит просто, и, судя по моим пока ограниченным знаниям (я всего несколько месяцев изучаю их в отношении компьютерного кодирования), это может быть просто. Но они могут быстро стать очень сложными и трудными для понимания. Я изучаю JavaScript, и теперь, когда я понимаю основные операторы, типы данных, функции, массивы, циклы for и while и условные операторы, я начинаю выполнять некоторые алгоритмы, которые немного сложнее. Вложенный цикл, например, для выполнения задачи.

Хотя моя школа, онлайн-платформа Coding Dojo, не требует алгоритмов, у нас есть необязательная рабочая тетрадь, которую я стараюсь просматривать понемногу каждый день. Также у меня есть замечательный ассистент — Уэс Харпер, который проводит дополнительные занятия один или два раза в неделю для всех участников программы, которые находят время. Я так рада, что приняла решение потратить это время, потому что когда я вкладываю эту энергию, я получаю немедленное вознаграждение. Я буквально чувствую, как мой мозг расширяется, пока формируются эти синапсы, и все остальное становится легче. Я действительно имею в виду все. — вождение автомобиля, принятие решения встать с постели пораньше для утренней пробежки, общение с семьей и все остальные вещи, связанные с разработкой программного обеспечения, которые я пытаюсь втиснуть в свой мозг…

Вот алгоритм, над которым я работал сегодня утром. [Обратите внимание, что я никоим образом не претендую на звание эксперта по алгоритмам, и любой, кто им является, скорее всего, сможет найти более простое и лаконичное решение по сравнению с представленным здесь. Это просто отражение моего процесса и того, почему я нахожу алгоритмы творческими и полезными для обучения] Функция суммирования отдельных цифр числа до тех пор, пока у вас не останется только одна цифра. Итак: 928 — это 9 + 2 + 8 = 19, а 19 — это 1 + 9 = 10, а 10 — это 1 + 0 = 1. В JavaScript я придумал это:

Самые большие выносы до сих пор начинаются с малого. Заставить одну вещь работать наверняка, а затем расширить ее. Кроме того, изучив значение console.log() и используя его, вы действительно увидите, что происходит. Я несколько раз забегал вперед в своей книге и разрабатывал несколько более продвинутых алгоритмов, но чем больше я работаю над строительными блоками, тем проще становится все остальное, и я действительно вижу ценность выполнения этих менее сложных алгоритмов и насколько сложнее они будут основываться на них. Неделю назад с помощью моего ассистента мы создали функцию .slice() с нуля. Он хотел, чтобы я увидел, что даже если мы можем вызвать метод .slice(), я должен понимать, что происходит под поверхностью, чтобы я мог понять количество вычислительной энергии, которое на самом деле потребовала бы одна строка кода. возьми-Супер проницательно!