Radix Sort

16,130 views
15,884 views

Published on

This ppt explains the radix sort.

3 Comments
15 Likes
Statistics
Notes
No Downloads
Views
Total views
16,130
On SlideShare
0
From Embeds
0
Number of Embeds
720
Actions
Shares
0
Downloads
866
Comments
3
Likes
15
Embeds 0
No embeds

No notes for slide

Radix Sort

  1. 1. Radix Sort CH Gowri Kumar [email_address]
  2. 2. Bucket Sort <ul><li>Given that, we have N integers in the range 0 to M-1 </li></ul><ul><li>Maintain an array count of size M, which is initialized to zero. Thus, count has M cells (buckets). </li></ul><ul><li>Read A i </li></ul><ul><li>Increment count[A i ] by 1 </li></ul><ul><li>After all the input array is read, scan the count array, printing out a representation of sorted list. </li></ul>
  3. 3. Radix Sort <ul><li>Radix sort is generalization of bucket sort. </li></ul><ul><li>It uses several passes of bucket sort </li></ul><ul><li>Perform the bucket sorts by “least significant digits” </li></ul><ul><ul><li>First sort by digit in units place </li></ul></ul><ul><ul><li>Second sort by digit in tens place </li></ul></ul><ul><ul><li>Third sort by digit in hundreds place </li></ul></ul><ul><ul><li>……. </li></ul></ul>
  4. 4. Let’s sort the following array using radix sort: 64 8 216 512 27 729 0 1 343 125
  5. 5. Pass 1
  6. 6. 0 1 2 3 4 5 6 7 8 9
  7. 7. 64 8 216 512 27 729 0 1 343 125 0 1 2 3 4 5 6 7 8 9
  8. 8. 6 4 8 216 512 27 729 0 1 343 125 0 1 2 3 4 5 6 7 8 9
  9. 9. 64 8 216 512 27 729 0 1 343 125 0 1 2 3 4 5 6 7 8 9 64
  10. 10. 64 8 216 512 27 729 0 1 343 125 0 1 2 3 4 5 6 7 9 64 8
  11. 11. 64 8 216 512 27 729 0 1 343 125 0 1 2 3 4 5 6 7 8 9 64 8
  12. 12. 64 8 21 6 512 27 729 0 1 343 125 0 1 2 3 4 5 6 7 8 9 64 8
  13. 13. 64 8 216 512 27 729 0 1 343 125 0 1 2 3 4 5 6 7 8 9 64 8 216
  14. 14. 64 8 216 51 2 27 729 0 1 343 125 0 1 2 3 4 5 6 7 8 9 64 8 216
  15. 15. 64 8 216 512 27 729 0 1 343 125 0 1 2 3 4 5 6 7 8 9 64 8 216 512
  16. 16. 64 8 216 512 2 7 729 0 1 343 125 0 1 2 3 4 5 6 7 8 9 64 8 216 512
  17. 17. 64 8 216 512 27 729 0 1 343 125 0 1 2 3 4 5 6 7 8 9 64 8 216 512 27
  18. 18. 64 8 216 512 27 72 9 0 1 343 125 0 1 2 3 4 5 6 7 8 9 64 8 216 512 27
  19. 19. 64 8 216 512 27 729 0 1 343 125 0 1 2 3 4 5 6 7 8 9 64 8 216 512 27 729
  20. 20. 64 8 216 512 27 729 0 1 343 125 0 1 2 3 4 5 6 7 8 9 64 8 216 512 27 729
  21. 21. 64 8 216 512 27 729 0 1 343 125 0 1 2 3 4 5 6 7 8 9 64 8 216 512 27 729 0
  22. 22. 64 8 216 512 27 729 0 1 343 125 0 1 2 3 4 5 6 7 8 9 64 8 216 512 27 729 0
  23. 23. 64 8 216 512 27 729 0 1 343 125 0 1 2 3 4 5 6 7 8 9 64 8 216 512 27 729 0 1
  24. 24. 64 8 216 512 27 729 0 1 34 3 125 0 1 2 3 4 5 6 7 8 9 64 8 216 512 27 729 0 1
  25. 25. 64 8 216 512 27 729 0 1 343 125 0 1 2 3 4 5 6 7 8 9 64 8 216 512 27 729 0 1 343
  26. 26. 64 8 216 512 27 729 0 1 343 12 5 0 1 2 3 4 5 6 7 8 9 64 8 216 512 27 729 0 1 343
  27. 27. 64 8 216 512 27 729 0 1 343 125 0 1 2 3 4 5 6 7 8 9 64 8 216 512 27 729 0 1 343 125
  28. 28. 64 8 216 512 27 729 0 1 343 125 0 1 2 3 4 5 6 7 8 9 64 8 216 512 27 729 0 1 343 125
  29. 29. 0 1 2 3 4 5 6 7 8 9 64 8 216 512 27 729 0 1 343 125
  30. 30. 1 2 3 4 5 6 7 8 9 64 8 216 512 27 729 1 343 125 0 0
  31. 31. 0 1 2 3 4 5 6 7 8 9 64 8 216 512 27 729 1 343 125 0 0
  32. 32. 0 1 2 3 4 5 6 7 8 9 64 8 216 512 27 729 1 343 125 0
  33. 33. 0 2 3 4 5 6 7 8 9 64 8 216 512 27 729 343 125 0 1 1
  34. 34. 0 1 2 3 4 5 6 7 8 9 64 8 216 512 27 729 343 125 0 1 1
  35. 35. 0 1 2 3 4 5 6 7 8 9 64 8 216 512 27 729 343 125 0 1
  36. 36. 0 1 512 2 3 4 5 6 7 8 9 64 8 216 512 27 729 343 125 0 1
  37. 37. 0 1 512 3 4 5 6 7 8 9 64 8 216 27 729 343 125 0 1 2
  38. 38. Pass 2
  39. 39. 0 1 512 343 64 125 216 27 8 729 0 1 2 3 4 5 6 7 8 9
  40. 40. 0 0 1 512 343 64 125 216 27 8 729 0 1 2 3 4 5 6 7 8 9
  41. 41. 0 1 512 343 64 125 216 27 8 729 1 2 3 4 5 6 7 8 9 0 0
  42. 42. 0 0 1 512 343 64 125 216 27 8 729 1 2 3 4 5 6 7 8 9 0 0
  43. 43. 0 1 512 343 64 125 216 27 8 729 1 2 3 4 5 6 7 8 9 0 1 0
  44. 44. 0 1 5 1 2 343 64 125 216 27 8 729 1 2 3 4 5 6 7 8 9 0 1 0
  45. 45. 0 1 512 343 64 125 216 27 8 729 2 3 4 5 6 7 8 9 0 1 0 1 512
  46. 46. 0 1 512 3 4 3 64 125 216 27 8 729 2 3 4 5 6 7 8 9 0 1 0 1 512
  47. 47. 0 1 512 343 64 125 216 27 8 729 2 3 5 6 7 8 9 0 1 0 1 512 4 343
  48. 48. 0 1 512 343 6 4 125 216 27 8 729 2 3 5 6 7 8 9 0 1 0 1 512 4 343
  49. 49. 0 1 512 343 64 125 216 27 8 729 2 3 5 7 8 9 0 1 0 1 512 4 343 6 64
  50. 50. 0 1 512 343 64 1 2 5 216 27 8 729 2 3 5 7 8 9 0 1 0 1 512 4 343 6 64
  51. 51. 0 1 512 343 64 125 216 27 8 729 3 5 7 8 9 0 1 0 1 512 4 343 6 64 2 125
  52. 52. 0 1 512 343 64 125 2 1 6 27 8 729 3 5 7 8 9 0 1 0 1 512 4 343 6 64 2 125
  53. 53. 0 1 512 343 64 125 216 27 8 729 3 5 7 8 9 0 1 0 1 216 4 343 6 64 2 125 512
  54. 54. 0 1 512 343 64 125 216 2 7 8 729 3 5 7 8 9 0 1 0 1 216 4 343 6 64 2 125 512
  55. 55. 0 1 512 343 64 125 216 27 8 729 3 5 7 8 9 0 1 0 1 216 4 343 6 64 2 27 512 125
  56. 56. 0 1 512 343 64 125 216 27 0 8 729 3 5 7 8 9 0 1 0 1 216 4 343 6 64 2 27 512 125
  57. 57. 0 1 512 343 64 125 216 27 8 729 3 5 7 8 9 0 8 0 1 216 4 343 6 64 2 27 512 125 1
  58. 58. 0 1 512 343 64 125 216 27 8 7 2 9 3 5 7 8 9 0 8 0 1 216 4 343 6 64 2 27 512 125 1
  59. 59. 0 1 512 343 64 125 216 27 8 729 3 5 7 8 9 0 8 0 1 216 4 343 6 64 2 729 512 125 1 27
  60. 60. 0 1 512 343 64 125 216 27 8 729 3 5 7 8 9 0 8 0 1 216 4 343 6 64 2 729 512 125 1 27
  61. 61. 3 5 7 8 9 0 8 0 1 216 4 343 6 64 2 729 512 125 1 27
  62. 62. 0 1 8 3 5 7 8 9 0 8 0 1 216 4 343 6 64 2 729 512 125 1 27
  63. 63. 0 1 8 3 5 7 8 9 1 216 4 343 6 64 2 729 512 125 27 0
  64. 64. 0 1 8 512 216 3 5 7 8 9 1 216 4 343 6 64 2 729 512 125 27 0
  65. 65. 0 1 8 512 216 3 5 7 8 9 4 343 6 64 2 729 125 27 0 1
  66. 66. 0 1 8 512 216 125 27 729 3 5 7 8 9 4 343 6 64 2 729 125 27 0 1
  67. 67. 0 1 8 512 216 125 27 729 3 5 7 8 9 4 343 6 64 0 1 2
  68. 68. 0 1 8 512 216 125 27 729 343 3 5 7 8 9 4 343 6 64 0 1 2
  69. 69. 0 1 8 512 216 125 27 729 343 3 5 7 8 9 6 64 0 1 2 4
  70. 70. 0 1 8 512 216 125 27 729 343 64 3 5 7 8 9 6 64 0 1 2 4
  71. 71. Pass 3
  72. 72. 0 1 8 512 216 125 27 729 343 64 3 5 7 8 9 0 1 2 4 6
  73. 73. 0 00 1 8 512 216 125 27 729 343 64 3 5 7 8 9 0 1 2 4 6
  74. 74. 0 1 8 512 216 125 27 729 343 64 3 5 7 8 9 1 2 4 6 0 0
  75. 75. 0 0 01 8 512 216 125 27 729 343 64 3 5 7 8 9 1 2 4 6 0 0
  76. 76. 0 1 8 512 216 125 27 729 343 64 3 5 7 8 9 1 2 4 6 0 1 0
  77. 77. 0 1 0 08 512 216 125 27 729 343 64 3 5 7 8 9 1 2 4 6 0 1 0
  78. 78. 0 1 8 512 216 125 27 729 343 64 3 5 7 8 9 1 2 4 6 0 8 0 1
  79. 79. 0 1 8 5 12 216 125 27 729 343 64 3 5 7 8 9 1 2 4 6 0 8 0 1
  80. 80. 0 1 8 512 216 125 27 729 343 64 3 7 8 9 1 2 4 6 0 8 0 1 5 512
  81. 81. 0 1 8 512 2 16 125 27 729 343 64 3 7 8 9 1 2 4 6 0 8 0 1 5 512
  82. 82. 0 1 8 512 216 125 27 729 343 64 3 7 8 9 1 4 6 0 8 0 1 5 512 2 216
  83. 83. 0 1 8 512 216 1 25 27 729 343 64 3 7 8 9 1 4 6 0 8 0 1 5 512 2 216
  84. 84. 0 1 8 512 216 125 27 729 343 64 3 7 8 9 4 6 0 8 0 1 5 512 2 216 1 125
  85. 85. 0 1 8 512 216 125 0 27 729 343 64 3 7 8 9 4 6 0 8 0 1 5 512 2 216 1 125
  86. 86. 0 1 8 512 216 125 27 729 343 64 3 7 8 9 4 6 0 27 0 1 5 512 2 216 1 125 8
  87. 87. 0 1 8 512 216 125 27 7 29 343 64 3 7 8 9 4 6 0 27 0 1 5 512 2 216 1 125 8
  88. 88. 0 1 8 512 216 125 27 729 343 64 3 8 9 4 6 0 27 0 1 5 512 2 216 1 125 8 7 729
  89. 89. 0 1 8 512 216 125 27 729 3 43 64 3 8 9 4 6 0 27 0 1 5 512 2 216 1 125 8 7 729
  90. 90. 0 1 8 512 216 125 27 729 343 64 8 9 4 6 0 27 0 1 5 512 2 216 1 125 8 7 729 3 343
  91. 91. 0 1 8 512 216 125 27 729 343 0 64 8 9 4 6 0 27 0 1 5 512 2 216 1 125 8 7 729 3 343
  92. 92. 0 1 8 512 216 125 27 729 343 64 8 9 4 6 0 64 0 1 5 512 2 216 1 125 8 7 729 3 343 27
  93. 93. 0 1 8 512 216 125 27 729 343 64 8 9 4 6 0 64 0 1 5 512 2 216 1 125 8 7 729 3 343 27
  94. 94. 8 9 4 6 0 64 0 1 5 512 2 216 1 125 8 7 729 3 343 27
  95. 95. 0 1 8 27 64 8 9 4 6 0 64 0 1 5 512 2 216 1 125 8 7 729 3 343 27
  96. 96. 0 1 8 27 64 8 9 4 6 5 512 2 216 1 125 7 729 3 343 0
  97. 97. 0 1 8 27 64 125 8 9 4 6 5 512 2 216 1 125 7 729 3 343 0
  98. 98. 0 1 8 27 64 125 8 9 4 6 5 512 2 216 7 729 3 343 0 1
  99. 99. 0 1 8 27 64 125 216 8 9 4 6 5 512 2 216 7 729 3 343 0 1
  100. 100. 0 1 8 27 64 125 216 8 9 4 6 5 512 7 729 3 343 0 1 2
  101. 101. 0 1 8 27 64 125 216 343 8 9 4 6 5 512 7 729 3 343 0 1 2
  102. 102. 0 1 8 27 64 125 216 343 8 9 4 6 5 512 7 729 0 1 2 3
  103. 103. 0 1 8 27 64 125 216 343 512 8 9 4 6 5 512 7 729 0 1 2 3
  104. 104. 0 1 8 27 64 125 216 343 512 8 9 4 6 7 729 0 1 2 3 5
  105. 105. 0 1 8 27 64 125 216 343 512 729 8 9 4 6 7 729 0 1 2 3 5
  106. 106. 0 1 8 27 64 125 216 343 512 729 8 9 4 6 0 1 2 3 5 7
  107. 107. The End

×