-
X-Received: by 10.182.19.129 with SMTP id f1mr290397obe.20.1461406205424; Sat, 23 Apr
2016 03:10:05 -0700 (PDT)
X-Received: by 10.182.19.129 with SMTP id f1mr290397obe.20.1461406205424; Sat, 23 Apr
2016 03:10:05 -0700 (PDT)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!goblin2!goblin.stu.neva.ru!feeder.erje.net!2.us.feeder.erje.net!news.g
lorb.com!sq19no229546igc.0!news-out.google.com!u9ni96igk.0!nntp.google.com!sq19
no229538igc.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-ma
il
Newsgroups: pl.comp.programming
Date: Sat, 23 Apr 2016 03:10:05 -0700 (PDT)
In-Reply-To: <nffgc0$foj$1@node1.news.atman.pl>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=178.37.232.66;
posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
NNTP-Posting-Host: 178.37.232.66
References: <nfbjra$fer$1@node2.news.atman.pl>
<5...@g...com>
<nfed5s$4oo$1@node2.news.atman.pl>
<d...@g...com>
<nffgc0$foj$1@node1.news.atman.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2...@g...com>
Subject: Re: Szybki algorytm na permutację
From: "M.M." <m...@g...com>
Injection-Date: Sat, 23 Apr 2016 10:10:05 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:209340
[ ukryj nagłówki ]On Saturday, April 23, 2016 at 11:47:45 AM UTC+2, bartekltg wrote:
> On 23.04.2016 11:38, M.M. wrote:
> > On Saturday, April 23, 2016 at 1:47:09 AM UTC+2, bartekltg wrote:
> >> >On 22.04.2016 18:43, M.M. wrote:
> >>> > >On Friday, April 22, 2016 at 12:22:35 AM UTC+2, Borneq wrote:
> >>>> > >>z wykorzystaniem random()
> >>>> > >>Przychodzi mi do głowy jeden pomysł: tablicę posortowanych wielkości n i
> >>>> > >>drugą, początkowo wielkości 0.
> >>>> > >>Z posortowanych wybieram za pomocą random(n) któryś element, i
> >>>> > >>najważniejsze: w dziurę (dziura - element o indeksie random(n)) wkładam
> >>>> > >>element ostatni.
> >>>> > >>Potem wybieram za pomocą random(n-1) wkładam w dziurę.
> >>>> > >>I tak dalej
> >> >
> >>> > >
> >>> > >Może tak?
> >>> > >for( int i=1 ; i<=N ; i++ )
> >>> > > tab[i] = i;
> >>> > >for( int i=0 ; i<N*2 ; i++ )
> >>> > > swp( tab[rand()%N] , tab[rand()%N] );
> >> >
> >> >Bardzo źle.
> >> >Wynonujesz 4N losowań.
> >> >Czy rozkład wyniku jest równomierny, wcale bym się nie zakładał.
> >> >
> >> >pzdr
> >> >bartekltg
> > Nie wiem, też bym się nie założył, ale na pewno Knuth shuffle dał
> > mniejsze odchylenie standardowe w kilku testach:
>
>
> Knutha możęsz policzyć. Bardzo prosto. Wymyśl dowolną
> permutację i licz prawdopodobieństwo, że ją wylosujesz.
> W każdym kroku musisz wybrać właściwa liczbę i nie ma potem
> możliwośći popsucia. 1 liczba z n, 1 liczba z n-1....
> Łącznie prawdopodobieństwo 1/n! Identyczne dla dowolnej permutacji.
Tak, zaletą knutha jest to, że można łatwo przeprowadzić dowód.
> BTW, dlaczego wołasz srand( seed ); dwa razy?
Chyba z rozpędu, zazwyczaj trzeba zadbać o to, aby obie metody dostały
ten sam losowy ciąg, ale tutaj jest inna ilość losowań, więc
nic to nie daje.
Pozdrawiam
Najnowsze wątki z tej grupy
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-02-03 Awaria BNP Paribas
- 2025-02-03 kryminalni i dochodzeniowcy
- 2025-02-03 Szczecin => Senior Field Sales (system ERP) <=
- 2025-02-03 Bydgoszcz => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-02-03 jaki zasilacz laboratoryjny
- 2025-02-03 jaki zasilacz laboratoryjny
- 2025-02-03 Puszka w ziemię
- 2025-02-03 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2025-02-03 Kraków => Programista Full Stack .Net <=
- 2025-02-03 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2025-02-03 Bez żadnego trybu
- 2025-02-03 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-03 Gliwice => IT Expert (Network Systems area) <=
- 2025-02-03 Lublin => Delphi Programmer <=
- 2025-02-03 Lublin => Programista Delphi <=