logo

Максимум огледала, които могат да предават светлина отдолу надясно

Дадена е квадратна матрица, в която всяка клетка представлява или празно място, или препятствие. Можем да поставим огледала на празно място. Всички огледала ще бъдат разположени на 45 градуса, т.е. те могат да прехвърлят светлина отдолу надясно, ако няма препятствия по пътя им.

Асимптотичен анализ и сравнение на алгоритми за сортиране

Добре установен факт е, че сортирането чрез сливане работи по-бързо от сортирането чрез вмъкване. Използване на асимптотичен анализ. можем да докажем, че сортирането чрез сливане се изпълнява за O(nlogn) време, а сортирането чрез вмъкване отнема O(n^2). Очевидно е, защото сортирането чрез сливане използва подход "разделяй и владей" чрез рекурсивно решаване на проблемите, където сортирането чрез вмъкване следва постепенен подход. Ако разгледаме още повече анализа на времевата сложност, ще разберем, че сортирането с вмъкване не е толкова лошо. Изненадващо сортирането чрез вмъкване е по-добро от сортирането чрез сливане при по-малък входен размер. Това е така, защото има няколко константи, които пренебрегваме, докато извеждаме времевата сложност. При по-големи входни размери от порядъка на 10^4 това не влияе на поведението на нашата функция. Но когато входните размери паднат под, да кажем по-малко от 40, тогава константите в уравнението доминират над входния размер „n“. Дотук добре. Но не бях доволен от такъв математически анализ. Като студент по компютърни науки трябва да вярваме в писането на код. Написах програма на C, за да усетя как алгоритмите се конкурират един срещу друг за различни входни размери. И също защо се прави такъв строг математически анализ за установяване на сложността на времето за изпълнение на тези алгоритми за сортиране.