Što je stog, rekurzija i prirodni algoritam

Kaže se da su teorija i praksa programiranja visoke tehnologije i da se razvijaju. Područje informacijske tehnologije brzo širi svoje sposobnosti. Postoje nova zanimanja i tržišta. Možda je to zapravo slučaj, ali je osnovni dizajn programiranja kao što je bio na početku počeo, i još ga ima. A ovo nije čekić ili odvijač, koji je u biti vječni.

Sintaksni konstrukti i realna logika

Nema formalne reprezentacije podataka, nema programiranja. Osoba je bila vrlo dobra u svijetu informacija mnogo prije nego što je shvatio da su mnogi njegovi postupci algoritmi. Transporteri, strojevi, alati - to su mehanizmi, kruti oblici primjene nizova akcija.


Idealan primjer je stog protokola. Svatko radi na svojoj razini: fizičkom, kanalu, mreži, transportu itd. U isto vrijeme u svakom dizajnu mreže, skup protokola i njihova interakcija - njihova. Radi! Usput, stog protokola nije samo lokalna i globalna mreža. U diplomaciji postoji skup protokolarnih ideja, u ekonomiji - vlastita, u organizaciji proizvodnje općenito, masi pravila i konvencija, slojevima položenim u jedinstvenom sustavu.
Pojava računala, računala, pametnih telefona nije uzrokovala revoluciju. Svi postojeći postojeći i trenutni programski jezici su manipulirani i nastavljaju raditi isto sa svim istim algoritmima, ali u blažim konstruktivnim oblicima. "Mekoća" programskog jezika protiv "rigidnosti" slijeda akcijatransporter nije dao željeni učinak. Zapravo, svaki programski jezik je sustav strogih pravila sintakse, a informacije koje se obrađuju uzima se u strogu formalnu strukturu podataka.


Realni logički mobitel. Čovjek odlučuje o situaciji koja se temelji na dinamičkim temeljima znanja. Cijeli arsenal ljudskih algoritama je živa dinamika. "Slične u biti" akcije odmah dobivaju rekurzivni oblik, a svaka sljedeća akcija temelji se na prethodnoj. Ono što je zapravo stog znanja u stvarnosti jest dinamika novih mogućnosti utemeljenih na već formiranim okolnostima.

Full stack developer

Ako vjerujete Googleu, tada prvi spomen "developera" ("= developer" - nešto značajnije od programera) datiran je ne ranije od 2010. Ako vjerujete u druge izvore, ideja "programera" je 2004. U biti, vrijeme ovdje nije važno. Programer s kompletnim skupom znanja došao je u programiranje, ali ništa se nije promijenilo.
Stack u programiranju - to je trenutak prvog procesora, jer je on morao osigurati dosljedno izvršavanje naredbi. Na razini strojnih kodova teško je konceptualno razmišljati, ali se stog samouvjereno formira u svijesti stručnjaka kao iznenađujuće jednostavno i učinkovito pravilo organizacije računalnih procesa.
Bez stog nema rekurzije, a bez nje bilo koji algoritam postaje glomazan slijed radnji. Svaka osoba može misliti i djelovati rekurzivno, ali pisanje takvog algoritma nije dano svakom programeru, teško je u tom kontekstu reći nešto o "programerima".neke.
Bez obzira na naziv profesije, ništa se neće promijeniti: programer, programer ili programer s punim stogom. Osoba mora znati svoj slučaj u cijelosti i na takav način da dinamički raste primjereno mijenjajući radne uvjete. Znanje ne može biti statično, jer su uvijek dinamične.

Stos ploče protiv tvrde sintakse

Programeri i osobe koje ih prate (stručnjaci različitih profila) već su dugo učili govoriti lijepo: programeri s punim stogom: programeri koji razumiju cijeli stack obično stvaraju kvalitetnije programe. Mnoge takve izjave možete pronaći na internetu. Ali ako u bilo kojem kafiću i restoranu na stari način ploče su toliko prikladne da su udobne za korištenje i ova tehnologija uzima u obzir adaptivnu stvarnost trenutne situacije, onda u programiranju i dalje dominiraju: ako, prekidač, za, foreach, while i simbol dodjele. Sva sintaktička postignuća prošlog stoljeća preselila su se u današnjem stoljeću s jasnom tvrdnjom da će preživjeti do sljedeće. Potpuna ili nepotpuna, ali programer, misleći na stvarnost i nastojeći stvoriti kvalitetan softverski proizvod, može ići izvan granica propisane tvrde sintakse. Što je stog, ako ne i alat za borbu protiv ove kočnice napretka? Što god dizajner suvremenog programskog jezika razmišlja za sebe, nastojeći sačuvati naslijeđe prošlog stoljeća, može se banalno izravnati pomoću stog.
Jednostavan primjer. Postoje stvarne informacije. Postoji zadatak koji se može obraditi određenim algoritmom. Rješenje je moguće. Ali stvarne informacije određujumogućnosti podataka. Prema tome, potrebne su verzije algoritama, što će dovesti do rješenja. Ne postoji ništa jednostavnije od stvaranja stogova: nastala je određena situacija, a ona je "shvatila" dolje, proširena na komponente, a zatim je otišla gore i pokazala rješenje.

Rekurzija, što je stog za nju

Nemoguće je opisati sve po jednom algoritmu. Stvaranjem programa stručnjak stalno pronalazi takva područja koda. Koristeći značajke, programator ga optimizira i čini čitljivim, testiranim i učinkovitim. Rekurzija je kvalitativno nova razina funkcionalnosti: funkcija funkcije da se nazove kada je to potrebno i da se vrati na prijašnji položaj stvari, mijenjajući potrebnu količinu podataka. Što je stog, ako ne i plan za uranjanje u problem prije njegovog punog prepoznavanja (razumijevanja) i povratak u početno stanje uz odgovarajuću promjenu okolne stvarnosti (podaci).
Programiranje manipulira podacima, ali ne i informacijama. Prema većini stručnjaka, podaci su formalni sustav izvješćivanja. Ako stvorite nekoliko formalnih sustava, bit će više opcija za prezentiranje informacija, što znači stog. Računalo će primiti algoritam adekvatnog odgovora na informacije koje pružaju formalni sustavi podataka.

Naravno, u ovom kontekstu sve ovisi o razini znanja programera i njegovoj sposobnosti da predstavlja informacije u različitim sustavima podatkovnih struktura. Dajući svakoj takvoj strukturi potrebnu funkcionalnost (na razini svake od njih), možete dobiti sliku podataka i funkcija. Bit će u općem sustavuodgovarajuće univerzalno rješenje. Nije potrebno biti programer s punim stogom, nego biti programer, tražiti stvaranje dinamičkih rekurzivnih algoritama. Svijet, naravno, neće pasti na noge takvom stručnjaku, ali njegov će posao dobro znati.

Prirodni algoritam

Nema posebnih varijanti: prirodni algoritam je ono što se izvodi sam i adekvatno dobivena informacija. Obično su prirodni algoritmi svojstveni čovjeku, živoj i neživoj prirodi. Možemo reći da postoje svjesni algoritmi i zakoni fizike, kemije, ekonomije i društva.
Informacije su tijek nečega u kojem postoji sustav i zakonitosti. To nije potrebno shvatiti odjednom, to uvijek možete učiniti kasnije. Za rješavanje tekućih problema dovoljno je uočiti informacije i na njih adekvatno odgovoriti. U kontekstu programiranja i "visoke tehnologije" dovoljno za postizanje objektivnog i djelotvornog rješenja za bilo koji zadatak dovoljno je rekurzije i pravila stog.

Povezane publikacije

Stog JS niza: push () i pop ()