🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.python
15 messages
15 total messages Started by sdh Tue, 25 May 2010 12:20
sortowanie zgodnie z odlegloscia
#27483
Author: sdh
Date: Tue, 25 May 2010 12:20
15 lines
1680 bytes
czesc wszystkim,

mam liste obiektow oraz funkcje "porownaj(a,b)", ktora dla danych
dwoch obiektow a i b zwraca wartosc 'odleglosci' miedzy nimi. jesli
'odleglosc'  rowna sie 0 to znaczy, ze sa one identyczne (wg jakiejś
tam hierarchii). ale w rzeczywistosci wartosc odleglosci bedzie sie
wahac w zakresie 1-kilkadziesiat.

pytanie: jak posortowac ta liste tak, aby elementy (obiekty)
najblizsze sobie (najnizsza 'odleglosc' w rozumieniu porownaj(a,b))
znalazly sie kolo siebie na liscie?

dzieki za wskazowki!

stachu
Re: sortowanie zgodnie z odlegloscia
#27487
Author: Stachu 'Dozzie' K.
Date: Tue, 25 May 2010 12:25
18 lines
1898 bytes
On 2010-05-25, sdh <staszekdh@gmail.com> wrote:
> czesc wszystkim,
>
> mam liste obiektow oraz funkcje "porownaj(a,b)", ktora dla danych
> dwoch obiektow a i b zwraca wartosc 'odleglosci' miedzy nimi. jesli
> 'odleglosc'  rowna sie 0 to znaczy, ze sa one identyczne (wg jakiejś
> tam hierarchii). ale w rzeczywistosci wartosc odleglosci bedzie sie
> wahac w zakresie 1-kilkadziesiat.
>
> pytanie: jak posortowac ta liste tak, aby elementy (obiekty)
> najblizsze sobie (najnizsza 'odleglosc' w rozumieniu porownaj(a,b))
> znalazly sie kolo siebie na liscie?

A sprawdzałeś metodę sort() klasy list? Nie? To sprawdź.

-- 
Secunia non olet.
Stanislaw Klekot
Re: sortowanie zgodnie z odlegloscia
#27488
Author: sdh
Date: Tue, 25 May 2010 12:31
12 lines
1714 bytes
>
> A sprawdzałeś metodę sort() klasy list? Nie? To sprawdź.


Sprawdzalem (http://wiki.python.org/moin/HowTo/Sorting/), ale nie
widze rozwiazania.
W moim przypadku porownanie dwoch obiektow zwraca liczbe (to, co
nazwalem 'odleglosc' ) a nie 0/1 (ktory wiekszy)

Pozdr
S
Re: sortowanie zgodnie z odlegloscia
#27489
Author: Mariusz Kruk
Date: Tue, 25 May 2010 12:34
21 lines
1783 bytes
epsilon$ while read LINE; do echo \>"$LINE"; done < "Stachu 'Dozzie' K."
>> mam liste obiektow oraz funkcje "porownaj(a,b)", ktora dla danych
>> dwoch obiektow a i b zwraca wartosc 'odleglosci' miedzy nimi. jesli
>> 'odleglosc'  rowna sie 0 to znaczy, ze sa one identyczne (wg jakiejś
>> tam hierarchii). ale w rzeczywistosci wartosc odleglosci bedzie sie
>> wahac w zakresie 1-kilkadziesiat.
>>
>> pytanie: jak posortowac ta liste tak, aby elementy (obiekty)
>> najblizsze sobie (najnizsza 'odleglosc' w rozumieniu porownaj(a,b))
>> znalazly sie kolo siebie na liscie?
>A sprawdzałeś metodę sort() klasy list? Nie? To sprawdź.

Poczekaj, ale trick polega na tym, że "porównanie" tutaj nie porównuje
elementów, tylko wyznacza pewną wartość dla danej pary elementów.
Poza tym zadanie w ogóle jest źle zdefiniowane.

-- 
[------------------------] 
[  Kruk@epsilon.eu.org   ] 
[ http://epsilon.eu.org/ ] 
[------------------------] 
Re: sortowanie zgodnie z odlegloscia
#27490
Author: sdh
Date: Tue, 25 May 2010 12:37
18 lines
1869 bytes
>
> >> pytanie: jak posortowac ta liste tak, aby elementy (obiekty)
> >> najblizsze sobie (najnizsza 'odleglosc' w rozumieniu porownaj(a,b))
> >> znalazly sie kolo siebie na liscie?
> >A sprawdzałeś metodę sort() klasy list? Nie? To sprawdź.
>
> Poczekaj, ale trick polega na tym, że "porównanie" tutaj nie porównuje
> elementów, tylko wyznacza pewną wartość dla danej pary elementów.

no wlasnie :)

> Poza tym zadanie w ogóle jest źle zdefiniowane.
>

chetnie jest zredefiniuje

Staszek
Re: sortowanie zgodnie z odlegloscia
#27491
Author: Mariusz Kruk
Date: Tue, 25 May 2010 12:48
30 lines
2441 bytes
epsilon$ while read LINE; do echo \>"$LINE"; done < "sdh"
>> >> pytanie: jak posortowac ta liste tak, aby elementy (obiekty)
>> >> najblizsze sobie (najnizsza 'odleglosc' w rozumieniu porownaj(a,b))
>> >> znalazly sie kolo siebie na liscie?
>> >A sprawdzałeś metodę sort() klasy list? Nie? To sprawdź.
>> Poczekaj, ale trick polega na tym, że "porównanie" tutaj nie porównuje
>> elementów, tylko wyznacza pewną wartość dla danej pary elementów.
>no wlasnie :)
>
>> Poza tym zadanie w ogóle jest źle zdefiniowane.
>chetnie jest zredefiniuje

Zastanów się najpierw nad rozwiązywalnością zadania w ogóle.
Czy "odległość" jest zdefiniowana dla każdej pary elementów?
Jak się mają wzajemnie te "odległości" do siebie?
W ogólności - żeby posortować zbiór - musisz mieć jasne kryterium. W tej
chwili masz kryterium pozwalające posortować nie zbiór danych elementów,
a jedynie zbiór par elementów. Jak to przełożyć na pojedyncze elementy?
To już zależy od ciebie. Skąd my mamy wiedzieć?
Wyobraź sobie np. sytuację w której masz rozmieszczone mniej-więcej
równo na okręgu punkty i jako "odległość" masz zwykłą euklidesową
metrykę na płaszczyźnie. Każdy z punktów będzie najbliżej swoich
bezpośrednich sąsiadów, ale stosunkowo daleko do pozostałych punktów.
Jak chciałbyś sortować w takiej sytuacji?

-- 
\------------------------/ 
|  Kruk@epsilon.eu.org   | 
| http://epsilon.eu.org/ | 
/------------------------\ 
Re: sortowanie zgodnie z odlegloscia
#27492
Author: sdh
Date: Tue, 25 May 2010 13:22
42 lines
3327 bytes
On May 25, 2:48 pm, Mariusz Kruk <Mariusz.K...@epsilon.eu.org> wrote:
> epsilon$ while read LINE; do echo \>"$LINE"; done < "sdh"
>
> >> >> pytanie: jak posortowac ta liste tak, aby elementy (obiekty)
> >> >> najblizsze sobie (najnizsza 'odleglosc' w rozumieniu porownaj(a,b))
> >> >> znalazly sie kolo siebie na liscie?
> >> >A sprawdzałeś metodę sort() klasy list? Nie? To sprawdź.
> >> Poczekaj, ale trick polega na tym, że "porównanie" tutaj nie porównuje
> >> elementów, tylko wyznacza pewną wartość dla danej pary elementów.
> >no wlasnie :)
>
> >> Poza tym zadanie w ogóle jest źle zdefiniowane.
> >chetnie jest zredefiniuje
>
> Zastanów się najpierw nad rozwiązywalnością zadania w ogóle.
> Czy "odległość" jest zdefiniowana dla każdej pary elementów?
> Jak się mają wzajemnie te "odległości" do siebie?
> W ogólności - żeby posortować zbiór - musisz mieć jasne kryterium. W tej
> chwili masz kryterium pozwalające posortować nie zbiór danych elementów,
> a jedynie zbiór par elementów. Jak to przełożyć na pojedyncze elementy?
> To już zależy od ciebie. Skąd my mamy wiedzieć?
> Wyobraź sobie np. sytuację w której masz rozmieszczone mniej-więcej
> równo na okręgu punkty i jako "odległość" masz zwykłą euklidesową
> metrykę na płaszczyźnie. Każdy z punktów będzie najbliżej swoich
> bezpośrednich sąsiadów, ale stosunkowo daleko do pozostałych punktów.
> Jak chciałbyś sortować w takiej sytuacji?
>

ok,

sprawa jest nieco bardziej zlozona.

mamy drzewo. mamy korzen, do korzenia podlaczonych n wezlow, do kazego
z tych wezlow kolejne wezly itd. drzewo jest duze (700.000 wezlow).
mamy kilkaset lisci (ostatecznych wezlow, ktore sie juz nie
rozdzielaja) z tego drzewa. chce pogrupwac te liscie (jako liste), tak
zeby ich kolejnosc odzwierciedlala topologie drzewa. stad pomysl na ta
odleglosc, ktora jest po prostu iloscia wezlow, ktora odziela dwa
liscie.

pozdr
s
Re: sortowanie zgodnie z odlegloscia
#27493
Author: Mariusz Kruk
Date: Tue, 25 May 2010 13:37
45 lines
3317 bytes
epsilon$ while read LINE; do echo \>"$LINE"; done < "sdh"
>> >> >> pytanie: jak posortowac ta liste tak, aby elementy (obiekty)
>> >> >> najblizsze sobie (najnizsza 'odleglosc' w rozumieniu porownaj(a,b))
>> >> >> znalazly sie kolo siebie na liscie?
>> >> >A sprawdzałeś metodę sort() klasy list? Nie? To sprawdź.
>> >> Poczekaj, ale trick polega na tym, że "porównanie" tutaj nie porównuje
>> >> elementów, tylko wyznacza pewną wartość dla danej pary elementów.
>> >no wlasnie :)
>>
>> >> Poza tym zadanie w ogóle jest źle zdefiniowane.
>> >chetnie jest zredefiniuje
>>
>> Zastanów się najpierw nad rozwiązywalnością zadania w ogóle.
>> Czy "odległość" jest zdefiniowana dla każdej pary elementów?
>> Jak się mają wzajemnie te "odległości" do siebie?
>> W ogólności - żeby posortować zbiór - musisz mieć jasne kryterium. W tej
>> chwili masz kryterium pozwalające posortować nie zbiór danych elementów,
>> a jedynie zbiór par elementów. Jak to przełożyć na pojedyncze elementy?
>> To już zależy od ciebie. Skąd my mamy wiedzieć?
>> Wyobraź sobie np. sytuację w której masz rozmieszczone mniej-więcej
>> równo na okręgu punkty i jako "odległość" masz zwykłą euklidesową
>> metrykę na płaszczyźnie. Każdy z punktów będzie najbliżej swoich
>> bezpośrednich sąsiadów, ale stosunkowo daleko do pozostałych punktów.
>> Jak chciałbyś sortować w takiej sytuacji?
>ok,
>
>sprawa jest nieco bardziej zlozona.
>
>mamy drzewo. mamy korzen, do korzenia podlaczonych n wezlow, do kazego
>z tych wezlow kolejne wezly itd. drzewo jest duze (700.000 wezlow).
>mamy kilkaset lisci (ostatecznych wezlow, ktore sie juz nie
>rozdzielaja) z tego drzewa. chce pogrupwac te liscie (jako liste), tak
>zeby ich kolejnosc odzwierciedlala topologie drzewa. stad pomysl na ta
>odleglosc, ktora jest po prostu iloscia wezlow, ktora odziela dwa
>liscie.

Wciąż nie do końca rozumiem z jakim kryterium chciałbyś sortować. Wciąż
piszesz o kryterium określonym dla pary.
Jeśli chcesz pojedyncze kryterium, możesz wziąć głębokość węzła.

-- 
  Kruk@ -\                   | 
          }-> epsilon.eu.org | 
http:// -/                   | 
                             | 
Re: sortowanie zgodnie z odlegloscia
#27494
Author: sdh
Date: Tue, 25 May 2010 13:44
48 lines
3973 bytes
On May 25, 3:37 pm, Mariusz Kruk <Mariusz.K...@epsilon.eu.org> wrote:
> epsilon$ while read LINE; do echo \>"$LINE"; done < "sdh"
>
>
>
> >> >> >> pytanie: jak posortowac ta liste tak, aby elementy (obiekty)
> >> >> >> najblizsze sobie (najnizsza 'odleglosc' w rozumieniu porownaj(a,b))
> >> >> >> znalazly sie kolo siebie na liscie?
> >> >> >A sprawdzałeś metodę sort() klasy list? Nie? To sprawdź.
> >> >> Poczekaj, ale trick polega na tym, że "porównanie" tutaj nie porównuje
> >> >> elementów, tylko wyznacza pewną wartość dla danej pary elementów.
> >> >no wlasnie :)
>
> >> >> Poza tym zadanie w ogóle jest źle zdefiniowane.
> >> >chetnie jest zredefiniuje
>
> >> Zastanów się najpierw nad rozwiązywalnością zadania w ogóle.
> >> Czy "odległość" jest zdefiniowana dla każdej pary elementów?
> >> Jak się mają wzajemnie te "odległości" do siebie?
> >> W ogólności - żeby posortować zbiór - musisz mieć jasne kryterium. W tej
> >> chwili masz kryterium pozwalające posortować nie zbiór danych elementów,
> >> a jedynie zbiór par elementów. Jak to przełożyć na pojedyncze elementy?
> >> To już zależy od ciebie. Skąd my mamy wiedzieć?
> >> Wyobraź sobie np. sytuację w której masz rozmieszczone mniej-więcej
> >> równo na okręgu punkty i jako "odległość" masz zwykłą euklidesową
> >> metrykę na płaszczyźnie. Każdy z punktów będzie najbliżej swoich
> >> bezpośrednich sąsiadów, ale stosunkowo daleko do pozostałych punktów.
> >> Jak chciałbyś sortować w takiej sytuacji?
> >ok,
>
> >sprawa jest nieco bardziej zlozona.
>
> >mamy drzewo. mamy korzen, do korzenia podlaczonych n wezlow, do kazego
> >z tych wezlow kolejne wezly itd. drzewo jest duze (700.000 wezlow).
> >mamy kilkaset lisci (ostatecznych wezlow, ktore sie juz nie
> >rozdzielaja) z tego drzewa. chce pogrupwac te liscie (jako liste), tak
> >zeby ich kolejnosc odzwierciedlala topologie drzewa. stad pomysl na ta
> >odleglosc, ktora jest po prostu iloscia wezlow, ktora odziela dwa
> >liscie.
>
> Wciąż nie do końca rozumiem z jakim kryterium chciałbyś sortować. Wciąż
> piszesz o kryterium określonym dla pary.
> Jeśli chcesz pojedyncze kryterium, możesz wziąć głębokość węzła.
>

chodzio o to zeby podobne (blisko na drzewie) liscie byly kolo siebie
na liscie i tworzyly w niej kiscie ;)
myslalem o zastosowaniu klastrowania UPGMA...
Re: sortowanie zgodnie z odlegloscia
#27484
Author: Bart Ogryczak
Date: Tue, 25 May 2010 13:48
24 lines
2496 bytes
On May 25, 2:20 pm, sdh <stasze...@gmail.com> wrote:
> czesc wszystkim,
>
> mam liste obiektow oraz funkcje "porownaj(a,b)", ktora dla danych
> dwoch obiektow a i b zwraca wartosc 'odleglosci' miedzy nimi. jesli
> 'odleglosc'  rowna sie 0 to znaczy, ze sa one identyczne (wg jakiejś
> tam hierarchii). ale w rzeczywistosci wartosc odleglosci bedzie sie
> wahac w zakresie 1-kilkadziesiat.
>
> pytanie: jak posortowac ta liste tak, aby elementy (obiekty)
> najblizsze sobie (najnizsza 'odleglosc' w rozumieniu porownaj(a,b))
> znalazly sie kolo siebie na liscie?

Nie posortować, a poklastrować. Robi się macierz odległości, wylicza
jej wektory własne, redukuje jej stopień do liczby klastrów które
chcesz mieć i gotowe. Nie pytaj mnie o szczegóły, to ten wykład miałem
pare lat temu.

Tutaj możesz zacząć szukać od strony matematycznej:
http://en.wikipedia.org/wiki/Cluster_analysis
A pythonowe narzędzia znajdziesz w SciPy http://docs.scipy.org/doc/scipy/reference/linalg.html

Update: jest chyba nawet gotowe rozwiązanie. http://code.google.com/p/scipy-cluster/
Ciebie interesuje normal euklidesowa.
Re: sortowanie zgodnie z odlegloscia
#27485
Author: sdh
Date: Tue, 25 May 2010 14:02
29 lines
2603 bytes
> > mam liste obiektow oraz funkcje "porownaj(a,b)", ktora dla danych
> > dwoch obiektow a i b zwraca wartosc 'odleglosci' miedzy nimi. jesli
> > 'odleglosc'  rowna sie 0 to znaczy, ze sa one identyczne (wg jakiejś
> > tam hierarchii). ale w rzeczywistosci wartosc odleglosci bedzie sie
> > wahac w zakresie 1-kilkadziesiat.
>
> > pytanie: jak posortowac ta liste tak, aby elementy (obiekty)
> > najblizsze sobie (najnizsza 'odleglosc' w rozumieniu porownaj(a,b))
> > znalazly sie kolo siebie na liscie?
>
> Nie posortować, a poklastrować. Robi się macierz odległości, wylicza
> jej wektory własne, redukuje jej stopień do liczby klastrów które
> chcesz mieć i gotowe. Nie pytaj mnie o szczegóły, to ten wykład miałem
> pare lat temu.
>
> Tutaj możesz zacząć szukać od strony matematycznej:http://en.wikipedia.org/wiki/Cluster_analysis
> A pythonowe narzędzia znajdziesz w SciPyhttp://docs.scipy.org/doc/scipy/reference/linalg.html
>
> Update: jest chyba nawet gotowe rozwiązanie.http://code.google.com/p/scipy-cluster/
> Ciebie interesuje normal euklidesowa.

Dzieki!

Ktory z algorytmow (i dlaczego?) powinienem wykorzystac?

http://docs.scipy.org/doc/scipy/reference/cluster.hierarchy.html

tak jak wspominalem, myslalem o the average/UPGMA algorithm
Re: sortowanie zgodnie z odlegloscia
#27495
Author: Stachu 'Dozzie' K.
Date: Tue, 25 May 2010 14:47
28 lines
2559 bytes
On 2010-05-25, Mariusz Kruk <Mariusz.Kruk@epsilon.eu.org> wrote:
> epsilon$ while read LINE; do echo \>"$LINE"; done < "Stachu 'Dozzie' K."
>>> mam liste obiektow oraz funkcje "porownaj(a,b)", ktora dla danych
>>> dwoch obiektow a i b zwraca wartosc 'odleglosci' miedzy nimi. jesli
>>> 'odleglosc'  rowna sie 0 to znaczy, ze sa one identyczne (wg jakiejś
>>> tam hierarchii). ale w rzeczywistosci wartosc odleglosci bedzie sie
>>> wahac w zakresie 1-kilkadziesiat.
>>>
>>> pytanie: jak posortowac ta liste tak, aby elementy (obiekty)
>>> najblizsze sobie (najnizsza 'odleglosc' w rozumieniu porownaj(a,b))
>>> znalazly sie kolo siebie na liscie?
>>A sprawdzałeś metodę sort() klasy list? Nie? To sprawdź.
>
> Poczekaj, ale trick polega na tym, że "porównanie" tutaj nie porównuje
> elementów, tylko wyznacza pewną wartość dla danej pary elementów.

noi?
pydoc list, szukasz po sort. Mariusz, po tobie bym się spodziewał że
będziesz pamiętać jak to było rozwiązane w C (stdlib.h, qsort()).

> Poza tym zadanie w ogóle jest źle zdefiniowane.

Fakt, źle sformułowane. Nie spałem całą noc, więc włączył mi się moduł
automatycznej korekcji warunków.

-- 
Secunia non olet.
Stanislaw Klekot
Re: sortowanie zgodnie z odlegloscia
#27486
Author: Bart Ogryczak
Date: Tue, 25 May 2010 16:26
30 lines
2962 bytes
On May 25, 4:02 pm, sdh <stasze...@gmail.com> wrote:
> > > mam liste obiektow oraz funkcje "porownaj(a,b)", ktora dla danych
> > > dwoch obiektow a i b zwraca wartosc 'odleglosci' miedzy nimi. jesli
> > > 'odleglosc'  rowna sie 0 to znaczy, ze sa one identyczne (wg jakiejś
> > > tam hierarchii). ale w rzeczywistosci wartosc odleglosci bedzie sie
> > > wahac w zakresie 1-kilkadziesiat.
>
> > > pytanie: jak posortowac ta liste tak, aby elementy (obiekty)
> > > najblizsze sobie (najnizsza 'odleglosc' w rozumieniu porownaj(a,b))
> > > znalazly sie kolo siebie na liscie?
>
> > Nie posortować, a poklastrować. Robi się macierz odległości, wylicza
> > jej wektory własne, redukuje jej stopień do liczby klastrów które
> > chcesz mieć i gotowe. Nie pytaj mnie o szczegóły, to ten wykład miałem
> > pare lat temu.
>
> > Tutaj możesz zacząć szukać od strony matematycznej:http://en.wikipedia.org/wiki/Cluster_analysis
> > A pythonowe narzędzia znajdziesz w SciPyhttp://docs.scipy.org/doc/scipy/reference/linalg.html
>
> > Update: jest chyba nawet gotowe rozwiązanie.http://code.google.com/p/scipy-cluster/
> > Ciebie interesuje normal euklidesowa.
>
> Dzieki!
>
> Ktory z algorytmow (i dlaczego?) powinienem wykorzystac?

To chyba zależy od tego w jakis dokładnie sposób chcesz je mieć
pogrupowane.
Tu masz ich opis:
http://www.stanford.edu/~maureenh/quals/html/ml/node73.html
Re: sortowanie zgodnie z odlegloscia
#27496
Author: Mariusz Kruk
Date: Tue, 25 May 2010 18:48
28 lines
2246 bytes
epsilon$ while read LINE; do echo \>"$LINE"; done < "Stachu 'Dozzie' K."
>>>> mam liste obiektow oraz funkcje "porownaj(a,b)", ktora dla danych
>>>> dwoch obiektow a i b zwraca wartosc 'odleglosci' miedzy nimi. jesli
>>>> 'odleglosc'  rowna sie 0 to znaczy, ze sa one identyczne (wg jakiejś
>>>> tam hierarchii). ale w rzeczywistosci wartosc odleglosci bedzie sie
>>>> wahac w zakresie 1-kilkadziesiat.
>>>>
>>>> pytanie: jak posortowac ta liste tak, aby elementy (obiekty)
>>>> najblizsze sobie (najnizsza 'odleglosc' w rozumieniu porownaj(a,b))
>>>> znalazly sie kolo siebie na liscie?
>>>A sprawdzałeś metodę sort() klasy list? Nie? To sprawdź.
>> Poczekaj, ale trick polega na tym, że "porównanie" tutaj nie porównuje
>> elementów, tylko wyznacza pewną wartość dla danej pary elementów.
>noi?
>pydoc list, szukasz po sort. Mariusz, po tobie bym się spodziewał że
>będziesz pamiętać jak to było rozwiązane w C (stdlib.h, qsort()).

Ja wiem jak działa sort. Tyle, że sort wymaga funkcji
porównującej _elementy_. Tu nie jest powiedzianie, że porownaj(a,b) ma
cokolwiek wspólnego z a<b. Tu możemy co najwyżej stwierdzić, że
porownaj(a,b)<porownaj(c,d).
Albo ja coś przespałem.

-- 
\.\.\.\.\.\.\.\.\.\.\.\.\.\ 
.\.Kruk@epsilon.eu.org.\.\. 
\.http://epsilon.eu.org/\.\ 
.\.\.\.\.\.\.\.\.\.\.\.\.\. 
Re: sortowanie zgodnie z odlegloscia
#27497
Author: Stachu 'Dozzie' K.
Date: Tue, 25 May 2010 21:23
30 lines
2847 bytes
On 2010-05-25, Mariusz Kruk <Mariusz.Kruk@epsilon.eu.org> wrote:
> epsilon$ while read LINE; do echo \>"$LINE"; done < "Stachu 'Dozzie' K."
>>>>> mam liste obiektow oraz funkcje "porownaj(a,b)", ktora dla danych
>>>>> dwoch obiektow a i b zwraca wartosc 'odleglosci' miedzy nimi. jesli
>>>>> 'odleglosc'  rowna sie 0 to znaczy, ze sa one identyczne (wg jakiejś
>>>>> tam hierarchii). ale w rzeczywistosci wartosc odleglosci bedzie sie
>>>>> wahac w zakresie 1-kilkadziesiat.
>>>>>
>>>>> pytanie: jak posortowac ta liste tak, aby elementy (obiekty)
>>>>> najblizsze sobie (najnizsza 'odleglosc' w rozumieniu porownaj(a,b))
>>>>> znalazly sie kolo siebie na liscie?
>>>>A sprawdzałeś metodę sort() klasy list? Nie? To sprawdź.
>>> Poczekaj, ale trick polega na tym, że "porównanie" tutaj nie porównuje
>>> elementów, tylko wyznacza pewną wartość dla danej pary elementów.
>>noi?
>>pydoc list, szukasz po sort. Mariusz, po tobie bym się spodziewał że
>>będziesz pamiętać jak to było rozwiązane w C (stdlib.h, qsort()).
>
> Ja wiem jak działa sort. Tyle, że sort wymaga funkcji
> porównującej _elementy_. Tu nie jest powiedzianie, że porownaj(a,b) ma
> cokolwiek wspólnego z a<b. Tu możemy co najwyżej stwierdzić, że
> porownaj(a,b)<porownaj(c,d).
> Albo ja coś przespałem.

Słusznie. To ja miałem przespać (się). Wyłączam się z wątku, bo bzdury
gadam.

-- 
Secunia non olet.
Stanislaw Klekot
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads