Конспекти лекцій та Лабораторні роботи з дисципліни "Алгоритми та структури даних" для III курсу спеціальності 121 "Інженерія програмного забезпечення" ОКР "Фаховий молодший бакалавр" Херсонського політехнічного фахового коледжу Державного університету "Одеська політехніка"
Ознайомитися з основними методами генерації випадкових чисел та послідовностей, вивчити алгоритми рандомізації даних у програмуванні, навчитися створювати та використовувати генератори випадкових чисел у мові C++.
Персональний комп’ютер, IDE Microsoft Visual Studio або інша середа розробки для мови C++.
Рандомізація — це процес створення випадкових значень, які не мають визначеного закономірного порядку.
У програмуванні вона використовується для:
Генератор | Швидкість | Якість випадковості | Період | Застосування |
---|---|---|---|---|
Лінійний конгруентний | Висока | Середня | ~2³¹ | Просте тестування |
Mersenne Twister | Висока | Висока | 2¹⁹⁹³⁷ | Наукові розрахунки |
Xorshift | Дуже висока | Середньо-висока | Великий | Ігри, симуляції |
Random Device | Середня | Дуже висока | — | Криптографія |
Generator: mt19937
Range: 1–100
Random numbers: 12 87 55 43 91 14 69
Shuffle: 69 14 91 12 43 87 55
Time: 0.00089 s
RandomGenerator
, MersenneGenerator
, Timer
.rand()
від std::mt19937
?