-
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.pionier.net.pl!pwr.wroc.pl!
news.wcss.wroc.pl!not-for-mail
From: Mirek <p...@d...zind.ikem.pwr.wroc.pl>
Newsgroups: pl.comp.programming
Subject: Ile elementów mniejszych od ...
Date: Mon, 2 Mar 2009 22:09:16 +0000 (UTC)
Organization: WUT
Lines: 53
Message-ID: <gohlec$nn0$1@z-news.wcss.wroc.pl>
NNTP-Posting-Host: infrared.zind.ikem.pwr.wroc.pl
X-Trace: z-news.wcss.wroc.pl 1236031756 24288 156.17.14.223 (2 Mar 2009 22:09:16 GMT)
X-Complaints-To: a...@n...pwr.wroc.pl
NNTP-Posting-Date: Mon, 2 Mar 2009 22:09:16 +0000 (UTC)
User-Agent: tin/1.9.3-20080506 ("Dalintober") (UNIX) (Linux/2.6.26-1-686 (i686))
Xref: news-archive.icm.edu.pl pl.comp.programming:181298
[ ukryj nagłówki ]Witam,
od pewnego czasu nurtuje mnie tytułowe pytanie: "Ile elementów
w zadanym zbiorze jest mniejszych od wybranego elementu?"
Dla dość specyficznej relacji częsciowego porządku szukam
efektywnej struktury/algorytmu, która ułatwi mi odpowiedź na to
pytanie.
O to charakterystyka zbioru:
- Zbiór unikalnych elementów E={e[i],i=1...N} o liczności rzędu 10^6
- Każdy element posiada pewną liczbę cech (obiekty mają rożne
ilości cech), oznaczmy to e[i]={e[i,j],j=1...n_i}, średnia
liczność cech w zbior E wynosi około 30-50, tzn.:
sum_i #e[i] ~= 50*#E
- Każda cecha e[i,j] jest uporządkowawaną parą liczb dodatnich:
e[i,j] = ( e[i,j,1], e[i,j,2] ), gdzie e[i,j,1] <= e[i,j,2].
(równość zachodzi co najwyżej dla jednej cechy w elemencie)
- Relacja częściowego porządku cech:
e[i1,j1] < e[i2,j2] <==>
(e[i1,j1,1] < e[i2,j2,1]) & (e[i1,j1,2] < e[i2,j2,2])
Każda cecha (czyli para liczbowa) jest unikalna w całym
zbiorze E, więc relacja e[i1,j1] = e[i2,j2] zachodzi tylko
gdy i1=i2 i j1=j2. Nie wszystkie cechy są porównywalne wg
powyższej definicji. W dodatku *żadne* dwie cechy danego
elementu nie są porównywalne.
- Na koniec właściwa relacja porządkująca elementy e[i]:
e[i1] < e[i2] <==>
istnieje choć jedna para j1,j2: e[i1,j1] < e[i2,j2]
Definicja jest jednoznaczna/niesprzeczna, tzn. jeżeli
dla danych i1,i2 istnieją powyższe j1,j2, to nie istnieją
k1, k2 takie, że zachodzi relacja odwrotna e[i1,k1] > e[i2,k2].
Nie wiem czy to istotne, ale zbiór e[i] jest już zanurzony w
liniowy porządkek, tzn. jeżeli zachodzi e[i1] < e[i2], to
i1<i2.
Czy istnieje jakieś rozwiązanie o złożonościach
- przygotowanie danych: O(sum #e[i])
- pojedyńcze pytanie O(#e[i])
Czekam na pomysły, literaturę, ...
Pozdrawiam, Mirek.
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-03-12 Ryga => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i Kad
- 2025-03-12 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-03-12 Warszawa => Programista C <=
- 2025-03-12 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-03-12 64 proc. kierowców zrobi dodatkowo maks. 500 m, aby przy okazji zatankować pojazd
- 2025-03-12 Warszawa => Generative AI Engineer <=
- 2025-03-12 Dęblin => Node.js / Fullstack Developer <=
- 2025-03-12 Warszawa => Gen AI Engineer <=
- 2025-03-12 Warszawa => Data Engineer (Tech Lead) <=
- 2025-03-12 Gdańsk => PHP Developer <=
- 2025-03-12 China-Kraków => Production Coordinator / Representant Product Dev <=
- 2025-03-12 Warszawa => JavaScript / Node / Fullstack Developer <=
- 2025-03-12 China-Kraków => Key Account Manager IT <=
- 2025-03-12 Warszawa => Java Developer <=
- 2025-03-12 Warszawa => Junior Digital Product Manager <=