Системне програмування, наскільки я знаю, стосується osdev, драйверів, утиліт тощо. Я просто не можу зрозуміти, як числення та лінійна алгебра можуть бути корисними для цього.
З обчисленням це досить просто, як тільки ви детальніше ознайомтеся зі змістом курсу . Це тісно пов'язане зі складністю алгоритму, нотацією Big-O - подібні речі, досить фундаментальні в програмуванні.
Рівняння - це те, що ви отримуєте при оцінці складності алгоритму. Трирівневі вкладені петлі від 0
до N
- N 3 , дворівневі вкладені петлі - N 2 , один - N. Оцінка, яку ви можете виглядати (N 3 + 2 * N 2 + N) - це рівняння.
Тепер, якщо ви хочете краще зрозуміти, як швидко зростатиме час виконання при збільшенні N, це тісно пов'язане з похідними / диференціацією. Інші частини обчислення, які можуть вам виявитись корисними, - це обмеження та асимптотичний аналіз - це призведе до розуміння нотації Big-O, кращого оцінювання інтерв'ю з програмування та, можливо, кращого програмування систем.
- Вам призначено розробити таблицю розподілу файлів, яку структуру даних ви збираєтеся використовувати? Якщо припустити, що існує багато невеликих файлів, які рідко змінюються, що було б кращим? Якщо припустити відносно невелику кількість великих файлів, які завжди додаються в кінці, ви збираєтесь використовувати ту саму структуру? Як би ви вирішили?
Що стосується лінійної алгебри , то тут програми програмування стріляють на вас із самого першого зображення.
Якщо вам коли-небудь доведеться мати справу з растровою графікою (наприклад, у відеодрайверах), такі зображення, як вище, будуть надходити до вас у ваших найгірших кошмарах.
- Звідки тест № 12345 показує відсутні піксель? я щось неправильно зробив, втілюючи Бресенхама ? Чи може це бути просто помилкою в тестовій конструкції, яка не належним чином враховує помилки округлення?