"കശക്കൽ അൽഗൊരിതം" എന്ന താളിന്റെ പതിപ്പുകൾ തമ്മിലുള്ള വ്യത്യാസം
Content deleted Content added
(ചെ.) →അൽഗൊരിതം |
(ചെ.) വർഗ്ഗം:അൽഗൊരിതങ്ങൾ ചേർത്തു ഹോട്ട്ക്യാറ്റ് ഉപയോഗിച്ച് |
||
വരി 28: | വരി 28: | ||
ഈ അൽഗൊരിതത്തിന്റെ സങ്കീർണ്ണത ~ (N + N * (റാൻഡം സംഖ്യ സൃഷ്ടിയ്ക്കുവാനാവശ്യമായ സങ്കീർണ്ണത) |
ഈ അൽഗൊരിതത്തിന്റെ സങ്കീർണ്ണത ~ (N + N * (റാൻഡം സംഖ്യ സൃഷ്ടിയ്ക്കുവാനാവശ്യമായ സങ്കീർണ്ണത) |
||
[[വർഗ്ഗം:അൽഗൊരിതങ്ങൾ]] |
06:10, 19 ഫെബ്രുവരി 2013-നു നിലവിലുണ്ടായിരുന്ന രൂപം
സമാന സാധ്യതയാൽ ഒരു കൂട്ടം വസ്തുക്കളെ കൂട്ടി കലർത്തുന്ന അൽഗൊരിതങ്ങളെ ഷഫ്ലിങ്ങ് അൽഗൊരിതങ്ങളെന്നു വിളിയ്ക്കാം.
ക്നൂത്തിന്റെ കഷക്കൽ അൽഗൊരിതം
ഈ അൽഗരിത പ്രകാരം, N വസ്തുക്കളെ N തവണ കഷക്കുന്നു. ഇതിനായി, ഒരു ലൂപ്പിലൂടെ ഐറ്റെറേറ്റ് ചെയ്യുകയും, ഇറ്ററേറ്റ് ചെയ്യുംബോൾ ഒരു പ്രത്യേക ഇൻഡെക്സിലുള്ള വസ്തുവിനെ, ആ വസ്തുവിനു മുൻബിലുള്ള മറ്റു വസ്തുക്കളിലേതെങ്കിലുമൊന്നിന്റെ ഇൻഡെക്സുമായി സ്ഥാനം വച്ച് മാറുകയും ചെയ്യുന്നു. (ഇപ്രകാരം സ്ഥാനം നിർണ്ണയിക്കുന്നത് യൂണിഫോം റാൻഡം സംഖ്യ നിർമ്മാണ അൽഗൊരിതവും ഉപയോഗിയ്ക്കുന്നു.) ഡൊണാൾ
അൽഗൊരിതം
//a[] conatins objects to be shuffled
For( i = 0; i<= N-1; i++)
{
//creating random number b/w 0 and i position. object will be swapped with this random position
Int r = random(0,i+1)
//object a[i] is being swapped with the object at random position r
Swap(a,i,r)
}
സങ്കീർണ്ണത
ഈ അൽഗൊരിതത്തിന്റെ സങ്കീർണ്ണത ~ (N + N * (റാൻഡം സംഖ്യ സൃഷ്ടിയ്ക്കുവാനാവശ്യമായ സങ്കീർണ്ണത)