Inbox for mugurel_ionut@yahoo.com    Yahoo! - My Yahoo!     Options - Sign Out - Help
Mail    Addresses    Calendar    Notepad   

E*TRADE. It's your money.
Download Attachments
    Prev | Next | Inbox
From: "Radu Stefan" <radu124@deltanet.ro>  | Block Address | Add to Address Book
To: probleme@ldc.ro
Date: Thu, 15 Mar 2001 11:59:05 +0200
Subject: patrascu - Algoritmi aplicati in practica - move-to-front

> 
> Presupun ca multi ati auzit de algoritmul move-to-front (pe la
> compresii). Chestia e cam asa: tii o lista cu caracterele (0..255) si
> la fiecare caracter din fisierul de intrare scrii la iesire pozitia
> lui in lista, dupa care il muti primul in lista. Challenge-ul este 
cum
> implementezi asta astfel incat pentru fiecare caracter sa fie 
O(logK),
> unde K e pozitia caracterului in lista inainte de a-l muta primul.

  O idee ar fi sa tii un fel de arbore echilibrat cu 256 de noduri, in 
care in fiecare nod sa tii o valoare egala cu numarul de varfuri din 
subarborele a carui radacina e varful respectiv.
  Parcurgerea in preordine a arborelui sa dea chiar lista de 
elemente.
o mutare "to front" ar insemna aducerea elementului respectiv in 
radacina arborelui si "coborarea" (daca vezi arborele cu frunzele in 
jos) fostei radacini in subarborele stang.
  N-as incerca sa implementez asa ceva, dar in mare ideea pare sa 
mearga.
  Nu stiu daca nu s-ar putea mai usor cu heap-uri, in care o mutare 
in lista sa fie tradusa in mai multe mutari "up" "down" in heap.
  Eventual sa tii un heap in care elementele sa fie pozitionate dupa 
index-ul ultimei aparitii (in fisierul de intrare).
  Mai e si problema cum faci transformarea inversa.
  Dat fiind ca mi-e lene sa-mi dezvolt ideile sau sa verific daca sunt 
corecte, imi spuneti si voi daca vreuna vi se pare buna.

															Radu

     Prev | Next | Inbox
Download Attachments

Yahoo! Messenger - Send instant messages to friends!
Address Book · Alerts · Auctions · Bill Pay · Bookmarks · Briefcase · Broadcast · Calendar · Chat · Classifieds · Clubs · Companion · Domains · Experts ·Games · Greetings · Home Pages · Invites · Mail · Maps · Member Directory · Messenger · My Yahoo! · News · PayDirect · People Search · Personals · Photos · Shopping · Sports · Stock Quotes · TV · Travel · Weather · Yahooligans · Yellow Pages · more...

Privacy Policy- Terms of Service - Guidelines
Copyright © 1994-2001 Yahoo! Inc. All rights reserved.