Як писати алгоритми для початківців

Працюючи допізна в його офісі

Авторство зображення: vgajic/E+/GettyImages

Початківцям програмістам розробка нових алгоритмів може здатися страшною, але це навички, які можна практикувати, як і будь-які інші. Почніть з пошуку книги алгоритмічних задач для початківців або з онлайн- або офлайн-класу з інформатики. Практикуйте оволодіння основами проектування алгоритмів, включаючи оцінку складності та часу виконання, перевірку для крайніх випадків, які можуть спричинити проблеми для комп’ютерного алгоритму та розбити проблеми на менші частини.

Що таке комп'ютерний алгоритм

Алгоритм — це процедура, яку виконує комп’ютер або людина для вирішення проблеми. Довге ділення — це зразок алгоритму, який багато людей вчаться виконувати в школі. Алгоритм Евкліда, який використовується для знаходження найбільшого спільного дільника двох чисел, є ще одним поширеним прикладом.

Відео дня

Комп’ютерний алгоритм в кінцевому підсумку написаний мовою програмування, яку може зрозуміти комп’ютер, але коли алгоритм виконується розроблено, програмісти та комп’ютерники часто пишуть це спочатку неофіційно як прозу, а потім більш формально в загальному форматі, який називається псевдокод.

Псевдокод виглядає як мова програмування, але оскільки він розроблений для читання людьми, а не комп’ютерами, він не має строгих синтаксичних правил.

Прості приклади алгоритмів для початківців

Відомі приклади алгоритмів часто викладають початківцям комп’ютерникам і програмістам. Деякі приклади — алгоритм Дейкстри, який використовується в теорії графів для пошуку найкоротшого шляху між двома точками; Сортування злиттям, яке використовується для сортування списків даних; і алгоритм RSA, що використовується для шифрування даних. Багато з них доступні в Інтернеті у безкоштовних підручниках, відео та матеріалах для курсів.

На сайті онлайн-навчання Khan Academy є багато прикладів алгоритмів, з якими новачки можуть експериментувати. Великі університети, такі як Гарвард, Стенфорд та Массачусетський технологічний інститут, створюють навчальні програми матеріали та відео курсів із загальними алгоритмами, доступними в Інтернеті для ознайомлення з інформатикою класи.

Також є сайти із завданнями конкурсів із програмування та поясненнями щодо їх вирішення, які можуть допомогти людям, зацікавленим у розвитку своїх навичок.

Розгляд алгоритму

Коли ви придумуєте новий алгоритм, ви хочете переконатися, що він працює у всіх випадках, коли ви вважаєте, що це потрібно, і спробуйте зрозуміти, наскільки він ефективний. Як правило, програмісти ділять алгоритм на окремі частини, щоб вони могли подумати про те, як працює кожна частина і скільки часу це займає. Це називається модульним дизайном.

Перед початком написання коду бажано перевірити алгоритм самостійно за допомогою ручки та паперу на деяких простих випадках. Коли ви думаєте про ефективність, подумайте про середній випадок, поширені ситуації, з якими може зіткнутися ваш алгоритм, і найгірший випадок виконання. Найгірший випадок виконання часто представляється за допомогою того, що називається Big-O Notation.