Neurochirurgie minim invazivă
"Primum non nocere" este ideea ce a deschis drumul medicinei spre minim invaziv. Avansul tehnologic extraordinar din ultimele decenii a permis dezvoltarea tuturor domeniilor medicinei. Microscopul operator, neuronavigația, tehnicile anestezice avansate permit intervenții chirurgicale tot mai precise, tot mai sigure. Neurochirurgia minim invazivă, sau prin "gaura cheii", oferă pacienților posibilitatea de a se opera cu riscuri minime, fie ele neurologice, infecțioase, medicale sau estetice. www.neurohope.ro |
Algoritmul QuickSort (nerecursiv) quick please
Last Updated: Jul 18 2003 14:36, Started by
driverx
, Jul 18 2003 11:53
·
0
#1
Posted 18 July 2003 - 11:53
Hello everyone,
Am nevoie repede de Quciksort varianta nerecursiva. Cod Delphi, VB, VB.NET nu conteaza 10x :cya: |
#2
Posted 18 July 2003 - 13:51
Nu poti elimina complet recursivitatea la Quicksort, va trebui sa simulezi tu stiva, ceea ce e doar un detaliu de implementare, algoritmul propriu-zis va ramane recursiv.
Poti in schimb sa elimini in general tail-recursion, adica poti elimina recursivitatea unei functii daca aceasta (apelul recursiv) se regaseste ca ultima instructiune a functiei.. Cum e de exemplu cazul factorialului, etc. La quicksort in schimb ai doua apeluri recursive, pentru ca imparte problemain doua subprobleme mai mici), si eliminand tail-recursion nu scapi decat de un singur apel.. Pentru celalalt va trebui sa simulezi o stiva de parametri. Ceea ce nu e foarte greu. Si, in final, daca vrei exemple de cod, cred ca sunt cu carul pe net, eu unul am gasit un exemplu in Pascal (nu stiu daca merge in Delphi or not): http://www.bsdg.org/...G/0034.PAS.html |
#3
Posted 18 July 2003 - 13:56
bcata,
Stiu ca tre sa imi fac o stiva, am ceva cod sursa gasit pe net dar e incomplet :) Ideea era ca imi trebuia repede fara sa gandesc eu algoritmu ca sa nu am overheat la creer :) :cya: |
#4
Posted 18 July 2003 - 14:21
Daca tot iti trebuie atat de repede, nu inteleg de ce iti trebuie neaparat varianta nerecursiva? Teme, ceva? :)
|
#5
Posted 18 July 2003 - 14:29
looool nu,
fac un prg in vb6 si saracu vb nu suporta recursivitate prea mare. Am mai auzit eu oameni care s-au plans ca le crapa programasele la recursivitate. Am mai patito si eu dar nu la quicksort. Risti mult la quicksort in vb daca ai liste mari :cya: |
#6
Posted 18 July 2003 - 14:36
Alegand bine care dintre cele doua apeluri il pui pe stiva sau il executi ca "tail-recursion", poti limita dimensiunea stivei la sup(log(n)), unde n este numarul de elemente. Chestia asta se obtine daca pui intotdeauna pe stiva intervalul mai mic, si il executi direct pe cel mare. Astfel, pentru un milion de elemente, sa spunem, vei avea cel mult 20 de apeluri pe stiva, ceea ce e rezonabil...
In VB nu poti sa maresti in vreun fel stiva de apeluri? :) Vreo setare de compilare, ceva? |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users