Kako postaviti pametne telefone i računala. 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 prevladate poteškoće koje se javljaju uz pomoć biblioteke moćnih algoritama, potpuno implementiranih u izvorni kod Delphi. Naučit ćete kako odabrati metodu koja je najprikladnija za rješavanje konkretnog problema i kako to postići maksimalne performanse tvoja prijava. Razmatraju se tipični i najgori slučajevi implementacije algoritama koji će vam omogućiti da ih na vrijeme prepoznate moguće poteškoće te po potrebi prepisati ili zamijeniti dio programa. Detaljno opisano bitni elementi algoritmi za pohranu i obradu podataka (liste, hrpe, redovi čekanja, stabla, sortiranje, pretraživanje, raspršivanje itd.). Predstavljena su ne samo tradicionalna rješenja, već i metode temeljene na najnovijim dostignućima u objektno orijentiranom programiranju.
Knjiga je namijenjena Delphi programerima početnicima, ali zahvaljujući jasnom strukturiranju materijala i bogatoj biblioteci gotovih algoritama, bit će zanimljiva i stručnjacima.

Uvod.
Poglavlje 1. Osnovni koncepti
Što su algoritmi?
Analiza brzine izvršavanja, algoritmi
Sjećanje ili vrijeme.
Procjena do reda veličine
Definicija složenosti.
Složenost rekurzivni algoritmi
Prosjek i najgori slučaj.
Opće funkcije vrednovanja složenosti.
Logaritmi
Brzina algoritma u stvarnim uvjetima
Pristup swap datoteci.
Sažetak.
2. Poglavlje. Popisi
Osnovni pojmovi o listama.
Jednostavni popisi.
Promjena veličine polja.
Popis promjenjive veličine
Klasa SimpleList.
Nesređene liste.
Povezani popisi.
Dodavanje elemenata.
Uklanjanje elemenata.
Poglavlje 3. Stogovi i redovi čekanja
Stogovi.
Stacks on povezane liste.
Redovi čekanja
Ciklični redovi čekanja.
Redovi čekanja na temelju povezanih popisa.
Prioritetni redovi
Redovi čekanja s više niti.
Sažetak.
Poglavlje 4. Nizovi
Trokutasti nizovi
Dijagonalni elementi
Nepravilni nizovi
Linearni prikaz s pokazivačem.
Nepravilni povezani popisi.
Dinamički Delphi nizovi.
Rijetki nizovi.
Indeksiranje polja
Vrlo rijetki nizovi.
Sažetak.
5. poglavlje. Rekurzija
Što je rekurzija
Rekurzivni izračun faktorijela. Analiza složenosti
Rekurzivni izračun
najveći zajednički djelitelj
Analiza složenosti.
Rekurzivni izračun Fibonaccijevih brojeva
Analiza složenosti.
Rekurzivna konstrukcija Hilbertovih krivulja
Analiza složenosti.
Rekurzivna konstrukcija Sierpinskijevih krivulja.
Analiza složenosti
Nedostaci rekurzije.
Beskonačna rekurzija
Gubitak pamćenja
Nerazumna uporaba rekurzije.
Kada koristiti rekurziju.
Uklanjanje repne rekurzije
Nerekurzivni izračun Fibonaccijevih brojeva.
Uklanjanje rekurzije u opći slučaj.
Nerekurzivno generiranje Hilbertovih krivulja.
Nerekurzivna konstrukcija Sierpinskijevih krivulja Sažetak.
Poglavlje 6. Drveće
Definicije
Predstave stabla.
Puni čvorovi
Popisi podređenih čvorova
Predstavljanje numeriranjem priključaka.
Puna stabla
Obilazak stabla.
Naručena stabla
Dodavanje elemenata.
Uklanjanje elemenata.
Obilaženje uređenih stabala
Stabla s karikama
Značajke rada.
Q-stabla.
Promjena vrijednosti MAXQTREENODES
Oktalna stabla.
Sažetak.
Poglavlje 7. Uravnotežena stabla
Balansiranje.
AVL stabla
Dodavanje čvorova u AVL stablo.
Uklanjanje čvorova iz AVL stabla.
B-stabla.
Izvedba B-stabla.
Uklanjanje elemenata iz B-stabla
Dodavanje elemenata u B-stablo
Sorte B-stabla.
Poboljšanje B-stabala.
Problemi s pristupom disku
B+stablo baze podataka
Sažetak.
Poglavlje 8. Stabla odlučivanja
Traži u stablima igre
Minimax pretraga
Optimiziranje pretraživanja u stablima odlučivanja
traži nestandardna rješenja
Grane i granice.
Heuristički.
Složeni zadaci
Problem izvedivosti.
Problem particije
Hamiltonov problem traženja puta.
Problem trgovačkog putnika
Problem vatrogasne postaje.
kratak opis složeni zadaci
Sažetak
Poglavlje 9 Sortiranje
Generalni principi.
Indeksne tablice.
Spajanje i kompresija ključeva.
Primjer programa
Sortiranje po izboru
Miješanje
Sortiranje umetanjem
Umetanje u povezane popise
Razvrstavanje mjehurića
Brzo sortiranje
Sortiranje spajanjem.
Piramidalna vrsta.
Piramide.
Prioritetni redovi.
Heapsort algoritam
Razvrstavanje brojanjem.
Blokovno sortiranje
Blokiraj sortiranje pomoću povezanih popisa
Sažetak
Poglavlje 10. traži
Primjeri programa
Dovršite pretragu
Ponavljanje preko sortiranih popisa.
Pregledavanje povezanih popisa
Binarno pretraživanje.
Interpolacijsko pretraživanje.
Niz podataka.
Praćenje pretraživanja
Binarno praćenje i pretraživanje
Interpolativno praćenje praćenja.
Sažetak.
Poglavlje 11. Raspršivanje
Uvezivanje.
Prednosti i nedostaci lijepljenja
Blokovi.
Pohranjivanje hash tablica na disk.
Povezivanje blokova.
Uklanjanje elemenata.
Prednosti i nedostaci korištenja otvorenih blokova za adresiranje
Linearna provjera.
Kvadratna provjera
Pseudoslučajna provjera
Uklanjanje elemenata.
Sažetak.
Poglavlje 12. Mrežni algoritmi
Definicije
Prikazi mreže
Upravljanje čvorovima i vezama
Mrežna premosnica
Najmanji okvir stabla,
Najkraći put
Postavljanje oznaka.
Ispravak oznaka
Mogućnosti za pronalaženje najkraćeg puta.
Primjena algoritama za pronalaženje najkraćeg puta.
Maksimalni protok
Područja primjene.
Sažetak
Poglavlje 13. Objektno orijentirane metode.
Prednosti OOP-a.
Enkapsulacija.
Polimorfizam
Ponovno korištenje i nasljeđivanje
OOP paradigme.
Kontrolni objekti
Kontrolni objekt
Iterator.
Prijateljski razred.
Sučelje
Fasada
Tvornica.
Jedini objekt
Serijalizacija
Paradigma Model/View/Controller Sažetak.
Dodatak 1. Arhiva primjera
Sadržaj arhive s primjerima
Hardverski zahtjevi
Pokretanje oglednih programa
Korisničke informacije i podrška
Dodatak 2. Popis oglednih programa
Indeks predmeta

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

Preuzmite djvu
Ovu knjigu možete kupiti ispod najbolja cijena s popustom s dostavom u cijeloj Rusiji.


Visual Basic. Gotovi algoritmi- Knjiga ocrtava važne koncepte programiranja koji se mogu uspješno primijeniti za rješavanje mnogih problema. praktični problemi. Predloženi algoritmi koriste moćne tehnike kao što su rekurzija, particioniranje, dinamička dodjela memorije i umrežene strukture podataka kako bi vam pomogli u stvaranju fleksibilnih i složenih aplikacija.
Detaljno raspravljeno najvažniji pojmovi teorije algoritama i obrade podataka (liste, hrpe, redovi čekanja, stabla, sortiranje, pretraživanje, raspršivanje itd.).
Knjiga sadrži veliki broj primjeri koje možete koristiti u vlastite aplikacije ili bez ikakvih promjena ili ih mijenjajući prema vlastitom nahođenju.
Dizajniran prvenstveno za iskusni korisnici Visual Basic, no zahvaljujući pristupačnosti prezentacije i bogatoj biblioteci gotovih algoritama, bit će zanimljiv i programerima početnicima.

Ime: Visual Basic. Gotovi algoritmi (+ primjeri)
Stevens R.
Izdavač: Tisak DKM
Godina: 2000
Stranice: 377
Format: DJVU
Veličina: 20,3 MB
ISBN: 5-94074-001-4
kvaliteta: Izvrsno
Serija ili izdanje: Za programere

Uvod
Poglavlje 1. Osnovni pojmovi
Što je algoritam
Analiza brzine izvršavanja algoritama
Resursi i vrijeme
Procjena do reda veličine
Pronalaženje problematičnih dijelova algoritma
Složenost rekurzivnih algoritama
Najgori slučaj i prosječan slučaj
Funkcije vrednovanja reda poteškoća
Logaritmi
Brzina algoritma u stvarnim uvjetima
Pristup swap datoteci
Pseudopointeri, reference objekata i kolekcije
Sažetak
Poglavlje 2. Popisi
Ključna pitanja poglavlja
Jednostavni popisi
Zbirke
Popis promjenjive veličine
Klasa SimpleList
Nesređeni popisi
Povezani popisi
Dodavanje elemenata
Uklanjanje stavki
Uništavanje povezanog popisa
Signalne oznake
Enkapsulacija povezanog popisa
Pristup ćeliji
Vrste povezanih popisa
Kružne povezane liste
Problem kružne veze
Dvostruko povezane liste
Potoci
Ostale srodne strukture
Pseudo pokazivači
Sažetak
Poglavlje 3- Stogovi i redovi čekanja
Stogovi
Više hrpa
Redovi čekanja
Kružni redovi
Redovi čekanja na temelju povezanih popisa
Korištenje zbirki kao redova čekanja
Prioritetni redovi
Redovi čekanja s više niti
Sažetak
Poglavlje 4. Nizovi
Trokutasti nizovi
Dijagonalni elementi
Nepravilni nizovi
Linearni prikaz s pokazivačima
Nepravilni povezani popisi
Rijetki nizovi
Indeksiranje polja
Vrlo rijetki nizovi
Sažetak
Poglavlje 5. Rekurzija
Što je rekurzija
Rekurzivni izračun faktorijela
Rekurzivno izračunavanje najvećeg zajedničkog djelitelja
Analiza vremena izvršenja programa
Rekurzivni izračun Fibonaccijevih brojeva
Analiza vremena izvršenja programa
Rekurzivna konstrukcija Hilbertovih krivulja
Analiza vremena izvršenja programa
Rekurzivna konstrukcija Sierpinskijevih krivulja
Analiza vremena izvršenja programa
Nedostaci rekurzije
Beskonačna rekurzija
Gubitak pamćenja
Nerazumna uporaba rekurzije
Kada koristiti rekurziju
Repna rekurzija
Nerekurzivni izračun Fibonaccijevih brojeva
Uklanjanje rekurzije općenito
Nerekurzivna konstrukcija Hilbertovih krivulja
Nerekurzivna konstrukcija Sierpinskijevih krivulja
Sažetak
Poglavlje 6. Drveće
Osnovni pojmovi
Pogledi stabla
Puni čvorovi
Popisi potomaka
Predstavljanje numeriranjem priključaka
Puna stabla
Obilazak stabla
Naručena stabla
Dodavanje elemenata
Uklanjanje stavki
Obilaženje uređenih stabala
Stabla s karikama
Značajke rada
Q-stabla
Promjena broja elemenata u čvoru
Korištenje pseudo pokazivača
Oktalna stabla
Sažetak
Poglavlje 7. Uravnotežena stabla
Ravnoteža stabla
AVL stabla
Dodavanje čvora
Brisanje čvora
B-stabla
Izvedba B-stabla
Umetanje elemenata
Uklanjanje stavki
Vrste B-stabala
Povećanje performansi B-stabala
Balansiranje
Problemi vezani uz pristup disku
B+stablo baze podataka
Sažetak
Poglavlje 8. Stabla odlučivanja
Traži u stablima igre
Minimax pretraga
Optimizacija pretraživanja
Potraga za nestandardnim rješenjima
Metoda grananja i vezanja
Heuristika
Složeni zadaci
Problem zadovoljivosti
Problem particije
Hamiltonov problem staze
Problem trgovačkog putnika
Problem vatrogasne postaje
Kratak opis složenih problema
Sažetak
Poglavlje 9. Razvrstavanje
Generalni principi
Indeksne tablice
Spajanje i kompresija ključeva
Primjeri programa
Sortiranje po izboru
Miješanje
Sortiranje umetanjem
Umetanje u povezane popise
Razvrstavanje mjehurića
Brzo sortiranje
Sortiranje spajanjem
Sortiranje gomile
Piramide
Prioritetni redovi
Heapsort algoritam
Razvrstavanje brojanjem
Blokovno sortiranje
Blokiraj sortiranje pomoću povezanog popisa
Blokovno sortiranje na temelju polja
Sažetak
Poglavlje 10. Pretraga
Primjeri programa
Pretraga metodom iscrpne pretrage
Pretražujte u uređenim popisima
Pretražite povezane popise
Binarno pretraživanje
Interpolacijsko pretraživanje
Niz podataka
Praćenje pretraživanja
Traženje praćenja interpolacije
Sažetak
Poglavlje 11. Raspršivanje
Uvezivanje
Prednosti i nedostaci lijepljenja
Blokovi
Pohranjivanje hash tablica na disk
Povezivanje blokova
Uklanjanje stavki
Prednosti i nedostaci korištenja blokova
Otvoreno adresiranje
Linearna provjera
Kvadratna provjera
Pseudoslučajna provjera
Uklanjanje stavki
Sažetak
Poglavlje 12. Mrežni algoritmi
Osnovni pojmovi
Prikazi mreže
Radni čvorovi i veze
Mrežni indeksi
Najmanji okvir stabla
Najkraći put
Postavljanje oznaka
Ispravak oznaka
Opcije za pronalaženje najkraće rute
Aplikacije koje koriste metodu traženja najkraće rute
Maksimalni protok
Područja primjene
Sažetak
Poglavlje 13. Objektno orijentirane metode
Prednosti OOP-a
Enkapsulacija
Polimorfizam
Nasljeđe i ponovno koristiti
Paradigme OOP-a
Kontrolni objekti
Kontrolni objekt
Iterator
Prijateljski razred
Sučelje
Fasada
Generiranje objekta
Jedini objekt
Serijalizacija
Paradigma Model/View/Kontroler
Sažetak
Dodatak 1. Arhiva s primjerima
Dodatak 2. Popis oglednih programa
Abecedno kazalo

Preuzmite Visual Basic. Gotovi algoritmi (+ primjeri)

Pri proučavanju informatike puno se pažnje posvećuje proučavanju algoritama i njihovih vrsta. Bez poznavanja osnovnih podataka o njima ne možete napisati program niti analizirati njegov rad. Proučavanje algoritama počinje u školski tečaj informatika. Danas ćemo pogledati pojam algoritma, svojstva algoritma, vrste.

Koncept

Algoritam je određeni slijed radnji koji vodi do postizanja određenog rezultata. Prilikom sastavljanja algoritma, svaka radnja izvođača je detaljno propisana, što će ga kasnije dovesti do rješavanja zadatka.

Č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 diskriminante.

Svojstva

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

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

  • Determinizam, odnosno izvjesnost. Poanta je da svaki algoritam uključuje dobivanje određeni rezultat za zadane početne vrijednosti.
  • Produktivnost. To znači da će se, s obzirom na niz početnih podataka, nakon odrađenog niza koraka postići određeni, očekivani rezultat.
  • Masovni karakter. Jednom napisan algoritam može se koristiti za rješavanje svih problema određene 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 vrste algoritama računalne znanosti gledate, postoji nekoliko načina za njihovo pisanje.

  1. Verbalni.
  2. Formula-verbalno.
  3. Grafički.
  4. Jezik algoritama.

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

Glavne vrste

Postoje tri glavne sheme:

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

Linearno

Smatra se najjednostavnijim u informatici.Uključuje slijed radnji. Navedimo najjednostavniji primjer algoritma ove vrste. Nazovimo to "Spremanje za školu".

1. Ustanite kad budilica zazvoni.

2. Umivamo se.

3. Operite zube.

4. Radite vježbe.

5. Obuci se.

6. Jedemo.

7. Obuvamo se i idemo u školu.

8. Kraj algoritma.

Algoritam grananja

Kada se razmatraju vrste algoritama u računalnoj znanosti, ne može se ne prisjetiti strukture grananja. Ovaj tip pretpostavlja postojanje uvjeta pod kojim se, ako su ispunjeni, radnje izvode jednim redoslijedom, a ako nisu ispunjeni, drugim.

Za primjer uzmimo sljedeću situaciju – pješak prelazi cestu.

1. Prilazimo semaforu.

2. Gledamo na semafor.

3. Mora biti zelene boje (ovo je uvjet).

4. Ako je uvjet 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čunalnoj znanosti, trebali biste se detaljno osvrnuti na njih Ovaj algoritam uključuje dio izračuna ili radnje koja se izvodi dok se ne ispuni određeni uvjet.

Uzmimo jednostavan primjer. Ako je niz brojeva od 1 do 100. Treba ih pronaći sve tj. one koji su djeljivi s jedinicom i sami sa sobom. Nazovimo algoritam “Prosti brojevi”.

1. Uzmite broj 1.

2. Provjerite je li manji od 100.

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

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

5. Uzmite broj 2.

6. Provjerite je li manji od 100.

7. Provjerite je li jednostavan.

…. Uzmimo broj 8.

Provjerimo je li manji od 100.

Provjera je li 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 više puta.

Među cikličkim postoje algoritmi s preduvjetom, kada se uvjet provjerava na početku ciklusa, ili s postuvjetom, kada se provjera događa na kraju ciklusa.

Druge opcije

Algoritam se također može miješati. Dakle, može biti ciklički i razgranat u isto vrijeme. U ovom slučaju se koriste različitim uvjetima u različitim fazama algoritma. Takve složene strukture usvajaju se 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 oznake koriste pri njihovom grafičkom snimanju.

  1. Početak i kraj algoritma ispisani su u ovalnom okviru.
  2. Svaka naredba je zapisana u pravokutnik.
  3. Uvjet je ispisan dijamantom.
  4. Svi dijelovi algoritma povezani su strelicama.

zaključke

Razgovarali smo o temi “Algoritmi, vrste, svojstva”. Računarska znanost provodi puno vremena proučavajući algoritme. Koriste se prilikom pisanja razne programe kako riješiti matematički problemi, te za izradu igara i raznih vrsta aplikacija.

Najbolji članci na temu