1
0
algoru-labs/Lab1
2023-03-28 00:20:03 +03:00
..
BMP File Format.url Add project files. 2023-02-11 14:37:41 +02:00
BMP formatas.docx Add project files. 2023-02-11 14:37:41 +02:00
BMPImage.cs Add project files. 2023-02-11 14:37:41 +02:00
Lab1.csproj Add project files. 2023-02-11 14:37:41 +02:00
Program.cs remove unnecessary comments 2023-02-28 02:04:08 +02:00
README.md update Merge branch 'main' of https://github.com/RokasPuzonas/Algoritmu-Labs 2023-02-11 14:51:52 +02:00
Rokas_Puzonas_IF-1-1.pdf add report 2023-03-28 00:20:03 +03:00
Test Results.xlsx update benchmarking 2023-02-28 02:03:37 +02:00
uzduotis2.png update readme 2023-02-11 14:49:08 +02:00

Lab1

1 užduotis

Kiekvienai rekurentinei lygčiai (gautai atlikus užduoties pasirinkimo testą):

  • Realizuoti metodą, kuris atitiktų pateiktos rekurentinės lygties sudėtingumą, t. y. programinio kodo rekursinių iškvietimų ir kiekvieno iškvietimo metu atliekamų veiksmų priklausomybę nuo duomenų. Metodas per parametrus turi priimti masyvą, kurio duomenų kiekis yra rekurentinės lygties kintamasis n (arba masyvą ir indeksų rėžius, kurie atitinkamai nurodo masyvo nagrinėjamų elementų indeksus atitinkamame iškvietime) (2 balai).

  • Kiekvienam realizuotam metodui atlikti programinio kodo analizę, parodant jog jis atitinka pateiktą rekurentinę lygtį (1 balas).

  • Išspręskite rekurentinę lygtį ir apskaičiuokite jos asimptotinį sudėtingumą (taikoma pagrindinė teorema, medžių ar kitas sprendimo metodas) (1 balas)

  • Atlikti eksperimentinį tyrimą (našumo testus: vykdymo laiką ir veiksmų skaičių) ir patikrinkite ar apskaičiuotas metodo asimptotinis sudėtingumas atitinka eksperimentinius rezultatus (1 balas).

  1. T(n)=2 T(\frac{n}{9})+n^5
  2. T(n)=T(\frac{n}{6}) + T(\frac{n}{7}) + n
  3. T(n)=T(n-8) + T(n-6) + n

2 užduoties dalis

Naudojant rekursiją ir nenaudojant grafinių bibliotekų sudaryti nurodytos struktūros BMP formato ( gautą atlikus užduoties pasirinkimo testą):

  • Programos rezultatas BMP formato bylos demonstruojančios programos rekursijas. (3 balai)

  • Eksperimentiškai nustatykite darbo laiko ir veiksmų skaičiaus priklausomybę nuo generuojamo paveikslėlio dydžio (taškų skaičiaus). Gautus rezultatus atvaizduokite grafikais. Grafiką turi sudaryti nemažiau kaip 5 taškai ir paveikslėlio taškų skaičius turi didėti proporcingai (kartais). (1 balas)

  • Analitiškai įvertinkite procedūros, kuri generuoja paveikslėlį, veiksmų skaičių sudarydami rekurentinę lygtį ir ją išspręskite. Gautas rezultatas turi patvirtinti eksperimentinius rezultatus (našumo testus: vykdymo laiką ir veiksmų skaičių). (1 balas)

Užduotis 2