Algoritmide ja andmestruktuuride
Praktikum
Sügis 2009
Koostas: Elli Kopli
Juhendas: Ain Isotamm
Praktikum 2 (14.09.2009)
Ülesanne 1
Koosta programm, mis küsib kasutjalt lause ja siis pöörab selle ümber. Programmi ajaline
keeukus on O(n).
Lahendus
#include
docstxt/128766409089.txt
mittenegatiivne arv ehk kaare kaal. Võrk võib olla orienteeritud või mitteorienteeri- tud. Näide: kaal on sihtpunktide vaheline teepikkus. Kaalutud graafis võib kaal sõltuda suunast. Lühim tee: tee, mille kaarte kogukaal on vähim. Puu (Tree) Puu koosneb lõplikust tippude (sõlmede) hulgast, mis on tühi või mille üks tipp juur on välja eraldatud ja ülejäänud tipud moodustavad mittelõikuva alamhulga, millest igaüks on omakorda puu. Puu on sobiv hierarhiliste andmestruktuuride kirjelda- miseks (näiteks Dos kataloogid). Rakendustes on enimlevinud kahendpuu ehk Bi-puu, kuna järjestatud kahendpuu võimaldab kiiret otsingut, lisamist, eemaldamist. Kahendpuu (Binary tree) Kahendpuu on puu, mille igast tipust (sõlmest) lähtub kuni kaks alampuud. 49 8 52 4 19 52 55 21
tasuta (priivarana). 2. Mis on Linux? Linux on vabavarana levitatav (GNU alla kuuluv) ja avatud lähtekoodiga (Open Source) unixilaadne operatsioonisüsteem. Operatsioonisüsteem on kogumik põhilisi programme ja utiliite, mis on vajalikud arvuti tööks. Operatsioonisüsteemi tuumaks on kernel (programm, mis on kõige aluseks ning mis lubab käivitada teisi programme). 3. Mis on linuxi failisüsteem? Failisüsteem on andmestruktuuride, algoritmide ja tarkvara kogum, mille eesmärk on salvestusseadme peale andmete organiseeritud paigutamine, et need hiljem leitavad ja kättesaadavad oleksid. Failisüsteem määrab failide paiknemise ja struktuuri füüsilisel kettal, seab piirangud failinimedele ja nende suurustele. Failisüsteem võimaldab faile salvestada, kustutada, nimetada, organiseerida, pakkida ning määrata failidele ligipääsuõigusi. 4. Mis on distributsioon?
Protseduurilistes programmeerimiskeeltes kirjeldatakse programmeerimiskeeltes tegevused ja nende täitmise kord ja jagatakse need tegevused gruppidesse (alamprogrammideks). Protseduuridest kujunevad omamoodi koodi struktuurid, mida on võimalik korduvalt kasutada. Funktsionaalsetes programmeerimiskeeltes kirjeldatakse kogu lahendus funktsioonide abil. Objektorienteeritud programmeerimiskeeltes teostatakse lahendus klassides (class) kirjeldatud funktsioonide ja andmestruktuuride abil. Igast klassist on võimalik moodustada objekte, millel on mingi hulk omadusi ja/või meetodeid. Omadused on väärtused, mida objekt suudab hoida ja mis võivad mõjutada objekti käitumist. Näiteks klassi ,,konsooliaken" põhjal saab moodustada objekti ,,konsool1" mis kasutajale paistab lihtsalt ühe konsooliaknana. Sellel objektil on mitmeid omadusi (nähtav, mittenähtav, laius, kõrgus, teksti värv konsooliaknas,
Protseduurilistes programmeerimiskeeltes kirjeldatakse programmeerimiskeeltes tegevused ja nende täitmise kord ja jagatakse need tegevused gruppidesse (alamprogrammideks). Protseduuridest kujunevad omamoodi koodi struktuurid, mida on võimalik korduvalt kasutada. Funktsionaalsetes programmeerimiskeeltes kirjeldatakse kogu lahendus funktsioonide abil. Objektorienteeritud programmeerimiskeeltes teostatakse lahendus klassides (class) kirjeldatud funktsioonide ja andmestruktuuride abil. Igast klassist on võimalik moodustada objekte, millel on mingi hulk omadusi ja/või meetodeid. Omadused on väärtused, mida objekt suudab hoida ja mis võivad mõjutada objekti käitumist. Näiteks klassi ,,konsooliaken" põhjal saab moodustada objekti ,,konsool1" mis kasutajale paistab lihtsalt ühe konsooliaknana. Sellel objektil on mitmeid omadusi (nähtav, mittenähtav, laius, kõrgus, teksti värv konsooliaknas,
Protseduurilistes programmeerimiskeeltes kirjeldatakse programmeerimiskeeltes tegevused ja nende täitmise kord ja jagatakse need tegevused gruppidesse (alamprogrammideks). Protseduuridest kujunevad omamoodi koodi struktuurid, mida on võimalik korduvalt kasutada. Funktsionaalsetes programmeerimiskeeltes kirjeldatakse kogu lahendus funktsioonide abil. Objektorienteeritud programmeerimiskeeltes teostatakse lahendus klassides (class) kirjeldatud funktsioonide ja andmestruktuuride abil. Igast klassist on võimalik moodustada objekte, millel on mingi hulk omadusi ja/või meetodeid. Omadused on väärtused, mida objekt suudab hoida ja mis võivad mõjutada objekti käitumist. Näiteks klassi „konsooliaken” põhjal saab moodustada objekti „konsool1” mis kasutajale paistab lihtsalt ühe konsooliaknana. Sellel objektil on mitmeid omadusi (nähtav, mittenähtav, laius, kõrgus, teksti värv konsooliaknas, taustavärv jne), neid omadusi muutes muutub
dokumentatsiooni osadest. Kitsamalt peetakse tehnilise dokumentatsiooni all silmas dokumente, mis on abiks süsteemi hooldamisel, töös ja ajakohasena hoidmisel (nt kuidas installeerida uuendusi). Dokument kirjeldab tarkvarasüsteemi ülesehitust (koodi ja muude failide loetelu). Võimalik on ka kommenteeritud lähtekood. Seega võib osa tehnilisest dokumentatsioonist paikneda tarkvara enda sees. Lisaks veel andmestruktuuride ja keerulisemate algoritmide kirjeldused, Dokumentatsioon võib sisaldada mitmeid jooniseid, mida saab näiteks esitada modelleerimiskeeles UML. Tehnilise dokumentatsiooni koostamisel võib olla abi spetsiaalsetest dokumendigeneraatoritest. Näiteks oskab selline generaator kokku korjata kõigi moodulis olevate funktsioonide päised ning päisele järgnevad kommentaarid ning moodustada sellest eraldi dokumendi
Koostaja: Hendry Sadrak Juhendaja: Urmas Krusell Taliinn 2013 1. Sisukord Sissejuhatus See referaat sisaldab erinevaid failisüsteeme, kirjeldab nende omadusi ja seletab mis asi on failisüsteem. Failisüsteemi üks tähtsamaid ülesandeid on organiseerida loogilisi faile füüsilisel salvestusseadmel (enamasti kõvaketas). 1. Failisüsteem Failisüsteem on meetodite ja andmestruktuuride kogum, mida operatsioonisüsteem kasutab failide jälgimiseks kettal või sektsioonis; see on failide organiseerimise viis kettal. Selle sõnaga tähistatakse ka sektsiooni või ketast, mida kasutatakse failide või failisüsteemi tüüpide säilitamiseks. Ketta või sektsiooni ja temal paikneva failisüsteemi vahel on oluline erinevus. Mõned programmid (sealhulgas programmid, mis loovad failisüsteeme) töötavad vahetult ketta või
seoseid. SV annab mõistete konteksti ja aitab selgitada valdkonna mõistete tähendust. SV graafiline esitus: - tipud: objektid ja nende omadused - kaared (suunatud): näitab objektidevahelisi seoseid ja objektide seost omadustega NB! Omadused, mis kehtivad objektide kohta, peavad kehtima ka kõigi tema alamobjektide kohta (, mis seotud predikaadi ”on” (”is_a”) kaudu). 7.3 Freimid Freime kasutatakse andmestruktuuride üldistusena, kus struktuur on paljudel andmetel ühine, kuid elemendid on erinevat tüüpi või tüüp on täpsustamata. Freim – abstraktne skelett, milles on vahetatavate elementide tarvis lahtrid (slots). Freimi iga lahter võib olla omakorda freim, kusjuures kõik lahtrite omadused päritakse tema alamfreimide poolt. 7.4 ”If ... then ...” reeglid ekspertsüsteemides Võimaldavad spetsifitseerida põhjus-tagajärg seoseid ning (läbi transitiivsuse)
Tõendab, et sõnum pärineb sõnumi saatjalt ja ei ole muudetud. Vajalik on kolmas osapool, mis väljastab ja verifitseerib digitaalseid sertifikaate. 28. Nimeta erinevaid andmeallikaid organisatsioonis. - Organisatsiooni dokumendid, andmebaasid, töötajate arvamused,avalikud andmebaasid, lingid. blogid, pildid, videod, märkmed. 29. Kirjelda traditsioonilist failisüsteemi. Millised probleemid on traditsioonilisele failisüsteemile omased? - Failisüsteem on andmestruktuuride, algoritmide ja tarkvara kogum, mille eesmärk on salvestusseadme peale andmete organiseeritud paigutamine, et need hiljem leitavad ja kättesaadavad oleksid. Probleemid: informatsiooni keeruline või võimatu erinevate valdkondade vahel vahetada; nimed, aadressid muutuvad, tegevusalad muutuvad; andmekandjad vananevad,erinevad riigiti ja muutuvad ajas. 30. Mis on ja kuidas seostuvad bitt, bait, väli, kirje, tabel ja andmebaas? - Bitt väikseim andmeühik
hargnemistel. V(G) annab haruadekvaatsete testide arvu. Tsüklite testimine- testimisel võib eristada testimist mingi testimiskriteeriumi või – meetodi põhjal. Esimesel juhul koostatakse vajalikke teste valitud meetodite või kriteeriumite põhjal. 25. Andmepõhine testimine, testimine juhuslike andmetega, lisatud vead Andmepõhine testimine- sisendandmed tekitatakse programmi tekstis antud andmestruktuuride alusel. Testi oodatavad väljundid võetakse ülesande püstitusest. Testimine juhuslike andmetega- testimisel kasutatakse sisendandmetena juhuslikke andmeid. Juhuslikult valitud sisendandmed ei taga enamasti piisavat testikatet, kuid juhuslikke andmeid on lihtne automaatselt genereerida. Lisatud vead- ülesanne on prognoosida süsteemi jäänud vigu. Selleks lisab sõltumatu isik süsteemile juhuslikke vigu. Testimise käigus avastatakse nii lisatud kui ka
c b Predict taken branch not taken C ave = a(pt pc)+b(1-pt)(1-pc)+ +c pt(1-pc)+d(1-pt)pc Pinumälu (stack) realiseerimine ja kasutamine protsessoris. Pinumälu - LIFO e. "last in, first out", on mälu poole pöördumis viis, registrisse viimasena kantud andmed saab esimesena välja võtta. Tegemis on protseduuriga, mis tegeleb andmestruktuuride loeteluga, kus järjest kantakse andmeid registrisse, mis uuesti pealt järjest vastavalt vajadusele välja võetakse. Andmete lugemiseks või kirjutamiseks läheb vaja vaid ühte binaarkujul olevat viita arvuti mälupiirkonnale, kust register algab. Piltlikult võib kujutada seda kui protseduuri, kus pabereid lisatakse ühekaupa üksteise otsa ja vastavalt vajadusele võetakse neid sealt ühekaupa. Kui läheb vaja võtta välje 5 element pealt, tuleb esmalt ära tõsta tema peal olnud 4
Intuitiivset laadi veaotsingu juures jääb alles mittesüsteemsete meetodite puudus - testimine kipub olema juhuslikku laadi; eeliseks on tugeva eksperdi puhul head testid ja aja kokkuhoid. Selle meetodi eeldus on kas eksperdi või abivahendite (nt küsimustikkude) olemasolu. Andmepõhine testimine. Ekvivalentsiklasside, piirjuhtude ja veaotsingu ideid saab kasutada ka programmipõhisel testimisel. Sel juhul tekitatakse sisendandmed programmi tekstis antud andmestruktuuride alusel, eristades siingi ekvivalentsiklasse ja piirolukordi. Erinevus funktsionaalsest testimisest on selles, et nüüd võivad nt piirolukorrad tekkida programmis või arenduskeskkonnas antud kitsendustest, nagu massiivi lubatud pikkus, reaalarvu võimalik väärtus vms. Väljundid võetakse, nagu ikka, ülesande püstitusest. Lisatud vead. Meetodi ülesanne on prognoosida süsteemi jäänud vigu. Selleks lisab sõltumatu isik või rühm süsteemile juhuslikke, kuid mitte süntaktilisi vigu
3) ON võimalik saada üle kolme erineva juhitavusega kihi. Metalliseerimine nimetatakse metallikihi pealekandmist pärast seda, kui kõik struktuurid on loodud, sellest kihist moodustatakse elementidevaheline juhtmestik. Erinevate pöördumisviisidega mälud: LIFO, FIFO, assotsiatiivmälu ja kahe pordiga mälu. Pinumälu - LIFO e. "last in, first out", on mälu poole pöördumis viis, registrisse viimasena kantud andmed saab esimesena välja võtta. Tegemis on protseduuriga, mis tegeleb andmestruktuuride loeteluga, kus järjest kantakse andmeid registrisse, mis uuesti pealt järjest vastavalt vajadusele välja võetakse. Andmete lugemiseks või kirjutamiseks läheb vaja vaid ühte binaarkujul olevat viita arvuti mälupiirkonnale, kust register algab. Piltlikult võib kujutada seda kui protseduuri, kus pabereid lisatakse ühekaupa üksteise otsa ja vastavalt vajadusele võetakse neid sealt ühekaupa. Kui läheb vaja võtta välje 5 element pealt, tuleb esmalt ära tõsta tema peal olnud 4
kui ka neg. suunas. Loendussuuna muutmine sõltub sellest, kas ülekandeks kasutatakse trigeri otsest või inverteeritud signaali. Ringloendur - Loendur, mis on moodustatud nihkeregistrist, kui selle väljund ühendada sisendiga. 2. Pinumälu(stack)realiseerimine ja kasutamine protsessoris. Pinumälu – LIFO ehk Last in, first out. On mälu poole pöördumise viis, registrisse viimasena kantud andmed saab esiemsenas välja võtta. Tegemist on protseduuriga, mis tegeleb andmestruktuuride loeteluga, kus järjest kantakse andmed registrisse, mis uuesti pealt järjest vastavalt vajadusele välja võetakse. Andmete lugemiseks või kirjutamiseks läheb vaja vaid ühte binaarkujul olevat viitava arvuti mälupiirkonnale, kust register algab. Piltlikult võib kujutada seda kui protseduuri, kus pabereid lisatakse ühekaupa üksteise otsa ja vastavalt vajadusele võetakse neid sealt ühekaupa. Kui läheb vaja
1. Väärtuse kasutamisel edasiantav väärtus kopeeritakse ja originaal on puutumatu. 2. Aadressi (viida) kasutamisel edastatakse asukoht ja originaali saab protseduuris muuta · Globaalsed muutujad kiire ja mugav, samas võimalikettearvamatud muutmised. Väga hoolikalt dokumenteerida.Mälu kasutus ebaefektiivne, samal ajal ettemääratud. 69. Dünaamiline mälujaotus, kasutamine RAS korral. Dynamic Memory Allocation: · Tihti vaja andmestruktuuride efektiivseks kasutamiseks, katkestuste teenindamisel, lingitud listide korral jne. · Vaja leida kompromiss efektiivsuse, arusaadavuse ja dünaamilise mälujagamise ajakulu vahel. · (Tüüpiline dünaamilise mälujagamise skeem internal fragmentation mäluplokkide suurus ei ole täisarv korda nõutud mälu suurus) 70. Objektide sünkroniseerimise moodused OOP korral. · Synchronized Objects klassikalised sünkroniseerimisemeetodid (mutex) kui vaja kasutada
andmebaasi töö jälgimine ja tagamine. UML (Unified Modeling Language) visuaalne modelleerimiskeel SQL (Structured Query Language) - Teisendustele orienteeritud keel, mis kasutab relatsioone, et teisendada sisend väljundiks . SQL keel on relatsiooniliselt täielik keel, st võimaldab luua kõiki relatsioone, mida saab luua ka relatsioonialgebra abil. SQL võimaldab lisaks veel täiendavaid operatsioone nt. sorteerimine, summeerimine, andmestruktuuride loomine jne. SQL on pärit IBM-st 70-ndate keskel loodud relatsioonilise andmebaasi prototüübist System R. Originaalne SQL keel (SEQUEL2 - Structured English Query Language 2) kirjeldati 1976 a. novembris IBM Journal of R&D. Esimene turule tulnud SQL'i kasutav produkt oli 1979 Oracle Corp. poolt loodud Oracle andmebaasisüsteem. 1987 - ISO (International Organisation for Standardization) SQL standardi esimene versioon 1992 - ISO SQL standardi esimene suurem täiendus. Seda
15. PILET 1. Multipleksor, demultipleksor Vaata 6.1 2. Konveier protsessoris ja mälus. Vaata 1.2 3. Pinumälu (stack) realiseerimine ja kasutamine protsessoris. Pinumälu - LIFO e. "last in, first out", on mälu poole pöördumis viis, registrisse viimasena kantud andmed saab esimesena välja võtta. Tegemis on protseduuriga, mis tegeleb andmestruktuuride loeteluga, kus järjest kantakse andmeid registrisse, mis uuesti pealt järjest vastavalt vajadusele välja võetakse. Andmete lugemiseks või kirjutamiseks läheb vaja vaid ühte binaarkujul olevat viita arvuti mälupiirkonnale, kust register algab. Piltlikult võib kujutada seda kui protseduuri, kus pabereid lisatakse ühekaupa üksteise otsa ja vastavalt vajadusele võetakse neid sealt ühekaupa. Kui läheb vaja võtta välje 5 element pealt, tuleb
vähendada konveieri uuesti käivitamise vajaduse tõenäosust. Pilet 11 1. Multipleksor, demultipleksor - Vaata Pilet6 2. Konveier protsessoris ja mälus - Vaata Pilet1 3. Pinumälu (stack) realiseerimine ja kasutamine protsessoris. Pinumälu (stack) realiseerimine ja kasutamine protsessoris Pinumälu - LIFO e. "last in, first out", on mälu poole pöördumis viis, registrisse viimasena kantud andmed saab esimesena välja võtta. Tegemis on protseduuriga, mis tegeleb andmestruktuuride loeteluga, kus järjest kantakse andmeid registrisse, mis uuesti pealt järjest vastavalt vajadusele välja võetakse. Andmete lugemiseks või kirjutamiseks läheb vaja vaid ühte binaarkujul olevat viita arvuti mälupiirkonnale, kust register algab. Piltlikult võib kujutada seda kui protseduuri, kus pabereid lisatakse ühekaupa üksteise otsa ja vastavalt vajadusele võetakse neid sealt ühekaupa. Kui läheb vaja võtta välje 5 element pealt, tuleb
protsessidele, struktuurprogrammeerimise käigus vaatleme esmajoones funktsioone ja protseduure. Kui on välja selgitatud vajalikud tegevused ja algoritmid, siis teises järjekorras vaatleme nende tegevuste teostamiseks vajaminevaid andmestruktuure. Kogu tarkvara arenguprotsessi käigus ei püstitata nõuet, et andmed ja tegevused nendega oleksid üksüheselt seotud. Piltlikult eksisteerib piir funktsioonide ja protseduuride ning andmestruktuuride vahel, tihti on andmestruktuurid globaalsed ja kõikide alamprogrammide poolt kasutatavad. Struktuurne lähenemine on selle kontseptsioonide defineerimise ajast olnud valitsev kogu maailma tarkvaratööstuses ja isegi uute ideede võidukäigu ajal on leidnud oma kasutusala. Kuigi traditsioonilised struktuursed programmeerimiskeeled on täienenud selleks, et võimaldada OO lähenemist, ei kao sellega veel struktuurprogrammeerimise stiil. See jääb objektide poolt
Otsimine peab toimuma paralleelselt ja otse riistvaras. 3. Siirete (hargnemiste) ennustamine (Branch Prediction). VT I piletit XI 1. Multipleksor, demultipleksor. VT VI piletit 2. Konveier protsessoris ja mälus. VT I piletit 3. Pinumälu (stack) realiseerimine ja kasutamine protsessoris. Pinumälu - LIFO e. “last in, first out”, on mälu poole pöördumis viis, registrisse viimasena kantud andmed saab esimesena välja võtta. Tegemis on protseduuriga, mis tegeleb andmestruktuuride loeteluga, kus järjest kantakse andmeid registrisse, mis uuesti pealt järjest vastavalt vajadusele välja võetakse. Andmete lugemiseks või kirjutamiseks läheb vaja vaid ühte binaarkujul olevat viita arvuti mälupiirkonnale, kust register algab. Piltlikult võib kujutada seda kui protseduuri, kus pabereid lisatakse ühekaupa üksteise otsa ja vastavalt vajadusele võetakse neid sealt ühekaupa. Kui läheb vaja võtta välje 5 element pealt, tuleb
tegevustele ja protsessidele, struktuurprogrammeerimise käigus vaatleme esmajoones funktsioone ja protseduure. Kui on välja selgitatud vajalikud tegevused ja algoritmid, siis teises järjekorras vaatleme nende tegevuste teostamiseks vajaminevaid andmestruktuure. Kogu tarkvara arenguprotsessi käigus ei püstitata nõuet, et andmed ja tegevused nendega oleksid üksüheselt seotud. Piltlikult eksisteerib piir funktsioonide ja protseduuride ning andmestruktuuride vahel, tihti on andmestruktuurid globaalsed ja kõikide 111 / 115 alamprogrammide poolt kasutatavad. Struktuurne lähenemine on selle kontseptsioonide defineerimise ajast olnud valitsev kogu maailma tarkvaratööstuses ja isegi uute ideede võidukäigu ajal on leidnud oma kasutusala. Kuigi traditsioonilised struktuursed programmeerimiskeeled on täienenud selleks, et võimaldada OO lähenemist, ei kao sellega veel struktuurprogrammeerimise stiil
programmeerimiskeel BASIC, kui teie arvuti ROM üldse sisaldab keelt BASIC. Katkestused: 241 - 255 - Neid katkestusi esialgu ei kasutata. Võibolla omistatakse neile mingi tähendus tulevikus. 31. Pinumälu (stack) realiseerimine ja kasutamine protsessoris Pinumälu - LIFO e. "last in, first out", on mälu poole pöördumis viis, registrisse viimasena kantud andmed saab esimesena välja võtta. Tegemis on protseduuriga, mis tegeleb andmestruktuuride loeteluga, kus järjest kantakse andmeid registrisse, mis uuesti pealt järjest vastavalt vajadusele välja võetakse. Andmete lugemiseks või kirjutamiseks läheb vaja vaid ühte binaarkujul olevat viita arvuti mälupiirkonnale, kust register algab. Piltlikult võib kujutada seda kui protseduuri, kus pabereid lisatakse ühekaupa üksteise otsa ja vastavalt vajadusele võetakse neid sealt ühekaupa. Kui läheb vaja võtta välje 5 element pealt, tuleb
Juku
Kati
Mati
*/
Tüübimäärang
Eelkirjeldatud ArrayList on lahke - lubab enesesse panna ja sealt võtta igasugu andmetüüpe.
Mõnikord on see mugav, kuid vähegi pikemate programmide juures võivad kogemata
nimistud sassi minna ja näiteks sünniaasta andmed sattuda näiteks hoopis perekonnanime
kohale. Et programmeerimiskeeltes püütakse vea võimalusi vältida, siis on alates .NET 2.0st
lisatud uus nimeruum System.Collections.Generic, kus kasutatavate andmestruktuuride
juures tuleb kohe algul ära määrata, millist tüüpi andmeid kollektsiooni panna tohib. Ehk siis
tekstiliste andmete hoidmiseks sobib
LinkedList
FAT16(DOS) partitsioonile ja et Linux(EXT_2) suudab lugeda enim erinevaid failisüsteeme. Win 95 võib ka paikneda FAT16 partitsioonil. Vahe on selles, et FAT32 on kiirem ja failid võtavad vähem ruumi, samuti on parandatud mõned olulised FAT16 puudused. Kui kasutada FAT16-t, siis pikad failinimed realiseeruvad VFAT-i kaudu. Sel juhul suudab Linux ka Win 95 partitsiooni lugeda/kirjutada (pikki failinimesid käsitleb ta nagu DOS). Failisüsteem on meetodite ja andmestruktuuride kogum, mida operatsioonisüsteem kasutab failide jälgimiseks kettal või sektsioonis; see on failide organiseerimise viis kettal. Selle sõnaga tähistatakse ka sektsiooni või ketast, mida kasutatakse failide või failisüsteemi tüüpide säilitamiseks. Ketta või sektsiooni ja temal paikneva failisüsteemi vahel on oluline erinevus. Mõned programmid (sealhulgas programmid, mis loovad failisüsteeme) töötavad vahetult ketta või sektsiooni sektoritel ning
Juku
Kati
Mati
*/
Tüübimäärang
Eelkirjeldatud ArrayList on lahke - lubab enesesse panna ja sealt võtta igasugu andmetüüpe.
Mõnikord on see mugav, kuid vähegi pikemate programmide juures võivad kogemata
nimistud sassi minna ja näiteks sünniaasta andmed sattuda näiteks hoopis perekonnanime
kohale. Et programmeerimiskeeltes püütakse vea võimalusi vältida, siis on alates .NET 2.0st
lisatud uus nimeruum System.Collections.Generic, kus kasutatavate andmestruktuuride juures
tuleb kohe algul ära määrata, millist tüüpi andmeid kollektsiooni panna tohib. Ehk siis
tekstiliste andmete hoidmiseks sobib
LinkedList
Juku
Kati
Mati
*/
Tüübimäärang
Eelkirjeldatud ArrayList on lahke - lubab enesesse panna ja sealt võtta igasugu andmetüüpe.
Mõnikord on see mugav, kuid vähegi pikemate programmide juures võivad kogemata nimistud sassi
minna ja näiteks sünniaasta andmed sattuda näiteks hoopis perekonnanime kohale. Et
programmeerimiskeeltes püütakse vea võimalusi vältida, siis on alates .NET 2.0st lisatud uus
nimeruum System.Collections.Generic, kus kasutatavate andmestruktuuride juures tuleb kohe algul
ära määrata, millist tüüpi andmeid kollektsiooni panna tohib. Ehk siis tekstiliste andmete
hoidmiseks sobib
LinkedList