|
SQL baze podataka - Sponzor: Baze-Podataka.net MySQL, MSSQL, Oracle, Access, ODBC. Ako imate problem brže i preciznije ćete dobiti odgovor ako priložite strukturu tabela ili skript koji kreira tabele i puni ih test podacima umesto što to problem opisujete samo rečima. Sponzor: Baze-Podataka.net - Blog o bazama podataka |
|
Alati teme | Način prikaza |
|
20. 02. 2009. | #1 | |
хардвераш
Qualified
Datum učlanjenja: 04.01.2007
Lokacija: Маунтин Вју, САД
Poruke: 117
Hvala: 4
25 "Hvala" u 10 poruka
|
Citat:
Решење са бирањем случајног броја и избацивањем те вредности из скупа могућих бројева даје униформну расподелу (то је плус), по цену меморијског простора који је пропорционалан величини простора (то је минус) кључева. Треће решење које ми пада на памет, које захтева константан простор и константно време за израчунавање, јесте генерисање неког хеша (МД5, СХА1) на основу (рецимо) монотоног системског сата (то је сат који се састоји од две компоненте: системског времена, и инкремента који се повећава за један сваки пут када се генерише један хеш. Згодно је за почетни инкремент узети излаз из /dev/random. Монотоно време је збир дотична два.) Вероватноћа да се хешеви милион узастопних уноса сударе је занемарљиво мала (из праксе: још нисам наишао ни на једну), а расподела кључева треба да је униформна. ф (*) Доказ тврдње, за радознале: горе поменут алгоритам има 1е6^1e6 могућих исхода пермутовања. Пошто укупно има 1е6! пермутација од милион елемената (! = факторијел), што је број који је мањи од милион на милионити степен, то се свака од пермутација мора да понови много пута. Ако је расподела униформна, онда се свака пермутација јавља једнак и цео број пута. Број понављања сваке пермутације је онда 1e6^1e6/1e6!, укупан број исхода подељен бројем различитих исхода. Међутим, овај број не може да буде цео, на пример зато што је именилац дељив са 3, док бројилац није дељив са 3. Закључак — пермутовање низа на горе описани начин не може да да униформну расподелу бројева, па ни униформну расподелу пермутација низа 0..1е6-1.
__________________
Рад је створио човека. Рад ће га и уништити. |
|
02. 03. 2009. | #2 |
Banned
Knowledge base
Datum učlanjenja: 01.07.2005
Poruke: 1.598
Hvala: 206
140 "Hvala" u 89 poruka
|
Sto komplikujes ? Napravi lepo sekvencu(ako koristis mysql, simuliraj sekvencu). Kada dobijes iz sekvence jednocifreni broj, zalepi 5 nula na pocetak, ili postavi sekvencu da pocinje na broju 99999, kako ti milije.
|
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
[.htaccess] problem kod broja strane | apex | Regular expression i htaccess | 4 | 13. 11. 2009. 09:42 |
service koji otkriva koji je font koriscen u nekom logo-u | robi-bobi | Linkovi | 3 | 09. 09. 2009. 14:47 |
Koji jezik da koristim za pristup bazi? | biske | Programiranje | 10 | 08. 09. 2008. 12:12 |
Vracanje ID broja na 1 | celawi | Programiranje | 7 | 17. 02. 2008. 15:34 |
Brisanje većeg broja slogova iz MySQL baze | Dragi Tata | SQL baze podataka - Sponzor: Baze-Podataka.net | 14 | 22. 04. 2007. 16:46 |