У галузі інформатики, які поняття, які ви дізнаєтесь, не принесуть користі, доки ви не покажете це. Проблема викликає головне питання, яку потрібно вирішити, тому алгоритм - це коротке планування того, як проблема буде вирішена в цілому. Тому це викликає велике занепокоєння у світі інформатики.
Я думаю, що майже кожен аспект інформатики потребує алгоритму Дозвольте мені це показати. Наступний перелік включатиме різні сфери інформатики та алгоритми, якими вони користуються.
Автомати
Конструкція електроустановок. Алгоритм перетворення недетермінованого автомата в детермінований автомат.
Алгоритм Тодда-Коксетера. Порядок генерації косет.
Штучний інтелект
Альфа-бета. Альфа-макс плюс бета-хв. Широко використовується в настільних іграх.
Мурашині алгоритми. Оптимізація колонії мурашок - це набір алгоритмів, натхненних поведінкою мурашок для вирішення проблеми, пошуку найкращого шляху між двома локаціями.
DE (диференціальна еволюція). Розв’яжіть задачу полінома Чебішева на примірку.
Напівконтрольне визнання саркастичних вироків в оглядах Інтернет-продуктів. Алгоритм, який розпізнає сакразми або іронію у твіті або в онлайн-документі. Такий алгоритм буде важливим і для програмування гуманоїдних роботів.
Комп'ютерне бачення
Епітомія. Представити зображення чи відеоролик меншим розміром.
Підрахунок об'єктів на зображенні . Використовує алгоритм маркування підключеного компонента, щоб спочатку позначити кожен об'єкт, а потім підрахувати об'єкти.
Алгоритм O'Carroll. Завдяки математичному перетворенню зору комах цей алгоритм оцінює, як обійти уникнення предметів.
Генетичні алгоритми
Вони використовують три оператора. вибір (вибрати рішення), відтворення (використовувати обрані рішення для побудови інших), заміна (якщо краще замінити рішення).
Фітнес пропорційний вибір. Також відомий як вибір рулетки-колеса - це функція, що використовується для вибору рішень.
Вибір усікання. Ще один метод підбору розчинів, замовлений фітнесом.
Відбір турніру Виберіть найкраще рішення за типом турніру.
Стохастичний універсальний відбір проб. Індивіди відображаються на суміжних сегментах лінії, таким чином, щоб сегмент кожного був рівний за розміром відповідно до відповідності, як і в підборі колеса для рулетки.
Нейронні мережі
Сітка Хопфілда Повторна штучна нейронна мережа, яка служить системою пам'яті, адресованої вмістом, з бінарними пороговими одиницями. Вони сходяться до стабільного стану.
Зворотне розповсюдження. Керована методика навчання, що використовується для тренування штучних нейронних мереж.
Карта самоорганізації (карта Кохонена). Нейронні мережі, що навчаються, використовуючи непідвладне навчання для створення низькомірного (2D, 3D) подання навчальних зразків. Підходить для візуалізації високомірних даних.
Біоінформатика
Needleman-Wunsch. Виконує глобальне вирівнювання на двох послідовностях для білкових або нуклеотидних послідовностей.
Сміт-Уотерман. Варіація Ігольця-Вунша.
Стиснення
Алгоритми стиснення без втрат
Перетворення Берроу-Уілера. Попередня обробка корисна для поліпшення стиснення без втрат.
Спуску. Стиснення даних, що використовується ZIP.
Кодування Delta. Допомога стисненню даних, в яких послідовні дані часто трапляються.
Поступове кодування. Кодування Delta застосовується для послідовностей рядків.
LZW. (Лемпель-Зів-Велч). Наступник LZ78. Створює таблицю перекладу з даних для стиснення. Використовується у графічному форматі GIF.
LZ77 і 78. Основа подальших варіацій LZ (LZW, LZSS, ...). Вони обидва словникові кодери.
LZMA. Скорочення до ланцюга-Алгоритм Лемпеля-Жива-Маркова.
LZO. Алгоритм стиснення даних, орієнтований на швидкість.
PPM(Прогнозування шляхом часткового узгодження). Адаптивна методика стиснення статистичних даних на основі контекстного моделювання та прогнозування. Кодування Шеннона-Фано Побудовує префіксні коди на основі набору символів та їх ймовірностей.
Урізаний двійковий. Ентопічне кодування, як правило, використовується для рівномірного розподілу ймовірностей з кінцевим алфавітом. Поліпшення бінарного кодування.
Кодування за довжиною виконання. Первинне стиснення, яке замінює послідовність одного і того ж коду числом випадків.
Секвітур. Додатковий граматичний висновок про рядок.
EZW (вбудована вейвлет Zerotree). Прогресивне кодування для стиснення зображення в бітовий потік із збільшенням точності. Можливо, стиснення втрат також має кращі результати.
Ентропійне кодування
Схема кодування, яка присвоює коди символам, щоб відповідати довжині коду імовірності символів.
Кодування Хаффмана. Просте стиснення без втрат, використовуючи переваги відносних частот символів.
Адаптивне кодування Хаффмана. Техніка адаптивного кодування, заснована на кодуванні Хаффмана.
Арифметичне кодування. Розширене ентропійне кодування.
Кодування діапазону Те саме, що арифметичне кодування, але розглядається дещо по-іншому.
Унарне кодування. Код, який представляє число n з n, з наступним нулем. Дельта Іллі, гамма, кодування омега. Універсальний код, що кодує натуральні числа. Кодування Фібоначчі Універсальний код, який кодує додатні цілі числа у двійкові кодові слова.
Кодування Голомба. Форма кодування ентропії, яка є оптимальною для алфавітів після геометричних розподілів.
Кодування рису Форма кодування ентропії, яка є оптимальною для алфавітів після геометричних розподілів.
Алгоритми стиснення втрат
Лінійне прогностичне кодування. Стиснення втрат шляхом подання спектральної оболонки цифрового сигналу мови у стисненій формі.
Алгоритм закону. Стандартний алгоритм порівняння.
Алгоритм му-закону. Стандартний алгоритм стиснення або порівняння аналогового сигналу.
Фрактальна компресія. Метод, що використовується для стискання зображень за допомогою фракталів.
Перетворення кодування. Тип стиснення даних для таких даних, як звукові сигнали чи фотознімки.
Квантування вектор Техніка часто використовується при стисненні втрат даних.
Стиснення вейвлетів. Форма стиснення даних добре підходить для стиснення зображень та аудіо.
Криптографія
Секретний ключ (симетричне шифрування)
Використовуйте секретний ключ (або пару безпосередньо пов’язаних ключів) і для розшифрування, і для шифрування.
Розширений стандарт шифрування (AES) , також відомий як Rijndael.
Сипуха. Розроблений Шнейє як алгоритм загального призначення, призначений як заміна старіння DE.
Стандарт шифрування даних (DES) , раніше алгоритм DE.
IDEA (Міжнародний алгоритм шифрування даних) . Раніше IPES (вдосконалений PES), ще одна заміна DES. Використовується PGP (досить хороша конфіденційність). Виконує перетворення даних, розділених на блоки, за допомогою ключа.
RC4 або ARC4. Поточний шифр широко використовується в таких протоколах, як SSL для інтернет-трафіку та WEP для бездротових мереж.
Алгоритм крихітного шифрування. Простий в реалізації алгоритм блочного шифрування за допомогою деяких формул.
PES (пропонований стандарт шифрування). Старіша назва для IDEA.
Відкритий ключ (асиметричне шифрування)
Використовуйте пару ключів, позначених як відкритий та приватний ключ. Відкритий ключ шифрує повідомлення, лише приватний ключ дозволяє розшифрувати його.
DSA (алгоритм цифрового підпису). Створення ключів з простими та випадковими числами. Користувався американськими агентствами, а тепер є загальнодоступним доступом.
ElGamal. На основі Diffie-Hellman, що використовується програмним забезпеченням GNU Privacy Guard, PGP та іншими криптографічними системами.
RSA (Rivest, Shamir, Adleman). Широко використовується в протоколах електронної комерції. Використовуйте прості числа.
Обмін ключами Diffie-Hellman (Merkle) (або експоненціальний обмін ключами). Метод та алгоритм для обміну секретом по незахищеному каналу зв'язку. Використовується RSA.
NTRUEкрипт. Скористайтеся кільцями многочленів із множенням згортки.
Функції перебору повідомлень
Дайджест повідомлень - це код, отриманий в результаті шифрування рядка або даних будь-якої довжини, оброблених хеш-функцією.
MD5. Використовується для перевірки ISO-зображень компакт-дисків або DVD-дисків.
RIPEMD (Дайджест повідомлення оцінювальних примітивів за RACE). На основі принципів MD4 та подібних до SHA-1.
SHA-1 (Алгоритм безпечного хешу 1). Найчастіше використовується набір SHA пов'язаних криптографічних хеш-функцій. Було розроблено агентством АНБ.
HMAC. аутентифікація повідомлення з ключем-хеш
Тигр (TTH). Зазвичай використовується в тигрових хешах дерев.
Криптографічні з використанням псевдовипадкових чисел
Див. Генератори випадкових чисел
Методи криптографії
Таємний обмін, Таємне розщеплення, Розщеплення ключів, M з N алгоритмів.
Таємна схема обміну Шаміром. Це формула, заснована на поліноміальній інтерполяції.
Таємна схема обміну Блеклі. Має геометричну природу, секрет - точка в m-мірному просторі.
Інші методи та дешифрування
Сума підмножини З огляду на набір цілих чисел, чи є підмножина сумою рівним нулю? Використовується в криптографії.
Алгоритм Шор. Квантовий алгоритм здатний розшифрувати код на основі асиметричних функцій, таких як RSA.
Геометрія
Упаковка подарунків Визначення опуклого корпусу множини точок.
Відстань Гілберта-Джонсона-Керті. Визначення найменшої відстані між двома опуклими фігурами.
Грейм сканування. Визначення опуклого корпусу безлічі точок у площині.
Перетин відрізка лінії. Виявлення, чи перетинаються лінії з алгоритмом розгортки ліній.
Точка в багатокутнику. Тестує, чи лежить дана точка в межах даної.
Перехрестя променя / площини.
* Перетин лінії / трикутника. * Конкретний випадок перетину променя / площини.
Полігонізація неявних поверхонь. Орієнтовна неявна поверхня з полігональним поданням.
Тріангуляція.Метод оцінки відстані до точки від кутів до інших точок, відстань яких відома.
Графіки
3D технології відстеження поверхні. Обробляйте додавання зображень на стіни у відеоролик, при цьому враховуються приховані поверхні.
Беллман-Форд. Обчислює найкоротші шляхи у зваженому графіку (де деякі ваги краю можуть бути негативними).
Алгоритм Дейкстри. Обчислює найкоротші шляхи в графіку з негативними вагами краю.
Методи обурення. Алгоритм, який обчислює локально найкоротші шляхи в графі.
Флойд-Варшалл. Розв'язує задачу всіх пар про найкоротший шлях у зваженому, спрямованому графіку.
Флойд-пошук циклу. Знаходить цикли в ітераціях.
Джонсон. Алгоритм найкоротшого шляху всіх пар у розрізненому зваженому графіку.
Крускал.Знаходить мінімальне прольотове дерево для графіка.
Прим. Знаходить мінімальне прольотове дерево для графіка. Також називається алгоритмом DJP, Jarník або Prim – Jarník.
* Boruvka. * Знаходить мінімальне прольотове дерево для графіка.
Форд-Фулкерсон. Обчислює максимальний потік у графіку.
Едмондс-Карп. Впровадження Ford-Fulkerson.
Неблокуючий мінімальний натягуючий вимикач. Для телефонної станції.
Вудхаус-Шарп. Знаходить мінімальне прольотове дерево для графіка.
Весна заснована. Алгоритм малювання графіка.
Угорська. Алгоритм пошуку ідеального узгодження.
Алгоритм фарбування. Алгоритм фарбування графіків
Найближчий сусід.Знайти найближчого сусіда.
Топологічний сорт. Сортуйте спрямований ациклічний графік таким чином, щоб кожен вузол вийшов перед усіма вузлами, до яких він має ребра (відповідно до вказівок).
Офлайн алгоритм найменш поширених предків Тарджана. Обчисліть найнижчі загальні предки для пар вузлів на дереві.
Графіка
Лінійний алгоритм Брезена. Використовує змінні рішення для накреслення прямої між двома вказаними точками.
Пейзаж Намалюйте 3D-пейзаж.
* Алгоритм рядка DDA. * Використовує математику з плаваючою комою для побудови графіків прямої лінії між двома вказаними точками.
Затоплення. Заповнює з’єднану область кольором.
Відновлення зображення Відновлення фотографії, поліпшення зображень.
Лінійний алгоритм Сяолінь Ву. Лінія антиалійного.
Алгоритм роботи художника. Виявляє видимі частини тривимірної декорації.
Проміння Рея. Реалістичне зображення.
Затінення фонгом. Модель освітлення та метод інтерполяції в комп'ютерній графіці 3D.
Затінення Гуру.Моделюйте різні ефекти світла та кольору по всій поверхні 3D-об’єкта.
Відображення сканінгу. Побудовує зображення, переміщуючи уявну лінію.
Глобальне освітлення. Розглядає пряме освітлення та відбиття від інших предметів.
Інтерполяція. Побудова нових точок даних, таких як цифровий зум.
Ресинтезатор. Видаліть об’єкт на фотографії та відновіть фон, що використовується Photoshop та The Gimp. Підручник з ресинтезатором.
Алгоритм перехоплення нахилу. Це реалізація формули перехоплення нахилу для нанесення лінії.
Інтерполяція сплайну. Зменшує помилку із явищем Рунге.
3D поверхнева технологія відстеження. Додавання зображень або vidéo на стінах у відео, приховані поверхні враховуються.
Списки, масиви та дерева
Пошук
Пошук словника. Див. Прогнозний пошук.
Алгоритм вибору Знаходить найбільш великий елемент у списку.
Алгоритм двійкового пошуку. Розташовує елемент у відсортованому списку.
Перший пошук. Переміщення рівня графіка за рівнем.
Поглиблений пошук. Перетинає графік за галуззю.
Найкращий пошук. Переміщає графік у порядку, ймовірно важливому, використовуючи чергу пріоритету.
Дерево пошуку. * Особливий випадок краще першого пошуку , який використовує евристичні методи для підвищення швидкості.
Пошук уніфікованої вартості. Пошук дерев, який знаходить маршрут з найнижчою вартістю, коли вартість варіюється.
Прогнозний пошук.Бінарний, як пошук, який визначає величину пошукового терміна порівняно з високими та низькими значеннями в пошуку.
Таблиця хешу Пов’яжіть ключі до предметів у несортованій колекції, щоб отримати їх у лінійний час.
Інтерпольований пошук. Див. Прогнозний пошук.
Сортування
Бінарний сорт дерева. Сорт двійкового дерева, поступовий, подібний до сортування вставки.
Богосор. Неефективний випадковий вид настільної картки.
Сорт бульбашки. Для кожної пари індексів поміняйте місцями, якщо вони вийшли з ладу.
Сорт відра. Розділіть список по відрах і сортуйте їх окремо. Узагальнює сорти голубів.
Сорт коктейлю (або двонаправлений міхур, шейкер, пульсація, човник, щасливий годинник). Варіанти сортування бульбашок, які сортуються в обох напрямках, кожен проходить через список.
Гребінець сортування. Ефективна зміна сортування бульбашок, що виключає "черепашки", невеликі значення в кінці списку та використовує прогалини серед значень.
Підрахунок сортування.Він використовує діапазон чисел у списку A для створення масиву B такої довжини. Індекси у В використовуються для підрахунку кількості елементів у А, які мають значення менше i.
Gnome сорт. Подібно до сортування вставки, за винятком того, що переміщення елемента на його належне місце здійснюється за допомогою серії замінів, як у сортуванні бульбашок.
Гіпсорт. Перетворіть список у купу, продовжуйте видаляти найбільший елемент із купи та додавати його до кінця списку.
Сортування вставки. Визначте, куди належить поточний елемент у списку відсортованих, і вставте його туди.
Інтросорт. Або інтроспективний сорт. Він починається в швидкості і переходить на велику резорт при певному рівні рекурсії.
Злиття сортування.Сортуйте першу та другу половини списку окремо, потім об'єднайте відсортовані списки.
Млинець сорт. Зворотні елементи деякого префікса послідовності.
Сорт голубів. Заповніть порожній масив усіма елементами масиву, який слід відсортувати, за порядком.
Сорт листоноші. Ієрархічний варіант сортування відра, використовуваний поштовими відділеннями.
Квікорт. Розділіть список на два, причому всі пункти першого списку передують усім пунктам другого списку; потім сортуйте два списки. Часто метод вибору.
Радікс сортування. Сортуйте клавіші, пов’язані з елементами або цілими числами, обробляючи цифри.
Вибір сортування. Виберіть найменший з решти елементів, додайте його до кінця відсортованого списку.
Сорт раковини.Покращує сортування вставки з використанням проміжків між значеннями.
Згладжування. Див.
Стохастичний сорт. Дивіться Богоссорт.
та багато іншого...