Professional Documents
Culture Documents
Konspektas Kolio
Konspektas Kolio
Informacija – mokslinės, visuomeninės, politinės, techninės žinios, perduodamos vienų asmenų kitiems
žodžiu, raštu arba žiniasklaidos priemonėmis.
Duomenys – formalizuotas informacijos vaizdinys, tinkamas suvokti, perduoti kitiems ir apdoroti. Tai kas
duota, kuo remiamasi darant išvadas arba priimant sprendimus.
Duomenų struktūra – organizuota atskirų elementų ar objektų visuma. Tai duomenų aibė, kuriai
apibrėžtos tam tikros operacijos ir loginiai ryšiai tarp jų.
Algoritmas nusako uždavinio sprendimą. Algoritmas taip pat reiškia tam tikrų taisyklių visumą,
nurodančią, kaip išspręsti uždavinį. Algoritmas – tai aiškiai suformuluota tikslių veiksmų seka, nurodanti
ką ir kaip reikia atlikti norint išspręsti suformuluotą uždavinį.
Duomenys taikymuose įgyja turinį ir formą. Tas pats algoritmas skirtingiems duomenims gali būti visiškai
skirtingai realizuotas.
Apibrėžtumas – algoritmo sprendimo žingsniai, turi būti apibrėžti vienareikšmiškai (negali būti
dviprasmybių) ir vykdomi nustatyta tvarka.
Baigtumas – kompiuterinis uždavinio sprendimas turi būti baigtinis – turi būti aiškiai suformuluota
pabaiga.
Rezultatyvumas – algoritmas turi turėti pradinių duomenų įvedimą taip pat ir rezultatų išvedimą.
Efektyvumas – apdorojimo žingsniai turi būti lengvai suvokiami, lengvai atvaizduojami ir turėti kiek
įmanoma mažesnę realizacijos trukmę.
Universalumas – tokia savybė, kai algoritmas galioja keičiant kiekybinius ar kokybinius parametrus.
Galimybė panaudoti tą patį algoritmą įvairiems pradiniams duomenims.
Tai tokie algoritmai, kuriuose visi veiksmai atliekami nuosekliai vienas po kito be jokių alternatyvų ar
veiksmų grupių kartojimo.
Tai algoritmai, kuriuose yra alternatyvūs sprendimo keliai. Sprendimas pasirenkamas priklausomai nuo
sąlygos – jei sąlyga tenkinama, skaičiuojama vienu būdu, jei ne – kitu būdu.
2. Išanalizuoti, kokie gali būti pradiniai duomenys ir kokie gali būti rezultatai.
Statinės duomenų struktūros - duomenų struktūros, kurių dydis nurodomas iš anksto ir negali keistis
vykdant programą.
Dinaminės duomenų struktūros – tai tokios struktūros, kurių dydis gali keistis vykdant programą.
Masyvas – vieno tipo tolydžiai išdėstytų kintamųjų aibė, kai kintamųjų skaičius iš anksto žinomas, o
kiekvieną kintamąjį galima išrinkti tiesiogiai, naudojant indeksą ar indeksus.
Eilutė – duomenų aibė, kuriai apibrėžtos tokios operacijos: inicializuoti eilutę; įterpti elementą į eilutę;
pašalinti elementą iš eilutės; skaityti elementą; panaikinti eilutę.
Dekas – duomenų aibė, kuriai apibrėžtos tokios operacijos: inicializuoti deką; įterpti elementą į deko
pradžią arba pabaigą; pašalinti elementą iš deko pradžios arba pabaigos; skaityti deko elementą nuo
pradžios arba pabaigos; panaikinti deką.
Tiesinis sąrašas – tai duomenų aibė, kuriai taikomos tokios operacijos: inicializuoti sąrašą; įterpti
elementą į tam tikrą sąrašo vietą; įterpti elemantą tenkinant nurodytas sąlygas; pašalinti iš sąrašo
elementą, esantį tam tikroje vietoje; pašalinti iš sąrašo elementą tenkinantį nurodytas sąlygas; skaityti
nurodytą sąrašo elementą; panaikinti sąrašą.
Tiesinio sąrašo kiekvienas elementas susideda iš dviejų dalių – informacinės dalies ir rodyklės.
Loginiai apribojimai gali būti taikomi tik sąrašo elementams, bet ne visam sąrašui.
Sąrašas yra dinaminė duomenų struktūra, t. y. jam išskiriama tiek atminties, kiek elementų yra jo sąraše.
Vienkryptis tiesinis – tai sąrašas, kurio kiekvienas elementas „žino“, koks elementas yra po jo.
Dvikryptis tiesinis – tai sąrašas, kurio kiekvienas elementas ne tik „žino“, koks elementas yra po jo, bet ir
„žino“, koks elementas yra prieš jį.
Ciklinis vienkryptis sąrašas – tai sąrašas, kurio paskutinis elementas rodo į pirmąjį.
Ciklinis dvikryptis – tai dvikryptis sąrašas, kurio paskutinio elemento rodyklė rodo į pirmąjį elementą, o
pirmojo į paskutinį.
Medis – hierarchinė duomenų struktūra, kurioje: į kiekvieną elementą, išskyrus vieną, vadinamą medžio
šaknimi, yra tik vienintelė nuoroda iš kito elemento; iš kiekvieno elemento gali būti viena arba daugiau
nuorodų į kitus elementus; iš šaknies einant nuorodomis galima pasiekti visus kitus elementus.
Lapas arba išorinė viršūnė – viršūnė iš kurios nėra nuorodų į kitas viršūnes.
Dvejetainis medis – medis, kurio kiekviena viršūnė turi ne daugiau kaip du vaikus.
Pinasis dvejetainis medis – toks medis, kuriame kiekviena viršūnė turi du vaikus arba yra lapas.
Subalansuotas dvejetainis medis – toks medis, kuriame viršūnės pildomos iš kairės į dešinę tol, kol
užpildomas visas lygis ir tik tuomet pereinama į sekantį lygį.
27. Kokios yra dvejetainio medžio apėjimo taisyklės ir kaip jos atliekamos?
VKD (tiesioginis): aplankyti viršūnę; apeiti kairįjį pomedį; apeiti dešinįjį pomedį.
KVD (vidinis): apeiti kairįjį pomedį; aplankyti viršūnę; apeiti dešinįjį pomedį.
KDV (atvirkštinis): apeiti kairįjį pomedį; apeiti dešinįjį pomedį; aplankyti viršūnę.
Duomenų krūva – tai subalansuotas dvejetainis medis, t.y. toks medis, kuriame viršūnės pildomos iš
kairės į dešinę tol, kol užpildomas visas lygis ir tik tuomet pereinama į sekantį lygį.
Kiekvienai viršūnei patenkinama sąlyga: tėvo reikšmės turi būti didesnės (arba mažesnės) už jo vaikų
reikšmes.
Piramidės struktūros dvejetainis medis, saugomas vienmačiame masyve, kuriame nuorodos nukreiptos
iš tėvo į vaikus.
Jeigu medžio šaknyje yra didžiausias elementas, tai turime piramidę maksimum. Jeigu medžio šaknyje
yra mažiausias elementas, tai turime piramidę minimum.
1. Patikrinti viršūnę.
2. Jei įterpiama reikšmė lygi viršūnės reikšmei, baigti darbą, nes „tokia reikšmė jau yra“.
3. Jei įterpiama reikšmė mažesnė už viršūnės reikšmę: jei kairysis pomedis netuščias, pereiti į jį ir kartoti
nuo 1-o žingsnio; jei kairysis pomedis tuščias, sukurti jame naują viršūnę su įterpiamais duomenimis.
4. Jei įterpiama reikšmė didesnė už viršūnės reikšmę: jei dešinysis pomedis netuščias, pereiti į jį ir kartoti
nuo 1-o žingsnio; jei dešinysis pomedis tuščias, sukurti jame naują viršūnę su įterpiamais duomenimis.
1. Patikrinti viršūnę.
2. Jei ieškoma reikšmė lygi viršūnės reikšmei, baigti darbą „reikšmė rasta“.
3. Jei ieškoma reikšmė mažesnė už viršūnės reikšmę, pereiti į kairįjį pomedį ir kartoti nuo 1-o žingsnio (jei
jis tuščias, baigti darbą „reikšmė nerasta“).
4. Jei ieškoma reikšmė didesnė už viršūnės reikšmę, pereiti į dešinįjį pomedį ir kartoti nuo 1-o žingsnio
(jei jis tuščias, baigti darbą „reikšmė nerasta“).
Tiesinės duomenų struktūros (masyvas, stekas, eilutė ir dekas) yra vienmatės – vienas duomuo seka po
kito.
Išrinkimo metodas yra tiesinis: norimas elementas pasiekiamas nuosekliai einant nuo vieno elemento
prie kito.
Duomenų mazgas – tai duomuo, kuris yra tam tikras atributas, turintis savo reikšmę. Tokie duomenys –
mazgai nėra savarankiški, jie yra susaistyti su kitais duomenimis. Turėdami keletą mazgų duomenų
struktūroje, ją galime traktuoti kaip tam tikrą duomenų matricą.
Pagal formulę:
35. Dvejetainių medžių dėstymas kompiuterio atmintyje.
Medžio viršūnių elementai surašomi į įrašus su nuorodomis. Nuorodos nukreiptos iš tėvo viršūnės į
vaikus. Nuorodų skaičius įraše turi būti lygus didžiausiam medžio viršūnių vaikų skaičiui. Jei medis
dvejetainis, tai užtenka dviejų nuorodų: kairė (k) ir dešinė (d).
Vieną atskirą elementą turi sudaryti informacinė dalis ir dvi rodyklės, nurodančios į vaikus:
N – viršūnių skaičius
Bet kuriam n-tainiam medžiui naudoti įrašus tik su dviem nuorodomis. Nuorodos turi būti
interpretuojamos taip: kairioji nuoroda identifikuoja viršūnės kairįjį sūnų, dešinioji nuoroda rodo
viršūnės dešinįjį brolį.
Trečias medžio struktūros dėstymo būdas – rekursyvūs medžiai. Naudojamas tada, kai algoritme reikia
dažniausiai naudoti nuorodas iš sūnų į jų tėvus. Medžio viršūnės sunumeruojamos pagal lygius ir
išdėstomos vienmačiame masyve.
Masyvo indeksai turi atitikti viršūnių numerius. Masyvo elementų reikšmės turi būti nurodomos į tėvo
numerį. Toks medžio organizavimas įgalina labai greitai „vaikščioti“ medžio šakomis nuo sūnų prie tėvų ir
nuo vienos viršūnės prie kitos.