-
Algoritmi. Palīgmateriāls
Naturāli un veseli skaitļi, simboli un loģiskās vērtības ir kārtas tipi (ordinal), jo šo tipu vērtības var sanumurēt.
Dažas programmēšanas valodas ļauj precizēt vērtību apgabalu, definējot tādus tipus, kā uzskaitījumi un diapazoni. Piemēram:
Type TDay=(Sun, Mon, Tue, Wed, Thu, Fri, Sat); - uzskaitījums (Pascal),
Type TMark=1..10; - diapazons (Pascal),
enum TDay {Sun, Mon, Tue, Wed, Thu, Fri, Sat}; - uzskaitījums (C++ ).
Uzskaitījumi un diapazoni arī ir kārtas tipi.
1.1.2. Salikti (speciāli) un strukturēti tipi. Pamatojoties uz pamattipiem, var konstruēt saliktus un strukturētus datu tipus.
Salikti (speciāli) tipi ir iebūvēti programmēšanas valodā; tie parasti apvieno vairākus pamattipa elementus; tiem definētas atbilstošas operācijas, funkcijas un procedūras. Parasti pie saliktiem tipiem pieder:
• Simbolu virkne (simbolu masīvs + funkcionalitāte: apakšvirkņu meklēšana, dzēšana, iestarpināšana, apvienošana; virknes pārveidošana skaitlī un atpakaļ),
• Fails (nosaukums un atribūti, rādītāji uz elementiem + funkcionalitāte: atvēršana, aizvēršana, datu ierakstīšana, lasīšana, dzēšana),
• Rādītājs, ...
Strukturētus tipus definē programmētājs, izmantojot attiecīgas programmēšanas valodas iespējas; programmētājs var norādīt datu tipus un skaitu. Piemēri:
• Masīvs (apvieno viena tipa datus, piemēram: veselu skaitļu masīvs, simbolu virkņu masīvs, ierakstu masīvs...),
• Ieraksts jeb struktūra (apvieno dažādu tipu datus, piemēram: vārds uzvārds - adrese - tālrunis - alga),
• Objekts jeb klase (apvieno datus un to apstrādes metodes, piemēram: robota koordinātes, metodes: sper soli pa labi, sper soli pa kreisi, paņem naudu...),
• Saraksts, rinda, steks, koks, grafs, kopa...
1.1.3*. Citi jēdzieni.
- Abstraktais datu tips ir matemātiskais datu modelis, ieskaitot operāciju kopumu.
Abstraktie datu tipi nav saistīti ar kādu konkrētu programmēšanas valodu; abstraktus tipus izmanto algoritmu aprakstos pseidoalgoritmiskajās valodās.
Abstraktā tipa realizācijai konkrētā programmēšanas valodā izmanto piemērotu datu struktūru, pievienojot tai atbilstošo funkcionalitāti. Vienu un to pašu abstraktu tipu var realizēt, izmantojot dažādas struktūras.
Piemēram, abstrakto datu tipu kopa var realizēt, pamatojoties uz datu struktūru masīvs, definējot tam apvienošanas, šķēluma un citas operācijas. Var izveidot kopu arī uz dinamiskā saraksta pamata. Var uzbūvēt kopu-objektu. Valodā Pascal piedāvā gatavu konstrukciju darbam ap kopām - Set.
- Statiskie datu tipi. Statiskiem datu tipiem tiek uzreiz iedalīts konkrēts pastāvīgs atmiņas apjoms. Pamattipi, masīvi un ieraksti parasti ir statiski datu tipi.
- Dinamiskie datu tipi. Dažas struktūras var mainīt elementu skaitu programmas izpildes laikā. Šādos gadījumos atmiņa jāizdala un jāatbrīvo dinamiski. Saraksti un koki parasti tiek realizēti kā dinamiski datu tipi.
- Polimorfi datu tipi. Polimorfā datu tipa funkcionalitāte nav atkarīga no datu tipiem un to skaita struktūrā. Piemēram, polimorfiskais steks var strādāt kā ar skaitļiem, tā arī ar simbolu virknēm, ar zīmējumiem utt.
Polimorfos datu tipus var realizēt, piemēram, izmantojot šablonu mehānismu C++ valodā; kaut ko varētu panākt arī citās valodās ar rādītāju palīdzību.
Borland C++ Builder bibliotēka STL atbalsta praktiski visus abstraktus datu tipus (rindas, stekus, sarakstus, kokus, kopas, attēlojumus utt. - C++ valodā tos sauc par konteineru klasēm); bez tam bibliotēkā STL ir realizēti ļoti daudzi standarta algoritmi.
- Atkarībā no tā, vai var vērsties pie struktūras elementiem ar indeksu, tās iedala divās lielās grupās: struktūras ar tiešu pieeju elementiem un struktūras ar secīgu pieeju elementiem. Piemēram, masīvi viennozīmīgi ir struktūras ar tiešu pieeju, bet faili un dinamiskie saraksti parasti ir struktūras ar secīgu pieeju.
…
Palīgmateriāls studējot algoritmus. Praktiskie uzdevumi.
- Algoritmi. Palīgmateriāls
- Specsemināra "Algebra, algoritmu teorija un kriptogrāfija" kopsavilkums
- Vektoriālā formā attēlots pašorganizējošs saraksts
-
You can quickly add any paper to your favourite. Cool!Specsemināra "Algebra, algoritmu teorija un kriptogrāfija" kopsavilkums
Summaries, Notes for university4
-
Mākslīgā intelekta pamati
Summaries, Notes for university14
-
Neironu tīkli un to izmantošana (1.daļa)
Summaries, Notes for university11
-
Grafu teorija
Summaries, Notes for university10
-
Informātika
Summaries, Notes for university27