Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Greške
  • Gotovi algoritmi. Vrste algoritama u računarstvu: primjeri

Gotovi algoritmi. Vrste algoritama u računarstvu: primjeri

Delphi - Gotovi algoritmi - Stevens R. - 2004.

Programiranje je uvijek bio prilično težak zadatak. Ova knjiga će vam pomoći da lako prevaziđete poteškoće koje nastaju uz pomoć biblioteke moćnih algoritama, u potpunosti implementiranih u izvorni kod Delphi. Naučit ćete kako odabrati metodu najprikladniju za rješavanje određenog problema i kako to postići maksimalne performanse vašu prijavu. Razmatraju se tipični i najgori slučajevi implementacije algoritama, koji će vam omogućiti da ih prepoznate na vrijeme moguće poteškoće i, ako je potrebno, prepisati ili zamijeniti dio programa. Detaljno opisano bitnih elemenata algoritmi za skladištenje i obradu podataka (liste, stekovi, redovi, stabla, sortiranje, pretraživanje, heširanje, itd.). Predstavljena su ne samo tradicionalna rješenja, već i metode zasnovane na najnovijim dostignućima objektno orijentiranog programiranja.
Knjiga je namenjena Delphi programerima početnicima, ali će zahvaljujući jasnom strukturisanju materijala i bogatoj biblioteci gotovih algoritama biti interesantna i specijalistima.

Uvod.
Poglavlje 1. Osnovni koncepti
Šta su algoritmi?
Analiza brzine izvršavanja, algoritmi
Memorija ili vrijeme.
Procjena do reda veličine
Definicija složenosti.
Složenost rekurzivni algoritmi
Prosječan i najgori slučaj.
Funkcije procjene opće složenosti.
Logaritmi
Brzina algoritma realnim uslovima
Pristup swap fajlu.
Sažetak.
Poglavlje 2. Liste
Osnovni pojmovi o listama.
Jednostavne liste.
Promjena veličine nizova.
Lista varijabilnih veličina
SimpleList klasa.
Neuređene liste.
Povezane liste.
Dodavanje elemenata.
Uklanjanje elemenata.
Poglavlje 3. Stogovi i redovi
Stacks.
Stacks on povezane liste.
Redovi
Ciklični redovi.
Redovi na osnovu povezanih lista.
Prioritetni redovi
Višenitni redovi.
Sažetak.
Poglavlje 4. Nizovi
Triangularni nizovi
Dijagonalni elementi
Nepravilni nizovi
Linearni prikaz sa pokazivačem.
Nepravilne povezane liste.
Dinamički Delphi nizovi.
Retki nizovi.
Indeksiranje niza
Veoma retki nizovi.
Sažetak.
Poglavlje 5. Rekurzija
Šta je rekurzija
Rekurzivno izračunavanje faktorijala Analiza složenosti
Rekurzivno izračunavanje
najveći zajednički djelitelj
Analiza složenosti.
Rekurzivno izračunavanje Fibonačijevih brojeva
Analiza složenosti.
Rekurzivna konstrukcija Hilbertovih krivulja
Analiza složenosti.
Rekurzivna konstrukcija krivulja Sierpinskog.
Analiza složenosti
Nedostaci rekurzije.
Beskonačna rekurzija
Gubitak memorije
Nerazumna upotreba rekurzije.
Kada koristiti rekurziju.
Uklanjanje rep rekurzije
Nerekurzivno izračunavanje Fibonačijevih brojeva.
Eliminacija rekurzije u opšti slučaj.
Nerekurzivno generiranje Hilbertovih krivulja.
Nerekurzivna konstrukcija Sierpinskog krivulja Sažetak.
Poglavlje 6. Drveće
Definicije
Predstave stabla.
Puni čvorovi
Liste podređenih čvorova
Predstavljanje numeracijom priključaka.
Puna stabla
Prelazak stabla.
Naručeno drveće
Dodavanje elemenata.
Uklanjanje elemenata.
Obilazak uređenih stabala
Drveće sa vezama
Karakteristike rada.
Q-stabla.
Promjena vrijednosti MAXQTREENODES
Oktalna stabla.
Sažetak.
Poglavlje 7. Balansirana stabla
Balansiranje.
AVL stabla
Dodavanje čvorova u AVL stablo.
Uklanjanje čvorova iz AVL stabla.
B-stabla.
Performanse B-stabla.
Uklanjanje elemenata sa B-stabla
Dodavanje elemenata B-stablu
Sorte B-stabla.
Poboljšanje B-stabala.
Problemi s pristupom disku
B+tree baza podataka
Sažetak.
Poglavlje 8. Stabla odluka
Traži u stablima divljači
Minimax pretraga
Optimiziranje pretrage u stablima odluka
Traži nestandardna rješenja
Grane i granice.
Heuristički.
Složeni zadaci
Problem izvodljivosti.
Problem sa particijom
Hamiltonov problem traženja puta.
Problem sa trgovačkim putnicima
Problem vatrogasne stanice.
kratak opis složeni zadaci
Sažetak
Poglavlje 9 Sortiranje
Opšti principi.
Indeksne tabele.
Spajanje i kompresija ključeva.
Primjer programa
Sortiranje po izboru
Miješanje
Sortiranje umetanjem
Umetanje u povezane liste
Bubble sort
Brzo sortiranje
Sortiranje spajanjem.
Vrsta piramide.
Piramide.
Prioritetni redovi.
Heapsort algoritam
Sortiranje brojanjem.
Blok sortiranje
Blokiraj sortiranje koristeći povezane liste
Sažetak
Poglavlje 10. Traži
Primjeri programa
Kompletna pretraga
Iteracija preko sortiranih lista.
Petljanje kroz povezane liste
Binarno pretraživanje.
Interpolacijsko pretraživanje.
String podaci.
Tracking Search
Binarno praćenje i pretraživanje
Interpolativno traženje praćenja.
Sažetak.
Poglavlje 11. Hashing
Uvezivanje.
Prednosti i nedostaci lijepljenja
Blokovi.
Pohranjivanje hash tablica na disk.
Povezivanje blokova.
Uklanjanje elemenata.
Prednosti i nedostaci korištenja otvorenih blokova adresiranja
Linearna provera.
Kvadratna provjera
Pseudo-slučajna provjera
Uklanjanje elemenata.
Sažetak.
Poglavlje 12. Mrežni algoritmi
Definicije
Mrežni prikazi
Upravljanje čvorovima i vezama
Network Bypass
Najmanji okvir za drvo,
Najkraći put
Postavljanje oznaka.
Ispravka oznaka
Opcije za pronalaženje najkraćeg puta.
Primjena algoritama za pronalaženje najkraćeg puta.
Maksimalni protok
Područja primjene.
Sažetak
Poglavlje 13. Objektno orijentisane metode.
Prednosti OOP-a.
Enkapsulacija.
Polimorfizam
Ponovna upotreba i nasljeđivanje
OOP paradigme.
Kontrolni objekti
Kontrolni objekat
Iterator.
Prijateljska klasa.
Interface
Fasada
Fabrika.
Jedini objekat
Serijalizacija
Sažetak modela/pregleda/kontrolera paradigme.
Dodatak 1. Arhiva primjera
Sadržaj arhive sa primjerima
Hardverski zahtjevi
Pokretanje primjera programa
Korisničke informacije i podrška
Dodatak 2. Lista primjera programa
Predmetni indeks

Besplatno preuzimanje e-knjiga V pogodan format, gledajte i čitajte:
Preuzmite knjigu Delphi - Gotovi algoritmi - Stevens R. - fileskachat.com, brzo i besplatno.

Preuzmite djvu
Ovu knjigu možete kupiti ispod najbolja cijena na popustu uz dostavu po celoj Rusiji.


Visual basic. Gotovi algoritmi- Knjiga opisuje važne koncepte programiranja koji se mogu uspješno primijeniti u rješavanju mnogih problema. praktični problemi. Predloženi algoritmi koriste moćne tehnike kao što su rekurzija, particioniranje, dinamička alokacija memorije i umrežene strukture podataka kako bi vam pomogli da kreirate fleksibilne i složene aplikacije.
Detaljno razmotreno najvažnijih koncepata teorije algoritama i obrade podataka (liste, stekovi, redovi, stabla, sortiranje, pretraživanje, heširanje, itd.).
Knjiga sadrži veliki broj primjere koje možete koristiti u sopstvene aplikacije bilo bez izmjena, ili modificiranjem po vlastitom nahođenju.
Dizajniran prvenstveno za iskusni korisnici Visual Basic, ali će zahvaljujući pristupačnosti prezentacije i bogatoj biblioteci gotovih algoritama biti od interesa i za programere početnike.

ime: Visual basic. Gotovi algoritmi (+ primjeri)
Stevens R.
Izdavač: DKM Press
godina: 2000
Stranice: 377
Format: DJVU
veličina: 20,3 MB
ISBN: 5-94074-001-4
kvaliteta: Odlično
Serija ili izdanje: Za programere

Uvod
Poglavlje 1. Osnovni koncepti
Šta je algoritam
Analiza brzine izvršavanja algoritma
Resursi i vrijeme
Procjena do reda veličine
Pronalaženje problematičnih dijelova algoritma
Složenost rekurzivnih algoritama
Najgori slučaj i prosečan slučaj
Funkcije evaluacije naloga poteškoće
Logaritmi
Brzina algoritma u realnim uslovima
Pristup swap fajlu
Pseudopokazivači, reference objekata i kolekcije
Sažetak
Poglavlje 2. Liste
Ključna pitanja poglavlja
Jednostavne liste
Zbirke
Lista varijabilnih veličina
SimpleList klasa
Neuređene liste
Povezane liste
Dodavanje elemenata
Uklanjanje stavki
Uništavanje povezane liste
Signalne oznake
Enkapsulacija povezane liste
Pristup ćeliji
Vrste povezanih lista
Kružne povezane liste
Problem kružne veze
Dvostruko povezane liste
Streams
Druge povezane strukture
Pseudo pokazivači
Sažetak
Poglavlje 3 – Stogovi i redovi
Stacks
Multiple Stacks
Redovi
Kružni redovi
Redovi na osnovu povezanih lista
Korištenje kolekcija kao redova čekanja
Prioritetni redovi
Višenitni redovi
Sažetak
Poglavlje 4. Nizovi
Triangularni nizovi
Dijagonalni elementi
Nepravilni nizovi
Linearni prikaz sa pokazivačima
Nepravilne povezane liste
Sparse Arrays
Indeksiranje niza
Vrlo rijetki nizovi
Sažetak
Poglavlje 5. Rekurzija
Šta je rekurzija
Rekurzivno izračunavanje faktorijala
Rekurzivno izračunavanje najvećeg zajedničkog djelitelja
Analiza vremena izvršavanja programa
Rekurzivno izračunavanje Fibonačijevih brojeva
Analiza vremena izvršavanja programa
Rekurzivna konstrukcija Hilbertovih krivulja
Analiza vremena izvršavanja programa
Rekurzivna konstrukcija krivulja Sierpinskog
Analiza vremena izvršavanja programa
Nedostaci rekurzije
Beskonačna rekurzija
Gubitak memorije
Nerazumna upotreba rekurzije
Kada koristiti rekurziju
Rep rekurzija
Nerekurzivno izračunavanje Fibonačijevih brojeva
Eliminacija rekurzije općenito
Nerekurzivna konstrukcija Hilbertovih krivulja
Nerekurzivna konstrukcija krivulja Sierpinskog
Sažetak
Poglavlje 6. Drveće
Osnovni pojmovi
Tree views
Puni čvorovi
Spiskovi potomaka
Predstavljanje numeracijom priključaka
Puna stabla
Prelazak stabla
Naručeno drveće
Dodavanje elemenata
Uklanjanje stavki
Obilazak uređenih stabala
Drveće sa vezama
Karakteristike rada
Q-stabla
Promjena broja elemenata u čvoru
Korištenje pseudo pokazivača
Oktalna stabla
Sažetak
Poglavlje 7. Balansirana stabla
Stablo stabla
AVL stabla
Dodavanje čvora
Brisanje čvora
B-stabla
Performanse B-stabla
Umetanje elemenata
Uklanjanje stavki
Vrste B-stabala
Povećanje performansi B-stabala
Balansiranje
Problemi vezani za pristup disku
B+tree baza podataka
Sažetak
Poglavlje 8. Stabla odlučivanja
Traži u stablima divljači
Minimax pretraga
Optimizacija pretrage
Tražite nestandardna rješenja
Metoda grananja i veza
Heuristika
Složeni zadaci
Problem zadovoljivosti
Problem sa particijom
Problem Hamiltonove putanje
Problem sa trgovačkim putnicima
Problem vatrogasne stanice
Kratak opis složenih problema
Sažetak
Poglavlje 9. Sortiranje
Opšti principi
Indeksne tabele
Spajanje i kompresija ključeva
Primjeri programa
Sortiranje po izboru
Miješanje
Sortiranje umetanjem
Umetanje u povezane liste
Bubble sort
Brzo sortiranje
Sortiranje spajanjem
Sortiranje gomile
Piramide
Prioritetni redovi
Heapsort algoritam
Brojanje sorti
Blok sortiranje
Blokiraj sortiranje pomoću povezane liste
Sortiranje blokova na osnovu niza
Sažetak
Poglavlje 10. Pretraga
Primjeri programa
Pretražite metodom iscrpnog pretraživanja
Traži po poređanim listama
Pretražite povezane liste
Binarno pretraživanje
Interpolation Search
String podaci
Tracking Search
Interpolacijsko praćenje pretraživanja
Sažetak
Poglavlje 11. Haširanje
Uvezivanje
Prednosti i nedostaci lijepljenja
Blokovi
Pohranjivanje hash tablica na disk
Povezivanje blokova
Uklanjanje stavki
Prednosti i nedostaci korištenja blokova
Otvoreno adresiranje
Linearna provera
Kvadratna provjera
Pseudo-slučajna provjera
Uklanjanje stavki
Sažetak
Poglavlje 12. Mrežni algoritmi
Osnovni pojmovi
Mrežni prikazi
Operativni čvorovi i veze
Mreža puzi
Najmanji okvir za drvo
Najkraći put
Postavljanje oznaka
Ispravka oznaka
Opcije za pronalaženje najkraće rute
Aplikacije koje koriste metod traženja najkraće rute
Maksimalni protok
Područja primjene
Sažetak
Poglavlje 13. Objektno orijentisane metode
Prednosti OOP-a
Enkapsulacija
Polimorfizam
Nasljeđe i ponovo koristiti
Paradigme OOP-a
Kontrolni objekti
Kontrolni objekat
Iterator
Prijateljska klasa
Interface
Fasada
Generiranje objekta
Jedini objekat
Serijalizacija
Paradigmski model/Pregled/Kontroler
Sažetak
Dodatak 1. Arhiva sa primjerima
Dodatak 2. Lista primjera programa
Abecedni indeks

Preuzmite Visual Basic. Gotovi algoritmi (+ primjeri)

Prilikom izučavanja informatike velika pažnja se poklanja proučavanju algoritama i njihovih vrsta. Bez poznavanja osnovnih informacija o njima, ne možete napisati program ili analizirati njegov rad. Proučavanje algoritama počinje u školski kurs računarska nauka. Danas ćemo pogledati koncept algoritma, svojstva algoritma, vrste.

Koncept

Algoritam je određeni niz radnji koje dovode do postizanja određenog rezultata. Prilikom sastavljanja algoritma svaka radnja izvođača je detaljno propisana, što će ga naknadno dovesti do rješavanja zadatka.

Vrlo često se algoritmi koriste u matematici za rješavanje određenih problema. Dakle, mnogi ljudi znaju algoritam za rješavanje kvadratnih jednadžbi s traženjem diskriminanta.

Svojstva

Prije njihovog razmatranja u informatici, potrebno je razjasniti njihova osnovna svojstva.

Među glavnim svojstvima algoritama treba istaknuti sljedeće:

  • Determinizam, odnosno sigurnost. Poenta je da svaki algoritam uključuje dobijanje određeni rezultat za date početne vrijednosti.
  • Produktivnost. To znači da će se, s obzirom na određeni broj početnih podataka, nakon obavljanja određenog broja koraka postići određeni, očekivani rezultat.
  • Masovni karakter. Algoritam napisan jednom može se koristiti za rješavanje svih problema date vrste.
  • Diskretnost. To podrazumijeva da se svaki algoritam može podijeliti u nekoliko faza, od kojih svaka ima svoju svrhu.

Metode snimanja

Bez obzira na to koje algoritame informatičke nauke gledate, postoji nekoliko načina da ih napišete.

  1. Verbalno.
  2. Formula-verbalna.
  3. Graphic.
  4. Algoritamski jezik.

Algoritam se najčešće prikazuje kao dijagram toka koristeći posebne oznake, utvrđen GOST-ovima.

Glavni tipovi

Postoje tri glavne sheme:

  1. Linearni algoritam.
  2. Algoritam grananja, ili razgranati.
  3. Ciklična.

Linearno

Smatra se najjednostavnijim u informatici i uključuje niz radnji. Navedimo najjednostavniji primjer algoritma ovog tipa. Nazovimo to "Spremamo se za školu."

1. Ustanite kada zazvoni budilnik.

2. Umivamo se.

3. Operite zube.

4. Radite vježbe.

5. Obucite se.

6. Jedemo.

7. Obuvamo cipele i idemo u školu.

8. Kraj algoritma.

Algoritam grananja

Kada se razmatraju vrste algoritama u računarstvu, ne može se ne prisjetiti strukture grananja. Ovaj tip pretpostavlja postojanje uslova pod kojim se, ako su ispunjene, radnje vrše jednim redom, a ako nisu ispunjene drugim redosledom.

Na primjer, uzmite sljedeću situaciju - pješak koji prelazi ulicu.

1. Prilazimo semaforu.

2. Gledamo na semafor.

3. Mora biti zelena (ovo je uslov).

4. Ako je uslov ispunjen, prelazimo cestu.

4.1 Ako nije, pričekajte da se upali zeleno svjetlo.

4.2 Prelazimo cestu.

5. Kraj algoritma.

Round robin algoritam

Kada proučavate vrste algoritama u računarstvu, trebali biste se detaljnije zadržati Ovaj algoritam uključuje dio računanja ili radnje koja se izvodi dok se ne ispuni određeni uvjet.

Uzmimo jednostavan primjer. Ako je niz brojeva od 1 do 100. Moramo pronaći sve njih, odnosno one koji su djeljivi sa jednim i samim sobom. Nazovimo algoritam “Prosti brojevi”.

1. Uzmite broj 1.

2. Provjerite je li manji od 100.

3. Ako da, provjerite da li je ovaj broj prost.

4. Ako je uslov ispunjen, zapišite ga.

5. Uzmite broj 2.

6. Provjerite je li manji od 100.

7. Provjerite da li je jednostavno.

…. Uzmimo broj 8.

Hajde da proverimo da li je manji od 100.

Provjerava se da li je broj prost.

Ne, preskočimo to.

Uzmimo broj 9.

Na taj način prolazimo kroz sve brojeve do 100.

Kao što vidite, koraci 1 - 4 će se ponoviti nekoliko puta.

Među cikličkim postoje algoritmi sa preduslovom, kada se uslov proverava na početku ciklusa, ili sa postuslovom, kada se provera vrši na kraju ciklusa.

Druge opcije

Algoritam se također može miješati. Dakle, može biti cikličan i razgranat u isto vrijeme. U ovom slučaju se koriste različitim uslovima u različitim fazama algoritma. Ovako složene strukture se usvajaju prilikom pisanja složeni programi i igre.

Simboli blok dijagrama

Pogledali smo koje vrste algoritama postoje u informatici. Ali nismo govorili o tome koje se notacije koriste kada ih se grafički bilježi.

  1. Početak i kraj algoritma ispisani su u ovalnom okviru.
  2. Svaka naredba se snima u pravougaoniku.
  3. Uslov je ispisan dijamantom.
  4. Svi dijelovi algoritma povezani su strelicama.

zaključci

Razgovarali smo o temi “Algoritmi, tipovi, svojstva”. Informatika troši mnogo vremena na proučavanje algoritama. Koriste se prilikom pisanja razni programi kako riješiti matematički problemi, te za kreiranje igara i raznih vrsta aplikacija.

Najbolji članci na ovu temu