Čo je stack, rekurzia a prirodzený algoritmus

Hovorí sa, že teória a prax programovania sú vysoké technológie a vyvíjajú sa. Oblasť informačných technológií rýchlo rozširuje svoje možnosti. Existujú nové profesie a trhy. Možno je to v skutočnosti, ale základný návrh programovania, ako to bolo na začiatku, sa začal a stále ho má. A to nie je kladivo alebo skrutkovač, ktorý je v podstate večný.

Konštrukty syntaxe a skutočná logika

Žiadne formálne zobrazenie údajov, neexistuje programovanie. Táto osoba bola veľmi dobre v informačnom svete dávno predtým, než si uvedomil, že mnohé z jeho činností sú algoritmy. Dopravníky, stroje, nástroje - to sú mechanizmy, rigidné formy realizácie sekvencií akcií.


Ideálnym príkladom je súbor protokolov. Každý pracuje na svojej úrovni: fyzický, kanál, sieť, doprava atď. Zároveň v každom návrhu siete, súbor protokolov a ich interakcia - ich vlastné. Funguje to! Mimochodom, stoh protokolov nie je len lokálne a globálne siete. V diplomacii existuje súbor protokolových nápadov, v ekonomike - v organizácii výroby vo všeobecnosti, v množstve pravidiel a konvencií, v vrstvách položených v jednom systéme.
Vznik počítačov, počítačov a smartfónov nespôsobil revolúciu. Všetky existujúce existujúce a súčasné programovacie jazyky boli manipulované a stále robia to isté so všetkými rovnakými algoritmami, ale v miernejších konštruktívnych formách. "Mäkkosť" programovacieho jazyka proti "tuhosti" sekvencie akciídopravník nedal požadovaný účinok. Každý programovací jazyk je v skutočnosti systémom striktných pravidiel syntaxe a informácie, ktoré sa majú spracovať, sú brané do striktnej formálnej štruktúry údajov.


Skutočná logika mobilná. Človek rozhoduje o situácii založenej na dynamicky sa rozvíjajúcom základe vedomostí. Celý arzenál ľudských algoritmov je živá dynamika. "Podobne podobné" akcie okamžite získajú rekurzívnu formu a každá následná akcia je založená na predchádzajúcej. Čo je v skutočnosti hromadou vedomostí, je dynamika nových príležitostí založená na už vytvorených okolnostiach.

Ak ste presvedčení, že spoločnosť Google, prvé zmienky o "vývojárovi" ("developerovi" - niečom oveľa významnejšom ako o programátore) sa datujú najskôr v roku 2010. Ak veríte iným zdrojom, myšlienka "vývojára" je rok 2004. V podstate čas nie je dôležitý. Vývojár s kompletným súborom poznatkov prišiel do programovania, ale nič sa nezmenilo.
Stack v programovaní - to je okamih prvého procesora, pretože musel zabezpečiť dôsledné vykonávanie príkazov. Na úrovni kódov strojov je ťažké uvažovať koncepčne, ale stoh sa s istotou vytvoril v mysli odborníkov ako prekvapivo jednoduché a efektívne pravidlo organizácie výpočtových procesov.
Bez stohu nie je rekurzia a bez nej sa algoritmus stáva ťažkopádnou sekvenciou akcií. Každá osoba môže myslieť a konať rekurzívne, ale písanie takéhoto algoritmu nie je dané každému programátorovi, je ťažké povedať niečo o "vývojároch" v tomto kontexte.niektoré z nich.
Nie je to obchodný názov, nič sa nezmení, programátor, vývojár alebo plný zásobník developer. Osoba musí poznať svoj prípad v plnom rozsahu a takým spôsobom, aby dynamicky rástli adekvátne meniace sa pracovné podmienky. Znalosti nemôžu byť statické, pretože sú vždy dynamické.

proti stohu dosiek prísnu syntax

Programátori a sprievodné osoby aktivity (multidisciplinárne) už dávno naučil hovoriť pekne: vývojári plný zásobník, programátori, ktorí chápu celý stoh, všeobecne vytvoriť viac vysoko kvalitné programy. Mnoho takýchto vyhlásení nájdete na internete. Ale ak niektorý z kaviarní a reštaurácií v starej dosky tak, aby boli ľahko použiteľné a táto technológia umožňuje adaptívne realitu súčasnej situácie, programovanie stále prevažujú: if, switch, pre, foreach, zatiaľ čo znamenie úlohy. Všetky syntaktické úspechy minulého storočia sa v súčasnom storočí presunuli s jasným nárokom na prežitie. Úplné alebo neúplné, ale programátor myslel reality a usiluje o vytvorenie kvalitný softvér môže ísť nad rámec prísneho preddefinované syntax. Čo je zásobník, ak nie nástroj na boj proti tejto brzde pokroku? Či už nepojímá tvorca moderných programovacích jazykov, sa snaží udržať dedičstva minulého storočia, môže to byť banálne vyrovnať s použitím sady.
Jednoduchý príklad. Existujú skutočné informácie. K dispozícii je daný, ktorý môže byť spracovaný špecifickým algoritmom. Riešenie je dosiahnuteľné. Ale skutočné informácie určujúmožnosti dát. V dôsledku toho sú potrebné verzie algoritmov, čo povedie k riešeniu. Nie je nič jednoduchšie ako vytváranie stohu: vznikla konkrétna situácia a "vyčíslila" sa, rozšírila sa na komponenty a potom vyšla a ukázala riešenie.

Rekurzia, čo je pre ňu zásobník

Nie je možné opísať všetko jediným algoritmom. Vytvorením programu špecialista stále nájde také oblasti kódu. Pomocou funkcií programátor ju optimalizuje a robí ho čitateľným, testovaným a efektívnym. Rekurzia - nová úroveň funkčnosti: schopnosť vyvolať nástroj sám, keď je potreba, a návrat k predchádzajúcemu status quo, takže potrebný objem dát. Čo Stack ako nepotápajte pláne vydať svoje plné uznanie (porozumenie) a vrátiť späť do pôvodného stavu s dostatočným meniacou realitou (dáta).
Programovanie manipuluje s údajmi, ale nie s informáciami. Podľa väčšiny odborníkov sú údaje formálnym systémom podávania správ. Ak vytvoríte niekoľko formálnych systémov, budú existovať viaceré možnosti na prezentáciu informácií, čo znamená, že je to zásobník. Počítač dostane algoritmus primeranej odpovede na informácie poskytované formálnymi dátovými systémami.

Samozrejme, v tomto kontexte všetko závisí od úrovne poznania programátora a jeho schopnosti reprezentovať informácie v rôznych systémoch dátových štruktúr. Poskytnutím každej takejto štruktúry požadovanej funkčnosti (na úrovni každej z jej vlastných) môžete získať obraz dát a funkcií. Bude to vo všeobecnom systémeprimerané univerzálne riešenie. Nie je potrebné, aby bol vývojár s plnými zásobníkmi skôr programátorom, snažil sa vytvárať dynamické rekurzívne algoritmy. Svet, samozrejme, nebude padnúť na nohy takého špecialistu, ale jeho práca bude dobre vedieť.

Prirodzený algoritmus

Neexistujú žiadne konkrétne varianty: prirodzený algoritmus je to, čo sa vykonáva sám a adekvátne získané informácie. Zvyčajne sú prirodzené algoritmy spojené s človekom, živou a neživou povahou. Môžeme povedať, že existujú vedomé algoritmy a zákony fyziky, chémie, ekonómie a spoločnosti.
Informácie sú tokom niečoho, v ktorom existuje systém a zákonitosti. Nie je potrebné to pochopiť naraz, vždy to môžete urobiť neskôr. Na riešenie súčasných problémov je dostatočné vnímať informácie a primerane reagovať na ne. V kontexte programovania a "špičkovej technológie" dostatočnej na dosiahnutie objektívneho a efektívneho riešenia akejkoľvek úlohy stačí rekurzia a pravidlá zásobníka.

Súvisiace publikácie

Stack: čo to je a aplikácia