2. Andmestruktuurid ja algoritmid 2.1 ALGORITMI MÕISTE, STRUKTUUR JA ESITAMINE Algoritm on täpne (üheselt mõistetav) juhis antud ülesande lahendamiseks. Algoritm koosneb lõplikust arvust sammudest, millest igaüks on täidetav lõpliku aja jooksul lõplikke ressursse kasutades. Algoritmi rakendatakse teatavale lähteandmete komplektile (sisend) ning ta annab teatava resultaadi (väljund). Kui algoritm lõpetab töö (peatub) mistahes sisendi korral, siis nim. seda kõikjal määratud algoritmiks, vastasel juhul osaliseks algoritmiks. Kui algoritmi mistahes sammu täitmise järel on üheselt määratud, milline on järgmine samm, siis nim. algoritmi determineeritud algoritmiks. Algoritmi iseloomustamiseks kasutatakse järgmisi mõisteid: Määratletus (sammud on lõplikud ja üheselt määratud). Kirjelduse lõplikkus (algoritm on kirjeldatav lõpliku arvu sammudega).
2. Andmestruktuurid ja algoritmid 2.1 ALGORITMI MÕISTE, STRUKTUUR JA ESITAMINE Algoritm on täpne (üheselt mõistetav) juhis antud ülesande lahendamiseks. Algoritm koosneb lõplikust arvust sammudest, millest igaüks on täidetav lõpliku aja jooksul lõplikke ressursse kasutades. Algoritmi rakendatakse teatavale lähteandmete komplektile (sisend) ning ta annab teatava resultaadi (väljund). Kui algoritm lõpetab töö (peatub) mistahes sisendi korral, siis nim. seda kõikjal määratud algoritmiks, vastasel juhul osaliseks algoritmiks. Kui algoritmi mistahes sammu täitmise järel on üheselt määratud, milline on järgmine samm, siis nim. algoritmi determineeritud algoritmiks. Algoritmi iseloomustamiseks kasutatakse järgmisi mõisteid: Määratletus (sammud on lõplikud ja üheselt määratud). Kirjelduse lõplikkus (algoritm on kirjeldatav lõpliku arvu sammudega).
operatsioonide sooritamiseks Algoritm on täpne (üheselt mõistetav) juhis antud ülesande lahendamiseks. Algoritm koosneb lõplikust arvust sammudest, millest igaüks on täidetav lõpliku aja jooksul lõplikke ressursse kasutades. Algoritmi rakendatakse teatavale lähteandmete komplektile (sisend) ning ta annab teatava resultaadi (väljund). Kui algoritm lõpetab töö (peatub) mistahes sisendi korral, siis nim. seda kõikjal määratud algoritmiks, vastasel juhul osaliseks algoritmiks. Kui algoritmi mistahes sammu täitmise järel on üheselt määratud, milline on järgmine samm, siis nim. algoritmi determineeritud algoritmiks. Teosti on vahend teatud tüüpi ülesannete lahendamiseks. Teosti põhiomaduseks on juhitavus - teda saab programmeerida etteantud käsusüsteemi piirides (käsusüsteemi kuuluvad tavaliselt nn. lihtkäsud, tingimuste kontrollimise käsud, juhtimiskäsud jm.). Programm on
Andmestruktuurid ja algoritmid 2.1 ALGORITMI MÕISTE, STRUKTUUR JA ESITAMINE Algoritm on täpne (üheselt mõistetav) juhis antud ülesande lahendamiseks. Algoritm koosneb lõplikust arvust sammudest, millest igaüks on täidetav lõpliku aja jooksul lõplikke ressursse kasutades. Algoritmi rakendatakse teatavale lähteandmete komplektile (sisend) ning ta annab teatava resultaadi (väljund). Kui algoritm lõpetab töö (peatub) mistahes sisendi korral, siis nim. seda kõikjal määratud algoritmiks, vastasel juhul osaliseks algoritmiks. Kui algoritmi mistahes sammu täitmise järel on üheselt määratud, milline on järgmine samm, siis nim. algoritmi determineeritud algoritmiks. Algoritmi iseloomustamiseks kasutatakse järgmisi mõisteid: Määratletus (sammud on lõplikud ja üheselt määratud). Kirjelduse lõplikkus (algoritm on kirjeldatav lõpliku arvu sammudega). Universaalsus (lahendab probleemide klassi: sisend -> väljund ).
Faili krüpteerimise eesmärgiks on muuta failis asuvad andmed võõrastele loetamatuteks ehk info salastada. Krüpteerimisel muudetakse dokumendid loetamatuks kõigile teistele peale määratud adressaatide. Krüptograafiline algoritm ehk šiffer kujutab endast matemaatilist funktsiooni, mida kasutatakse info krüpteerimiseks ja dekrüpteerimiseks. Tavaliselt on need kaks omavahel seotud funktsiooni, üks krüptimiseks ja teine dekrüptimiseks. Sümmeetriliseks algoritmiks nimetatakse sellist algoritmi, mille puhul on teate dekrüpteerimiseks kasutatav võti krüpteerimiseks kasutatud võtmest väljaarvutatav, ja ka vastupidi. Enamusel sellistel algoritmidel kasutatakse krüpteerimiseks ja dekrüpteerimiseks sama võtit. Sümmeetrilise algoritmi poolt pakutav kaitse sõltub otseselt võtmest, võtme avastamine tähendab seda, et suvaline isik võib teadet krüpteerida ja dekrüpteerida
Z elektrolüüsi elementaaraktist osalevate elektronide arv , katoodil =ioonilaeng F Farady arv - 1 molelektronide kogulaengu absoluutväärtusF = 96500 C/mol C = kulon = amper*sekund R universaalne gaasikonstant R=8,31 J/mol*K = p0Vm/T0 =0,082 atm*dm3/mol*K I voolutugevusAmprites Ülesandeid võib muidugi mitut moodi lahendada. Kasulik on 4-ja astmeline tegutsemisjärjekord (võite sellist eeskirja ka algoritmiks sõimata) 1. Kirjutame välja andmed ja fikseerime otsitavad suurused 2. Valime sobivad matemaatilised seosed ja avaldame otsitavad suurused 3. Täiendame andmeid füüsikaliste konstantide, molaarmasside ja muu taolisega 4. teostame arvutused (ka ühikutega) Näide 1. Kui suur on 112 liitri H2S mass 1 . V = 112 l m=? 2. m / M = V / Vm siit m = (V / Vm) M 3. Vm = 22,4 l / mol M = 34 g / mol 4. { l *( mol / l) * g / mol } = { g}
. 92%) on küll lihtne, ent väikese nõudlusega protsessid võivad CPU-järjekorda jääda kauaks, kui sellesse on enne saabunud suure nõudlusega protsess. See võib minu arvates kätte maksta eelkõige kasutajaprogrammide korral, näiteks ei saa jpg- kompressiooni arvutamise ajal arvutiga sujuvalt trükkida. Round Robinit (erinevate ajakvantidega CPU kasutus madala 81% .. mitte esindusliku 93%-ni) julgeksin nimetada 'sotsialistlikuks' (või oleks korrektsem öelda sotsiaaldemokraatlikuks) algoritmiks igale protsessile, arvestamata selle iselomu, on ette nähtud ühesuurused kvandid CPU-kasutust. Tekib olukord, kus suur osa ressursse läheb võrdususe tagamiseks (protsesside ümberlülitamiseks), ning kokkuvõttes ei arvestata eri protsesside omapära. Round Robini puhul võivad kasutajal tekkida probleemid eelkõige paljude protsesside üheaegse töötamise puhul (arvuti on n protsessi korral n korda aeglasem).
Z elektrolüüsi elementaaraktist osalevate elektronide arv , katoodil =ioonilaeng F Farady arv - 1 molelektronide kogulaengu absoluutväärtusF = 96500 C/mol C = kulon = amper*sekund R universaalne gaasikonstant R=8,31 J/mol*K = p0Vm/T0 =0,082 atm*dm3/mol*K I voolutugevusAmprites Ülesandeid võib muidugi mitut moodi lahendada. Kasulik on 4-ja astmeline tegutsemisjärjekord (võite sellist eeskirja ka algoritmiks sõimata) 1. Kirjutame välja andmed ja fikseerime otsitavad suurused 2. Valime sobivad matemaatilised seosed ja avaldame otsitavad suurused 3. Täiendame andmeid füüsikaliste konstantide, molaarmasside ja muu taolisega 4. teostame arvutused (ka ühikutega) Näide 1. Kui suur on 112 liitri H2S mass 1 . V = 112 l 2. m / M = V / Vm siit m = (V / Vm) M m=? 3. Vm = 22,4 l / mol 4. { l *( mol / l) * g / mol } = { g}
asümptootilise hinnanguga. Seda tähistatakse kujul O(g(n)) . Näiteks O(n2) .
Def. Olgu f ja g naturaalarvuliste argumentidega ja positiivsete väärtustega
funktsioonid. Siis f on O(g(n)) parajasti siis kui leidub c>0 ja N>0 nii, et
f(n)
kogumit, mis on loodud kohtute ôigusmôistmise käigus ja nende poolt rakendatavat tavaôigust. Common law kujunemine algas sellest, et avalikku vôimu omavad inimesed lahendasid ôigusemôistmise teel juriidilis probleeme. Seejuures muutus juba kord tehtud kohtulahend common law osaks ning oli siduv uute analoogsete probleemide lahendamisel (pretsedent). 2 Common law kui pretsedendile rajaneva õigussüsteemi kujunemise traditsiooniliseks algoritmiks on kohtuotsustele antud siduv jõud ning kohtute sõltumatus muude võimalike õiguse allikate suhtes. Common law all mõistetakse erinevaid nähtusi, millest ainult üks võimalus on seotud siduva kohtuotsusega. Meie käsitluses seondub common law pretsedendiõiguse tähistamisega. 3 Common law tunnistab pretsedenti kui üksikjuhu puhul tehtud otsust ôiguse allikana. Common law koosnebki kohtulahenditest.
konfidentsiaalsus, mis pidi olema võrdväärne juhtmega ühenduse puhul tagatavaga. WEP-le iseloomulik on 10 või 26 kohaline kuueteistkümendsüsteemi võti. Tihtipeale on just WEP ruuterite vaikimisi konfiguratsiooni puhul esimeseks valikuks. Kuigi selle nimi väljendab võrreldavat turvalisust juhtmega ühendusega, siis tegelikult see seda ei ole. WEP-i kohta on välja toodud väga palju erinevaid funktsionaalsusvigu, mis tänapäeval teevad selle väheturvaliseks algoritmiks. WEP kasutab konfidentsiaalsuse tagamiseks RC4 sifrit ja terviklikuse tagamiseks CRC-32 kontrollsummat. Standardne 64-bitine WEP kasutab 40 bitist võtit, mis on lisatud 24 bitisele initsialiseeritud vektorile. Sellel ajal, kui see loodi, siis olid USA-l rakendatud ranged krüptotehnoloogiate ekspordi piirangud. Selle tõttu oli esialgu võtme pikkus ka piiratud. Hiljem, kui piirangud kaotati, siis tootjad implementeerisid
17 Kahe täiesti teada oleva signaali optimaalse eristaja struktuurskeem.(8 Pideva edastuskanali häirekindlus) Koherentne vastuvõtt=täiesti teadaolev vastuvõtt. Ainuke teadmata fakt vastuvõtu poolel on see, kumb signaalidest oli edastatud. Kas see, mis kandis edasi sümbolit 1 või see, mis kandis edasi sümbolit 0. See on täpselt teada olevate signaalide eristamise ülesanne. Sellist vastuvõttu iseloomustavad häirekindluse kõverad on parimad. Algoritmiks on see, et arvutatakse mõlema signaali ruutkeskmised kaugused ja võrreldakse neid. Optimaalse vastuvõtja struktuure sab muuta, avaldades vastuvõetud signaali ja tugisignaalide vahelise kauguste valemid. Struktuurskeem on slaidil 20. 18. M-modulatsiooniga signaalide optimaalse eristaja struktuurskeem .(8 Pideva edastuskanali häirekindlus) Kui vastuvõetud signaal ei ole binaarne, kasutame M-kanalist korrelatsioonvastuvõtjat.
Järeldusalgoritmis on eelnevast käigust mõjutatud järeldusalgoritmi kolmas etapp implikatsioon N Fr ( y ) = r y r = r ( p0 r + pir xi ) . (44) i =1 ning häguärastamine. TS süsteemides on implikatsiooni ja agregeerimisoperaatorid fikseeritud (vastavalt korrutis ja summa), mille järel raskuskeskme häguärastamine teiseneb algoritmiks, mida tuntakse hägusa c-keskmistamise nime all. Viimane ühendab agregeerimise ja häguärastamise üheks operatsiooniks ja on seetõttu midagi enamat kui pelgalt häguärastamismeetod [8]. R N r ( p0r + pir xi ) r =1 i =1 y = Y fcm ( F ( y )) = R (45) r r =1 Üheks 2
igapäevasest elust. Käesoleva teema peamiseks eesmärgiks on saada selgeks MUUTUJA mõiste. PROGRAMMEERIMISE MÕISTED Algoritm Lahendades eelmise teema ülesandeid, püüdsite Te kirja panna ülesandes püstitatud eesmärgi saavutamiseks vajaminevaid tegevusi. Kui Te ülesande lahendasite, siis lahendusena oli Teil kirjas enam-vähem täpne tegutsemisjuhend, mida võib nimetada ka selle ülesande lahendamise algoritmiks. ALGORITM on täpne ja üheseltmõistetav eeskiri mingi ülesande lahendamiseks. Programmeerimise algkursus 10 - 89 Kasutades kirjaoskust, on inimkond salvestanud raamatutesse tohutul hulgal igasuguseid eeskirju. Nii on mitmesuguste esemete valmistamisel vaja teada, mida täpselt peab tegema, et vajalikku eset (või ainet) saada. Kõik on kindlasti lugenud mõnda kokaraamatut - võib ju öelda, et need on otsast otsani algoritme täis
tähenduse selgitamiseks sarnaseid olukordi igapäevasest elust. Käesoleva teema peamiseks eesmärgiks on saada selgeks MUUTUJA mõiste. Programmeerimise mõisted Algoritm Lahendades eelmise teema ülesandeid, püüdsite Te kirja panna ülesandes püstitatud eesmärgi saavutamiseks vajaminevaid tegevusi. Kui Te ülesande lahendasite, siis lahendusena oli Teil kirjas enam-vähem täpne tegutsemisjuhend, mida võib nimetada ka selle ülesande lahendamise algoritmiks. ALGORITM on täpne ja üheseltmõistetav eeskiri mingi ülesande lahendamiseks. Kasutades kirjaoskust, on inimkond salvestanud raamatutesse tohutul hulgal igasuguseid eeskirju. Nii on mitmesuguste esemete valmistamisel vaja teada, mida täpselt peab tegema, et vajalikku eset (või ainet) saada. Kõik on kindlasti lugenud mõnda kokaraamatut - võib ju öelda, et need on otsast otsani algoritme täis. Enamusel tänapäeval poes müüdavatel esemetel või seadmetel
Joonis 2.10. Mälust lugemise ajadiagramm Joonis 2.11. Mällu kirjutamise ajadiagramm 2.2.4. Käsu- ja andmevormingud Arvuti töötab programmjuhtimise põhimõttel. Programmeerimine toimub käskudega. Käsk sisaldab informatsiooni selle kohta, missugust tehet tuleb täita. Informatsiooni, mida arvutis töödeldakse, nimetatakse andmeteks. Andmete töötluseeskirja nimetatakse 82 algoritmiks. Algoritmi saab esitada plokk- ja graafskeemina või ka programmina. Käskude jadana esitatud algoritmi nimetatakse programmiks. Programm ja andmed salvestatakse mällu, kus need on protsessorile kergesti kättesaadavad. Arvuti töö seisneb programmi automaatses täitmises. Käsus sisalduv informatsioon on määratud käsuvorminguga. Käsuvormingu peamised osad on tehte- ehk operatsioonikood ja aadressid. Tehtekood näitab, missugust tehet on
mõtleks. Esimesel juhul pärineb õigus riigilt, teisel juhul ühiskonnast; esimest seisukohta toetab õiguspositivism, teist loomuõigus. Kui õiguspositivism käsitleb õigust seadusandja tahtega määratud fenomenina, mis nii tekkelooliselt kui ka olemuslikult on seotud riigi kui legaalse võimu suveräänse subjektiga, siis loomuõigusliku seisukoha järgi on õige olemise algoritmiks objektiivne õigus ja seda niivõrd, kui see on kätketud inimtahtest sõltumata sotsiaalse elu nähtustesse ja suhetesse. Nii saame õiguse tema tekkekohast lähtuvalt liigitada riiklikuks ja ühiskondlikuks õiguseks. Riiklik õigus esineb siis, kui on olemas tsentraalselt juhitud, militaarsele ja poliitilisele võimule toetuv õigusemõistmine ja valitsemine. Riikliku õiguse aluseks on
349 See viis ei ole aga integraalide arvutamiseks kõige efektiivsem ning praeguseks on välja arendatud kümneid algoritme, mis on täpsemad, usaldusväärsemad ja efek- tiivsemad. Näiteks väga mitmemõõtmeliste ja keeruliste funktsioonide puhul osutub vahel integraal kõige paremaks algoritmiks niinimetatud Monte Carlo meetod. Tutvustame seda lihtsa näitega: oletame, et soovime leida väärtuse integraalile Monte Carlo meetodi idee on kasutada niinimetatud geomeetrilist tõenäosust: [lk 402] kui me võtaksime mõne juhusliku arvu ruudust , siis tõe- näosus, et ta jääb funktsiooni graafiku alla, on täpselt võrdne graafiku alla jääva pindala ning kogupindala suhtega