-
X-Received: by 10.31.151.77 with SMTP id z74mr18258vkd.3.1503354464578; Mon, 21 Aug
2017 15:27:44 -0700 (PDT)
X-Received: by 10.31.151.77 with SMTP id z74mr18258vkd.3.1503354464578; Mon, 21 Aug
2017 15:27:44 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
0.net!peer01.am4!peer.am4.highwinds-media.com!peer01.iad!feed-me.highwinds-medi
a.com!news.highwinds-media.com!v29no2260114qtv.0!news-out.google.com!i9ni42689q
te.0!nntp.google.com!v29no2260108qtv.0!postnews.google.com!glegroupsg2000goo.go
oglegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Mon, 21 Aug 2017 15:27:44 -0700 (PDT)
In-Reply-To: <5...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=159.205.148.252;
posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
NNTP-Posting-Host: 159.205.148.252
References: <1...@g...com>
<5...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <d...@g...com>
Subject: Re: Drzewa AA
From: "M.M." <m...@g...com>
Injection-Date: Mon, 21 Aug 2017 22:27:44 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Received-Body-CRC: 4225127135
X-Received-Bytes: 4506
Xref: news-archive.icm.edu.pl pl.comp.programming:211220
[ ukryj nagłówki ]On Monday, August 21, 2017 at 10:58:34 PM UTC+2, bartekltg wrote:
> On Monday, August 21, 2017 at 2:09:05 AM UTC+2, M.M. wrote:
> > Pierwszy raz się z czymś takim spotykam. Podobno są tak samo wydajne jak drzewa
czerwono czarne, ale są prostsze w implementacji.
> >
> > Cytat ze stacka:
> > [
> > An alternative to all these trees are AA-Trees. As this PDF paper suggests,
AA-Trees (which are in fact a sub-group of RB-Trees) are almost equal in performance
to normal RB-Trees, but they are much easier to implement than RB-Trees, AVL-Trees,
or B-Trees. Here is a full implementation, look how tiny it is (the main-function is
not part of the implementation and half of the implementation lines are actually
comments).
> > ]
>
>
> Zapomniałeś dać linka do źródła cytatu:>
>
> >
> > Prawda czy fałsz?
>
> Które są szybsze zależy od tego, co będziesz robił.
> https://stackoverflow.com/questions/22435912/red-bla
ck-trees-versus-andersson-trees
>
> pzdr
> bartekltg
Racja:
[
So there's a trade-off here: when comparisons are cheap but updates are frequent, a
red-black tree might outperform an AA tree; otherwise, when comparisons are expensive
but lookups are more frequent than updates, the AA tree might win.
]
Myślę jednak, że te różnice są niewielkie. Gdy jest naprawdę dużo
porównań, to jak już pisałem, można zaimplementować rb-tree na
tablicy i posortować w czasie O(N) przed długą serią wyszukiwań.
Gdy są dosłownie wyszukiwania (dosłownie, czyli nie ma lowerBound, ani
upperBound), to można też w czasie O(N) zbudować hash-table - ale
to wymaga dodatkowej pamięci.
Oczywiście jest jeszcze i taka możliwość, że w losowej chwili
robimy jedną modyfikację na 5-30 wyszukiwań. Gdy jest to 5, to
może lepsze będą rb-tree, gdy 30, to może AA-tree. Trudno
powiedzieć bez zmierzenia.
Chwilowo mam taką sytuację w której mogę przewidzieć, że po jednej
modyfikacji będą miliony wywołań lowerBound, więc rb-tree na tablicy z
sortowaniem wydaje się najlepsze. A w dodatku modyfikacja czasami
może nie zaburzać porządku drzewa, więc chyba już nic lepszego
nie znajdę - aczkolwiek trochę mi się zrobiło głupio, że można
podobny efekt do rb-tree uzyskać przy pomocy króciutkiego kodu :)
Pozdrawiam
P.S.
Wrzuciłem na bloga ulepszony program do przetestowania:
https://drzewa-czerwono-czarne.blogspot.ch/p/kod-zro
dowy-programu-testujacego.html
A także skrypt automatyzujący test:
https://drzewa-czerwono-czarne.blogspot.ch/p/skrypt-
do-wykonania-testu-implementacji.html
Kod drzewka pod starym adresem:
https://drzewa-czerwono-czarne.blogspot.ch/p/kod-zro
dowy-c-drzewa-czerwono-czarne.html
Następne wpisy z tego wątku
- 22.08.17 00:29 M.M.
- 22.08.17 12:22 bartekltg
- 22.08.17 14:43 M.M.
- 22.08.17 15:34 bartekltg
- 22.08.17 16:15 M.M.
- 22.08.17 16:39 bartekltg
- 22.08.17 20:19 M.M.
Najnowsze wątki z tej grupy
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
Najnowsze wątki
- 2026-01-03 LEDy na choinkę zdechły
- 2026-01-03 Wenezuela
- 2026-01-03 Wtopa LED
- 2026-01-03 Warszawa => Account Manager - Sprzedaż Usług Rekrutacyjnych <=
- 2026-01-03 "Obywatelskie zatrzymanie"
- 2026-01-03 ograniczanie sztucznej inteligencji
- 2026-01-02 Szalejąca dyskryminacja obywateli USA w Maili i Burkina Faso. Czy to legalne?
- 2026-01-02 Miało być zniesienie abonamentu RTV, a jest podwyżka!!!
- 2026-01-02 Miało być zniesienie abonamentu RTV, a jest podwyżka!!!
- 2026-01-02 Kogo KE opierdoli za nieskuteczną cenzurę? [Rząd tuski doniósł]
- 2026-01-02 Gdańsk => Konsultant Microsoft Dynamics AX/365 SCM Consultant - Servi
- 2026-01-02 Gdańsk => Solution Architect (Workday) - Legal Systems <=
- 2026-01-02 Gdańsk => Microsoft Dynamics 365 Finance Consultant <=
- 2026-01-02 Microsoft, C/C++ na Rust - news
- 2026-01-01 szyby macie całe?




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]