From 73c087299efada5565b955e01004830152e9f7c9 Mon Sep 17 00:00:00 2001 From: Vikum Sanjeewa Date: Wed, 16 Oct 2024 13:38:39 +0530 Subject: [PATCH 1/2] Radix Sort in python --- .DS_Store | Bin 0 -> 6148 bytes algorithms/.DS_Store | Bin 0 -> 8196 bytes algorithms/ar-radsrt/python2/radix_sort.py | 51 +++++++++++++++++++++ 3 files changed, 51 insertions(+) create mode 100644 .DS_Store create mode 100644 algorithms/.DS_Store create mode 100644 algorithms/ar-radsrt/python2/radix_sort.py diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..0209094fff4ff179a089d3b802857e2e310f221e GIT binary patch literal 6148 zcmeHK%Wl&^6upxMuv4LA0a7J-kYjEO*_XthQ6XbN8NQS-aLp|D4bKJjjd83#RWy>y+~}yvc*`Z4%E$tp`0m z$%AAPPbDFVVodq)E}2Ap=J8?@Ws>Ww0n4`SQEP8L?;N$Ar|zQd%n#iox9xNeJDtVC zwjMry^6X@EkzP*t7g;?qtXI4b*l(Hmq#w2$ckD_c}i<{KEx z$}}m0o;iFUt6&aI3mO9pWHDu{Z1$+aZh*}(e;@n|zZlFaN7T4{#|FJXeLWhWMjvrQ zmF!oAW8>Kd_*eV%axShw{~z3b{$C}TmQlbc z@Lwsw>V3cO;gR&-y7q8luXW&`;KIbbQlX?E=3BRh4oE z@d}7HK!^)30z3=i0H1%h@jAP31W{YE$FaZhjz4?GwM#^-ed;%fR*A?#=5l2jMNZ=V zJTIh@YFUG1&?gEgqJ+jY*$WrYw!t!B8L$jk1}p=Xfq#JkoY_1%1?Rr(wWVdiGH@vw z;PJsl=CY;aOiB?tP>3r4WChJ4p^kfi&~cS)DLIo;sA5ccdtgeHsVfGP>gabl9I~b4 zOiHOvOsW%8UuNot!o=61=L$HnmXx-%3|Iyh8CXM8ow~TQ-yu)GzsEfAMl1A{D@-S{mUFA4hC?2UoGqAclAOg$RV2w(6Fo$rQ@ zqjdW83iyOhviQ=Gflp^UNZ&Sei%MS#&_N!$yltSX%9djq(kN?3`QsexzDIqIjVQ`u zD>vs@)aKX_tQhN4d0U8u&BnMt3b9}=i(Lu~Y|2}RHR;olf&ONo(^Uz<8*HX-7GK>p z@bl4gc2)IL0eT2auNQJWap4W`a=byleHr_kxHstNbe?>t9%A)-SzClZ z==gM=C*Y({p@HW9P=prmaJuD;dxDNmJ%0>4e2l-KA$;Kv8s0P+saWyZ8-+nKX*9mF zQn|8JtvQaf>^$!b;%R5not!4^?)WMH^(c-*FRgdI$3cI3uySoXjwan8>W_s&;P(M} z_9Te>c-oFnBR>(k9oga3>-B?`)w8qa*1CJIalY=JZ8o+V>uz(i**rh5JJ)aDy}y5O z91f%SHRg@P)E^IYRsOyxIg9DKjIsN2qKNQworx5mAnN2WCp=xpr(7o#im0=|weWXc zBVG9fv8_+z?8*y|&qwE2BYa**J9LEA<}v?JSa0mw3itawyq}L3zOUn}YJ4AO%FC?f zOWgByY-$TN|j6dc0a#dRF=;va^nyQ;6H Z max_val: + max_val = i + return max_val + +# Counting sort to sort elements based on the significant digit +def countingSort(arr, exp): + n = len(arr) + output = [0] * n # Output array to hold sorted elements + count = [0] * 10 # Initialize counting array (for base 10 digits) + + # Store the count of occurrences + for i in range(n): + index = (arr[i] // exp) % 10 + count[index] += 1 + + # Change count[i] so that count[i] contains the actual position + for i in range(1, 10): + count[i] += count[i - 1] + + # Build the output array + i = n - 1 + while i >= 0: + index = (arr[i] // exp) % 10 + output[count[index] - 1] = arr[i] + count[index] -= 1 + i -= 1 + + # Copy the output array to arr + for i in range(n): + arr[i] = output[i] + +# Main function to implement Radix Sort +def radixSort(arr): + # Find the maximum number to determine the number of digits + max_val = getMax(arr) + # Do counting sort for every digit + exp = 1 + while max_val // exp > 0: + countingSort(arr, exp) + exp *= 10 + +# Example usage +arr = [170, 45, 75, 90, 802, 24, 2, 66] +print("Original array:", arr) +radixSort(arr) +print("Sorted array:", arr) + From 22299a65a6ed5f304e9339bcc6deb35e0332bce5 Mon Sep 17 00:00:00 2001 From: Vikum Sanjeewa Date: Wed, 16 Oct 2024 13:44:56 +0530 Subject: [PATCH 2/2] Radix Sort in python1 --- .DS_Store | Bin 6148 -> 0 bytes algorithms/.DS_Store | Bin 8196 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store delete mode 100644 algorithms/.DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 0209094fff4ff179a089d3b802857e2e310f221e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHK%Wl&^6upxMuv4LA0a7J-kYjEO*_XthQ6XbN8NQS-aLp|D4bKJjjd83#RWy>y+~}yvc*`Z4%E$tp`0m z$%AAPPbDFVVodq)E}2Ap=J8?@Ws>Ww0n4`SQEP8L?;N$Ar|zQd%n#iox9xNeJDtVC zwjMry^6X@EkzP*t7g;?qtXI4b*l(Hmq#w2$ckD_c}i<{KEx z$}}m0o;iFUt6&aI3mO9pWHDu{Z1$+aZh*}(e;@n|zZlFaN7T4{#|FJXeLWhWMjvrQ zmF!oAW8>Kd_*eV%axShw{~z3b{$C}TmQlbc z@Lwsw>V3cO;gR&-y7q8luXW&`;KIbbQlX?E=3BRh4oE z@d}7HK!^)30z3=i0H1%h@jAP31W{YE$FaZhjz4?GwM#^-ed;%fR*A?#=5l2jMNZ=V zJTIh@YFUG1&?gEgqJ+jY*$WrYw!t!B8L$jk1}p=Xfq#JkoY_1%1?Rr(wWVdiGH@vw z;PJsl=CY;aOiB?tP>3r4WChJ4p^kfi&~cS)DLIo;sA5ccdtgeHsVfGP>gabl9I~b4 zOiHOvOsW%8UuNot!o=61=L$HnmXx-%3|Iyh8CXM8ow~TQ-yu)GzsEfAMl1A{D@-S{mUFA4hC?2UoGqAclAOg$RV2w(6Fo$rQ@ zqjdW83iyOhviQ=Gflp^UNZ&Sei%MS#&_N!$yltSX%9djq(kN?3`QsexzDIqIjVQ`u zD>vs@)aKX_tQhN4d0U8u&BnMt3b9}=i(Lu~Y|2}RHR;olf&ONo(^Uz<8*HX-7GK>p z@bl4gc2)IL0eT2auNQJWap4W`a=byleHr_kxHstNbe?>t9%A)-SzClZ z==gM=C*Y({p@HW9P=prmaJuD;dxDNmJ%0>4e2l-KA$;Kv8s0P+saWyZ8-+nKX*9mF zQn|8JtvQaf>^$!b;%R5not!4^?)WMH^(c-*FRgdI$3cI3uySoXjwan8>W_s&;P(M} z_9Te>c-oFnBR>(k9oga3>-B?`)w8qa*1CJIalY=JZ8o+V>uz(i**rh5JJ)aDy}y5O z91f%SHRg@P)E^IYRsOyxIg9DKjIsN2qKNQworx5mAnN2WCp=xpr(7o#im0=|weWXc zBVG9fv8_+z?8*y|&qwE2BYa**J9LEA<}v?JSa0mw3itawyq}L3zOUn}YJ4AO%FC?f zOWgByY-$TN|j6dc0a#dRF=;va^nyQ;6H Z