iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > Python >使用Python实现基数排序算法原理的实例
  • 718
分享到

使用Python实现基数排序算法原理的实例

算法的概念 2024-01-22 13:01:06 718人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

基数排序算法是桶排序算法的一种,是对基于相同位置的值,进行分组排序。可能这么说有点不好理解,可以看下面的基数排序算法原理实例。 基数排序算法原理实例 指定数组[121,432,564,23,1,45,788],将数组进行基数排序,

基数排序算法是桶排序算法的一种,是对基于相同位置的值,进行分组排序。可能这么说有点不好理解,可以看下面的基数排序算法原理实例。

基数排序算法原理实例

指定数组[121,432,564,23,1,45,788],将数组进行基数排序,如图:

先进行个位数值的排序,再进行十位数值的排序,最后再排序百位数值,最后输出经过排序后的数组为[001,023,045,121,432,564,788]

python代码实现基数排序算法

def countingSort(array, place):
    size = len(array)
    output = [0] * size
    count = [0] * 10

    for i in range(0, size):
        index = array[i] // place
        count[index % 10] += 1

 
    for i in range(1, 10):
        count[i] += count[i - 1]

    i = size - 1
    while i >= 0:
        index = array[i] // place
        output[count[index % 10] - 1] = array[i]
        count[index % 10] -= 1
        i -= 1

    for i in range(0, size):
        array[i] = output[i]

def radixSort(array):
    # Get maximum element
    max_element = max(array)

    place = 1
    while max_element // place > 0:
        countingSort(array, place)
        place *= 10

data = [121, 432, 564, 23, 1, 45, 788]
radixSort(data)
print(data)

以上就是使用Python实现基数排序算法原理的实例的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 使用Python实现基数排序算法原理的实例

本文链接: https://www.lsjlt.com/news/556455.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用Python实现基数排序算法原理的实例
    基数排序算法是桶排序算法的一种,是对基于相同位置的值,进行分组排序。可能这么说有点不好理解,可以看下面的基数排序算法原理实例。 基数排序算法原理实例 指定数组[121,432,564,23,1,45,788],将数组进行基数排序,...
    99+
    2024-01-22
    算法的概念
  • 基数排序算法的原理与实现详解(Java/Go/Python/JS/C)
    目录说明实现过程示意图性能分析代码JavaPythonGoJSTSCC++链接说明 基数排序(RadixSort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然...
    99+
    2023-03-06
    基数排序算法原理 基数排序算法实现 基数排序算法 基数排序
  • Java/Go/Python/JS/C基数排序算法的原理与实现方法是什么
    这篇文章主要介绍“Java/Go/Python/JS/C基数排序算法的原理与实现方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java/Go/Python/JS/C基数排序算法的原理与实现...
    99+
    2023-07-05
  • 使用 Python 实现快速排序算法
    快速排序是一种高效的排序算法,它采用分治法的思想进行排序。在 Python 中,我们可以使用以下代码实现快速排序算法: def quick_sort(arr): if len(arr) ...
    99+
    2023-09-02
    排序算法 算法
  • Python实现基数排序
    #! /usr/bin/env python #coding=utf-8 #基于桶排序的基数排序 from random import randint def RadixSort(list,d): for k ...
    99+
    2023-01-31
    基数 Python
  • 基数排序python实现
    基数排序 基数排序(英语:Radix sort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。...
    99+
    2023-01-31
    基数 python
  • Java实现基本排序算法的示例代码
    目录1. 概述2. 插入排序2.1 直接插入排序2.2 希尔排序(缩小增量排序) 3. 选择排序3.1 直接选择排序3.2 堆排序4. 交换排序4.1 冒泡排序4.2 快速...
    99+
    2024-04-02
  • JavaScript实现基础排序算法的示例详解
    目录前言正文1、冒泡排序2、选择排序3、插入排序4、快速排序前言 文本来总结常见的排序算法,通过 JvavScript  来实现 正文 1、冒泡排序 算法思想:比较相邻两个...
    99+
    2024-04-02
  • python常用的各种排序算法原理与实现方法小结
    1. 冒泡排序(Bubble Sort) 基本思想:重复地遍历待排序的数列,每次比较相邻的两个元素,如果它们的顺序错误就交换位置,直到没有需要交换的元素为止。 实现代码: def b...
    99+
    2023-05-17
    python 排序算法
  • python之基数排序的实现
    算法思想         插...
    99+
    2024-04-02
  • Python实现排序算法1
    排序算法有很多种,下面列举几种:1.冒泡排序2.选择排序3.插入排序4.希尔排序5.快速排序6.归并排序1.冒泡排序 # -*- coding:utf-8 -*- def bubble_sort(alist): """冒泡排序"""...
    99+
    2023-01-31
    算法 Python
  • C++实现希尔排序算法实例
    目录1.代码模板2.算法介绍3.实例1.代码模板 // 希尔排序(Shell Sort) void ShellSort(SqList *L) { int i, j; ...
    99+
    2024-04-02
  • Python实现希尔排序算法并附带原理图解
    Shell排序算法是插入排序算法的强化版本。算法将原始集合分解为更小的子集,然后使用插入排序对每个子集进行排序。 Shell排序算法中可以使用的最佳序列 原始序列:N/2,N/4,…,1 诺斯增量序列:1,4,13,…,(3k–1...
    99+
    2024-01-23
    算法的概念
  • 怎么使用Python实现冒泡排序算法
    这篇文章主要介绍“怎么使用Python实现冒泡排序算法”,在日常操作中,相信很多人在怎么使用Python实现冒泡排序算法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用Python实现冒泡排序算法”的疑...
    99+
    2023-07-02
  • Java数据结构之基于比较的排序算法基本原理及具体实现
    目录1. 七大基于比较的排序-总览1.1常见基于比较的排序分类1.2时间复杂度,空间复杂度以及稳定性。2.直接插入排序2.1 直接插入排序的基本思想2.2 直接插入排序动画演示2.3...
    99+
    2024-04-02
  • Python实现冒泡排序算法的示例解析
    目录1. 算法描述2. 算法分析3. 动图展示4. 代码实现5. 算法升级6. 时间复杂度分析1. 算法描述 冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历要排...
    99+
    2024-04-02
  • Java基于分治法实现的快速排序算法示例
    本文实例讲述了Java基于分治法实现的快速排序算法。分享给大家供大家参考,具体如下:package cn.nwsuaf.quick;public class Quick { public static void swap(int[] ...
    99+
    2023-05-30
    java 分治法 快速排序
  • JavaScript怎么实现基础排序算法
    本文小编为大家详细介绍“JavaScript怎么实现基础排序算法”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript怎么实现基础排序算法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。正文1、冒泡排...
    99+
    2023-07-02
  • 使用Python学习选择排序算法的原理及实际应用场景
    通过Python学习选择排序的基本思想与应用 选择排序(Selection Sort)是一种简单直观的排序算法,它的基本思想是从待排序的数据中选择最小(或最大)的元素放到已排序区域的末尾,然后再从剩余的未排序数据中选择最小(或最...
    99+
    2024-02-03
    python 应用 选择排序 基本思想
  • python排序算法的简单实现方法
    1 冒泡排序  1.1 算法步骤: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作