Odlomak

 

Algoritam je u matematiku uveo persijski matematičar Muhamed Al Horezmi. Napisao je knjigu Al Horezmi o indijskoj veštini računanja gde u arapsku matematiku uvodi indijske cifre i decimalni brojni sistem. Ova knjiga biva kasnije prevedena na latinski kao Algoritmi de numero indorum. Od lošeg latinskog prevoda njegovog prezimena i potiče reč algoritam, i dugo je označavala postupak za račun sa decimalnim brojnim sistemom (i indijskim odnosno, kako se kasnije pričalo, arapskim ciframa). Algoritam predstavlja šematski prikazano, postupno rešavanje nekog problema, toka nekog procesa ili izrade nekog predmeta.
Prvi algoritam je napisala Ejda Bajron 1842. godine. U pitanju je algoritam za račun Bernulijevih brojeva na analitičkoj mašini Čarlsa Bebidža. Ta mašina nikad nije proradila, ali je njen algoritam ostavio dubok trag. Danas se priznaje kao prvi računarski algoritam, a Ejda je priznata kao prvi programer u istoriji. U njenu čast je i jedan od najkompleksnijih programskih jezika dobio naziv Ada.
Značajan napredak u formalizaciji uvođenja algoritma u matematiku i logiku je učinio Alan Tjuring u svojim radovima definisanjem Tjuringove mašine. To je primitivan automat, ali poseduje mogućnost izvođenja nekoliko operacija koje su dovoljne za izvođenje skoro svih algoritama. Čerč-Tjuringova teza tvrdi da se svaki algoritam koji je dobro definisan može izvršiti na takvoj mašini.
U novije vreme, algoritam je pojam koji se gotovo isključivo vezuje za informatiku i, mada ne postoji jedinstvena opšteprihvaćena definicija, podrazumeva se da je u pitanju nekako opisana procedura za obavljanje posla. U tu svrhu se definišu algoritamski jezici. To su formalizovani jezici kojima se relativno lako opisuju postupci rešavanja problema predstavljenih algoritmom.
Fundamentalni predmet izučavanja u računarstvu su strukture podataka i algoritmi koji ih obrađuju. To je posledica činjenice da se rad većine računarskih sistema svodi na smeštanje podataka u memoriju računara i manipulisanje podacima iz memorije.
U računarstvu se susrećemo sa dva osnovna pojma:
– strukture podataka – “statički” aspekt nekog programa. Ono sa čime se radi.
– algoritmi – “dinamički” aspekt programa. Ono šta se radi.

U najopštijem smislu, termin struktura podataka koristi se za način organizacije određenih podataka u programu, a termin algoritam za postupak obrade podataka. Strukture podataka i algoritmi su međusobno tesno povezani gradivni elementi od kojih se sastoje programski sistemi. Strukture podataka i algoritmi su u nerazdvojnoj vezi: nemoguće je govoriti o jednom, a da se ne spomene drugo.
Podaci

Manipulisanje podacima je glavna svrha rada softverskih sistema i zato je neophodno razjasniti sam pojam podataka. U ovom kontekstu se često koriste termini „tip podataka“, „apstraktni tip podataka“ i „struktura podataka“.

Tip podataka – podrazumeva skup nekih vrednosti koje neki podatak može poprimiti zajedno sa skupom operacija koje su dozvoljene nad tim vrednostima. Tako logički tip podataka sadrži samo dve vrednosti true i false, a dozvoljene operacije nad njima su uobičajene operacije negacije, konjukcije, disjunkcije i tako dalje.
Apstraktni tip podataka (a.t.p.) – rezultat su primene principa apstrakcije u računarstvu. Rešavanje složenog problema ne može se sprovesti bez podele takvog problema na manje celine koje se mogu nezavisno rešavati. Pored dekompozicije potrebno je zanemariti mnogobrojne nevažne detalje koji ne utiču na celokupno rešenje. Ovim pristupom apstrakcije problema se znatno smanjuje složenost razvoja i održavanja velikih softverskih sistema. Apstrakcija problema obično ima dva aspekta:
– proceduralnu apstrakciju – kojom se obezbeđuju razdvajanje onoga što neki modul radi od programskog načina na koji se ta funkcionalnost postiže. Apstrakcija problema omogućava postupan pristup rešavanju složenog problema.
– apstrakcija podataka – podrazumeva logički opis kako kolekcije podataka tako i operacija koje se mogu primeniti nad tim podacima. Apstrakcija omogućava programeru da se skoncentriše samo na to kako se podaci koriste radi rešenja konkretnog problema.

Implementacija apstraktnog tipa podataka – konkretna realizacija dotičnog apstraktnog tipa podataka u nekom programu. Sastoji se od definicije za strukturu podataka (kojom se prikazuju podaci iz apstraktnog tipa podataka) te od podprograma (kojima se operacije iz apstraktnog tipa podataka ostvaruju pomoću odabranih algoritama). Za isti apstraktni tip podataka obično se može smisliti više različitih implementacija – one se razlikuju po tome što koriste različite strukture za prikaz podataka te različite algoritme za izvršavanje operacija.

 

No votes yet.
Please wait…

Prijavi se

Detalji dokumenta

  • 15 stranica
  • Algoritmi i strukture podataka prof. dr. Lars Goran Joakim Lindblad
  • Školska godina: prof. dr. Lars Goran Joakim Lindblad
  • Seminarski radovi, Skripte, Informacione tehnologije
  • Srbija,  Novi Sad,  UNIVERZITET PRIVREDNA AKADEMIJA - Fakultet za ekonomiju i inženjerski menadžment FIMEK, u Novom Sadu  

Više u Informacione tehnologije

Više u Seminarski radovi

Više u Skripte

Komentari