Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: k-lea minim  (Citit de 1676 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
nicolaetitus12
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 10



Vezi Profilul
« : Mai 27, 2009, 00:39:07 »

Salut,
exista o structura asemanatoare unui heap dar in care sa se poata sterge/modifica al k-lea minim?
multumesc!
Memorat
stef2n
Nu mai tace
*****

Karma: 218
Deconectat Deconectat

Mesaje: 641



Vezi Profilul
« Răspunde #1 : Mai 27, 2009, 08:13:19 »

Iti trebuie sa afli rapid doar al k-lea minim sau faci mai multe query-uri de forma asta?
Memorat

Exista 10 categorii de oameni: cei care inteleg sistemul binar si cei care nu il inteleg.
blasterz
Nu mai tace
*****

Karma: 92
Deconectat Deconectat

Mesaje: 255



Vezi Profilul
« Răspunde #2 : Mai 27, 2009, 11:13:04 »

Poti folosi un arbore binar de cautare echilibrat (avl, treap, splay tree). In fiecare nod mentii

o variabila ce iti spune cate noduri sunt in subarbore. Folosind aceasta informatie poti raspunde in O(logn)

la un query pt al k-lea minim. Daca vrei neaparat heap cred ca merge pe Fibonnaci Heaps...
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #3 : Mai 27, 2009, 11:25:29 »

K este constant?

Daca da, nu ai nevoie de un BST, poti sa iti mentii un max heap de marime K pentru cele mai mici elemente si un min heap pentru elementele mai mari decat a K-a valoare.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #4 : Mai 27, 2009, 11:32:13 »

Poti tine un trie cu numerele reprezentate pe biti. Ce nu suporta aceasta structura sunt intrebari: care este al K-lea minim pe un interval (x,y), dar pentru tot sirul merge.
Memorat

Am zis Mr. Green
nicolaetitus12
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 10



Vezi Profilul
« Răspunde #5 : Mai 27, 2009, 15:52:12 »

Cautam o solutie pentru mai multe query-uri unde k e variabil. Interesanta ideea cu 2 heapuri pentru k constant.
Trie-ul desi cred ca merge mai incet in O(log(nr de biti)) pare mai usor de implementat.
Pe arborele binar de cautare echilibrat se pot face query-uri pe intervale?
Multumesc!
Memorat
Marius
Nu mai tace
*****

Karma: 154
Deconectat Deconectat

Mesaje: 572



Vezi Profilul
« Răspunde #6 : Mai 27, 2009, 18:01:34 »

Cautam o solutie pentru mai multe query-uri unde k e variabil.

Dacă K e variabil atunci poţi face cu Treapuri. Smile

Pe arborele binar de cautare echilibrat se pot face query-uri pe intervale?

Se poate face, dar nu sunt sigur de complexitate. Însă, prin analogie cu arborii de intervale, intuitiv, se păstrează O(log(N)) pe query.
Memorat

Faceti lucrurile simplu: pe cat de simplu posibil, dar nu mai simplu.
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #7 : Mai 27, 2009, 18:27:55 »

Trieurile ocupa foarte multa memorie, si merg in 32 * O(N), ceea ce de multe ori e mai prost decat O(N log N). Pe de alta parte, sunt mai usor de imlementat Smile.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines