Tag : Bejelentkezés |Bejegyzés |Feltöltés ismeretek
Keresés
Lusta értékelés [Módosítás ]
A programnyelv-elméletben a lusta értékelés vagy a szükség szerinti hívás olyan értékelési stratégia, amely késlelteti a kifejezés értékelését, amíg az értéke nem szükséges (nem szigorú értékelés), és elkerüli az ismételt értékeléseket (megosztás). A megosztás bizonyos funkciók futási idejét exponenciális tényezővel csökkentheti más nem szigorú értékelési stratégiák, például név szerint.
A lusta értékelés előnyei a következők:

Az a képesség, hogy az ellenőrző áramlást (struktúrákat) absztrakcióként határozzák meg a primitívek helyett.
A potenciálisan végtelen adatstruktúrák meghatározásának képessége. Ez lehetővé teszi néhány algoritmus egyszerűbb végrehajtását.
A teljesítmény növelése elkerülve a szükségtelen számításokat és a hibás feltételeket az összetett kifejezések értékelésekor.

A lusta értékelést gyakran az emlékeztetővel kombinálják, amint azt Jon Bentley írásos hatékony programjai ismertetik. Miután egy függvény értéke kiszámításra kerül az adott paraméter vagy paraméterkészlet számára, az eredményt egy lekérdező táblában tárolja, amelyet az említett paraméterek értékei indexálnak; a következő alkalommal, amikor a függvény hívásra kerül, a táblázat megkérdezi, hogy a paraméterértékek kombinációjának eredménye már rendelkezésre áll-e. Ha igen, a tárolt eredményt egyszerűen visszaadják. Ha nem, a függvény kiértékelésre kerül, és a keresési táblázathoz újabb bejegyzést adnak hozzá az újrafelhasználáshoz.
A lusta értékelés a memória lábnyomának csökkenéséhez vezethet, mivel az értékek szükség esetén létrejönnek. Azonban a lusta értékelés nehézzé válik olyan kényes jellemzőkkel, mint a kivételkezelés és a bemenet / kimenet, mert a műveletek sorrendje meghatározatlan marad. Lusta értékelés szivárgást idézhet elő.
A lusta értékelés ellentéte a lelkes értékelés, amelyet néha szigorú értékelésnek neveznek. A szomorú értékelés a legtöbb programozási nyelven alkalmazott értékelési stratégia.
[Ellenőrző áramlás][A tényleges végtelen][Adatszerkezet][Kivételkezelés]
1.Történelem
2.Alkalmazások
2.1.Vezérlő szerkezetek
2.2.A végtelen adatstruktúrákkal való együttműködés
2.3.Sikerek listája
2.4.Egyéb felhasználások
3.Végrehajtás
4.Lustaság és vágyakozás
4.1.A lusta nyelveken való vágyódás
4.2.A lustaság szimulálása lelkes nyelveken
4.2.1.Piton
4.2.2.,NET Framework
[Feltöltése Több Tartalom ]


Szerzői jog @2018 Lxjkh