🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #555

Re: rekurencja a pamiec ?

#555
From: Karpierz
Date: Tue, 06 Jan 1998 09:58
52 lines
2659 bytes
Michał Suski <suseu@polbox.com> napisał(a) w artykule
<01bd1a68$168cf760$08fa74c3@suseu>...
> dzięki za wyczerpującą odpowiedź, spróbuję tych sztuczek, 
> ale zwiększanie stosu w linkerze absolutnie nie pomaga, 
> a zmienną w procedurze mam tylko jedną, a parametry 
> trzy - niezbędne :)

Przy tak malej ilosci danych sztuczki zostaw w spokoju.

ustawienie _stklen powinno czesciowo pomoc:

unsigned int _stklen = 64000;

int main (void)
{
....
}

ale....
Przeczytalem w innym postingu ze chcesz rozwiazac labirynt.
Nie pisalem nigdy labiryntu ale jesli zamierzasz rekurencyjnie 
chodzic po drzewie rozwiazan to na mojego nosa nie unikniesz 
przepelnienia stosu, nawet dla malych rozmiarow labiryntu jesli
zrobisz to nieumiejetnie.  
Mysle jednak ze ten problem da sie rozwiazac elegancko
bez jawnego uzycia rekurencji, pamietajac jedynie "sciezke" 
wezlow (pokoi) rozwiazan (jako liste dwukierunkowa, albo
stos /ale nie ten procesora:)/) i gdy zastosujesz zwykly algorytm
"zachlanny" czyli sprawdzajacy wszystkie rozwiazania,
ale madrze czyli w okreslonym porzadku.
Niepedagogicznie podpowiem tylko tyle ze w tym algorytmie 
idziemy do przodu (czyli wydluzamy "sciezke") jezeli dany pokoj
ma jeszcze niesprawdzone pokoje w lewo od kierunku
z ktorego weszlismy do pokoju, w przeciwnym przypadku
skracamy sciezke (wracamy do poprzedniego pokoju) itd.. itd..
az... albo znajdziesz rozwiazanie (znajdziesz balkon :)
albo wrocisz do przedpokoju i nie bedzie juz niesprawdzonych 
pokoi (labirynt dla masochistow:). 
Stad tez zasada ze z kazdego labiryntu mozna wyjsc idac 
caly czas przy jednej scianie. 

Powodzenia :)

A.K.
karpierz@intertele.pl

PS: oczywiscie jest duzo zrodel (na sieci tez) do rozwiazywania 
      labiryntu, ale... radze sprobuj sam. Sam sposob podejscia 
      do problemu nadaje sie do roznych rzeczy i naprawde warto 
      abys go "poczul". Sam zobaczysz jakie to proste w gruncie 
      rzeczy.
      
Technical Details
Message-ID: <01bd1a89$bd775cc0$99baccc2@karpierz.dyn.ml.org>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.onet.pl!not-for-mail
References: <01bd189a$8c52aaa0$LocalHost@suseu> <01bd19fa$94ae2100$91baccc2@karpierz.dyn.ml.org> <01bd1a68$168cf760$08fa74c3@suseu>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.onet.pl!not-for-mail
From: "Karpierz" <karpierz@inter.intertele.pl>
Newsgroups: pl.comp.lang.c
Subject: Re: rekurencja a pamiec ?
Date: 6 Jan 1998 09:58:02 GMT
Organization: poorly-installed news reader
Lines: 52
Message-ID: <01bd1a89$bd775cc0$99baccc2@karpierz.dyn.ml.org>
References: <01bd189a$8c52aaa0$LocalHost@suseu> <01bd19fa$94ae2100$91baccc2@karpierz.dyn.ml.org> <01bd1a68$168cf760$08fa74c3@suseu>
NNTP-Posting-Host: ppp153.intertele.pl
X-Newsreader: Microsoft Internet News 4.70.1161
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit