Monday, October 22, 2018

Sorting Algorithm සරලව ඉගෙන ගමු

 මේ තමයි මගේ පලවෙනි blog එක.  මගේ පලවෙනි blog එකෙන් මම ඔයාලට කියල දෙන්න හිතුව  Sorting Algorithms ගැ න.  ඉතින්  මේ  blog එක  Algorithm ඉගෙන ගන්න කැමැති ඕනිම කෙනෙකුට help එකක් වේවි කියල මම හිතනවා.   

Sorting Algorithm ගැ න දැන ගන්න ඕනී මූලික කරුණු  මොනවද  ??


අපි ඉස්සර වෙලාම බලමු මොකක්ද මේ sorting කියන්නේ කියලා.

List එකක හෝ collection එකක තියෙන elements  increasing or decreasing order එකකට  arrange කරන එකට තමයි sorting කියල කියන්නේ.

 Sorting algorithms ගොඩක් වෙලාවට අපි use කරන්නේ  integer list එකකට .සාමන්යෙන් අපි integer list එකක් increasing order එකකට තමයි sort කරන්නේ  

integer list => 3,2,5,4
increasing order of values => 2,3,4,5
decreasing order of values => 5,4,3,2

අපි සාමාන්‍ය විදිහට sort කරනවා නම් list එකේ first element එක අරගෙන ඒක list එකේ  සියලුම elements සමග compare කරලා බලනවා .එහෙම list එකේ සියලුම elements  compare කරලා තමයි sorted list හදා ගන්න වෙන්නේ.
එතකොට elements n ගානක් තියෙනවා නම්  comparison n ගානක් කරන්න වෙනවා .ඒක අපි හැමොටම තේරෙනවා time එක ගොඩක්  නාස්ති  වෙන වැඩක් කියලා. එක comparison එකකට Tms කාලයක් යනවා නම් comparison n ගානකට nTms කාලයක් යනවා ඒ නිසා තමයි efficient sorting algorithms  අපි ඉගෙන ගන්නේ..

Sorting algorithms අපිට ආකාර 02 ක් යටතට වර්ග කරලා ඉගෙන ගන්න පුළුවන් 












selection sort algorithm

මෙහිදී අපි මුලින්ම minimum element of the array select කර ගන්නවා. ඉන්පසුව ඒක array එකේ index=0 element එකත් සමග swap කරනවා. එවිට එය first element of the sorted array parts බවට පත් වෙනවා.ඉතින් දැන් array එකේ ඉතිරි පැත්ත තමයි unsorted array parts.(left side part)

ඉන්පසුව නැවතත් unsorted array එකේ minimum element එක ගන්නවා. ඒක  දැන්  swap කරන්නේ unsorted array part එකේ  first element එක සමග.. එවිට එය sorted array part  එකේ 2nd element  එක  බවට පත් වෙනවා  දැන්  ඔය වැඩේ repeat කරන්න  තියෙන්නේ..unsorted minimum element එක unsorted array part එකේ first element එක සමග swap කරනවා.  

step 01 =>  list(array)  එකේ index=0 element  එක = min 
step 02 =>  array list එකේ  minimum element  එක හොයා ගන්නවා
step 03 =>  ඉන්පසුව එය swap කරනවා min location එකේ value එකත් සමග 
step 04 =>  පසුව min location(index=0) එක point 1කින් වැඩි  කරනවා

මේ steps 04 repeat කරන්න තමයි තියෙන්නේ array list එකේ අවසාන element එක වනතුරු ...




















මෙහෙම element set එකක් sort කර ගන්න එකට තමා selection sorting කියල කියන්නේ  ඒ වගේම තමයි මේ selection sorting algorithm  එක large data set  එකක් sort කරන්න සුදුසු වෙන්නේ නැහැ ...


ඔයාලට selection sorting එකට pseudo-code එක මෙතනින්  බලලා තව දුරටත් තේරුම් ගන්න පුළුවන් 

නැවතත් insertion & buble sorting algorithm  සමග හමු වෙමු... 








4 comments: