🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.ruby
Article #1220

Re: rozrzucić

#1220
From: Przemysław Kowalczyk
Date: Wed, 18 Feb 2009 19:54
30 lines
2256 bytes
On Wed, 18 Feb 2009 19:56:41 +0100, Radosław Bułat <radarrek@poczta.fm>  
wrote:
>>>> Mam pytanie. Jak rozrzucic losowo elementy w tablicy. Chodzi mi o coś
>>>> odwrotnego do sortowania.
>>>
>>> arr = (1..10).to_a
>>> arr = arr.sort_by { rand }
>>  nigdy tak nie rob, patrz:  
>> http://szeryf.wordpress.com/2007/06/19/a-simple-shuffle-that-proved-not-so-simple-after-all/  
>>   szegolnie ostatni podrozdzial.
>
> Przeczytałem nawet całe :). Z początku przestraszyłem się, że palnąłem  
> straszną głupotę czy coś. Oczywiście mogłem dodać że moja metoda ma  
> złożoność O(N * log(N)), czyli taką jak... sortowania. Myślę, że pisanie  
> "nigdy tak nie rób" nie ma sensu, co zresztą wynika z Twoich testów,  
> które dopiero od pewnego momentu wykazały większą wydajność innej metody.

...czyli nie przeczytales calego :) na koncu pisze o najwiekszym problemie  
zwiazanym z ta metoda, czyli o "skrzywieniu" wynikow. po prostu w ten  
sposob nie uzyskasz wszystkich permutacji z jednakowym  
prawdopodobienstwem. a mam wrazenie, ze OP zajmuje sie jakimis  
obliczeniami, wiec moze to byc dla niego istotne.

zobacz tez http://www.codinghorror.com/blog/archives/001015.html jak u  
mnie nie jest wystarczajaco jasno :)

pzdr
	szeryf
-- 
Przemysław ,,Szeryf'' Kowalczyk :: http://szeryf.wordpress.com/
Technical Details
Message-ID: <op.upkb8hzruw9fft@negative-361apc>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.task.gda.pl!not-for-mail
References: <gngc3r$t4t$1@atlantis.news.neostrada.pl> <gngr0v$eu$1@inews.gazeta.pl> <op.upj7gcr3uw9fft@negative-361apc> <gnhlla$54n$1@inews.gazeta.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.task.gda.pl!not-for-mail
From: Przemysław Kowalczyk <someone@microsoft.com>
Newsgroups: pl.comp.lang.ruby
Subject: Re: rozrzucić
Date: Wed, 18 Feb 2009 20:54:07 +0100
Organization: CI TASK http://www.task.gda.pl/
Lines: 30
Message-ID: <op.upkb8hzruw9fft@negative-361apc>
References: <gngc3r$t4t$1@atlantis.news.neostrada.pl> <gngr0v$eu$1@inews.gazeta.pl> <op.upj7gcr3uw9fft@negative-361apc> <gnhlla$54n$1@inews.gazeta.pl>
NNTP-Posting-Host: host-81-190-218-64.wroclaw.mm.pl
Mime-Version: 1.0
X-Trace: news.task.gda.pl 1234986899 28242 81.190.218.64 (18 Feb 2009 19:54:59 GMT)
X-Complaints-To: abuse@news.task.gda.pl
NNTP-Posting-Date: Wed, 18 Feb 2009 19:54:59 +0000 (UTC)
User-Agent: Opera Mail/9.10 (Win32)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit