您的当前位置:首页>全部文章>文章详情

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

CrazyPanda发表于:2024-01-22 20:00:29浏览:313次TAG:

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

基数排序算法原理实例

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



opO7p4hNxXmtXwQhPjooZjdt8AgU.jpg

先进行个位数值的排序,再进行十位数值的排序,最后再排序百位数值,最后输出经过排序后的数组为[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】Python中的逻辑运算符有哪些?
Python中的逻辑运算符有哪些?Python中的逻辑运算符用于对表达式进行逻辑比较,并返回布尔值(True或False)。Python中常用的逻辑运算符有三个:and、or和not。and运算符and运算符用于检查所有操作数是否为真(True)。只有当所有操作数都为真时,and运算符返回True;否则返回False。下面是一个示例代码:a = 10 b = 20 c = 30   if a >&nb
发表于:2024-01-21 浏览:286 TAG:
【Python】第三章 网页数据的解析提取
目录1. XPath 的使用1.1 XPath 常用规则1.2 安装1.3 实例引入1.4 所有节点1.5 子节点1.6 父节点1.7 属性匹配1.8 文本获取1.9 属性获取1.10 属性多值匹配1.11 多属性匹配1.12 按序选择1.13 节点轴选择2. Beautiful Soup 的使用实例嵌套选择获取属性获取文本find_allnameattrstextfindfind_parentsfind_parentfind_next_siblingsfind_next_siblingfind
发表于:2023-12-03 浏览:1167 TAG:
【Python】如何使用Python操作路径名?
在本文中,我们将学习使用 Python 操作路径名。以下是下面提到的一些不同的示例 -从文件路径获取主文件名从文件路径获取目录名将路径组件连接在一起扩展用户的主目录从文件路径中分离文件扩展名算法(步骤)以下是执行所需任务所需遵循的算法/步骤。 -使用 import 关键字导入 os 模块。创建一个变量来存储输入文件路径。使用os模块的basename()函数(返回给定文件路径的基本名称)来获取输入文件路径的最后一个组成部分(主文件名)并打印出来。从文件路径获取主文件名示例以下程序使用 os.pa
发表于:2024-01-14 浏览:292 TAG:
【Python】pandas实战指南:快速删除行数据的技巧
andas实战指南:快速删除行数据的技巧概述:Pandas是Python中一个常用的数据分析库,具有强大的数据处理和操作功能。在数据处理过程中,经常需要删除不需要的行数据,本文将介绍一些使用pandas删除行数据的技巧,并提供具体的代码示例。一、删除特定条件的行数据删除某个特定值的行:在pandas中,可以使用DataFrame的drop方法来删除特定值的行。首先,我们需要创建一个示例数据集:import pandas as pd   data&nbs
发表于:2024-01-10 浏览:301 TAG:
【Python】ChatGPT Python API使用指南:实现个性化聊天回复
ChatGPT Python API使用指南:实现个性化聊天回复引言:ChatGPT是OpenAI的一种强大的自然语言处理模型,可以用于实现人机对话系统。在这篇文章中,我将为您介绍如何通过Python API来使用ChatGPT,并给出具体的代码示例,以帮助您实现个性化的聊天回复。一、准备工作:在开始之前,您需要确保您的系统已经安装了OpenAI库,可以通过下列命令进行安装:pip install openai然后,您需要一个OpenAI帐户,并获取到一个有效的API密钥,以
发表于:2024-01-24 浏览:368 TAG:
【Python】如何使用 Python 基于 PyQt5 第三方库,进行实现 exe 桌面应用软件开发详细教程
安装 PyQt5 第三方库开发环境下面直接使用pip来安装PyQt5,此处可能是pip/pip3,或者两者皆可,后面不再重复直接pip安装PyQt5,当然也可以加镜像加快安装pip install PyQt51由于Qt Designer已经在Python3.5版本从PyQt5转移到了tools,因此我们还需要安装pyqt5-toolspip install pyqt5-tools1然后键盘按下Win+S呼出Cornata主面板(搜索框),输入designe
发表于:2024-01-25 浏览:354 TAG:
【Python】如何使用Python脚本在Linux中实现远程服务器管理
如何使用Python脚本在Linux中实现远程服务器管理引言:在现代互联网时代,远程服务器管理成为了一项重要的任务。对于Linux服务器,我们可以使用Python脚本来实现远程管理的各种功能,包括文件传输、执行命令、监控系统等。本文将介绍如何使用Python脚本在Linux中实现远程服务器管理,并提供具体的代码示例。一、安装Python库在开始之前,我们需要安装一个名为"paramiko"的Python库,该库提供了SSH2的实现,可以方便地实现SSH远程连接和操作。可以使用
发表于:2024-01-19 浏览:386 TAG:
【Python】如何使用Python实现拓扑排序算法
如何使用Python实现拓扑排序算法?拓扑排序是图论中的一种排序算法,用于对有向无环图(DAG)进行排序。在拓扑排序中,图中的节点代表任务或事件,有向边表示任务或事件之间的依赖关系。在排序结果中,所有的依赖关系都被满足,每个节点都排在它的所有前驱节点之后。在Python中实现拓扑排序算法可以使用深度优先搜索(DFS)的思想来解决。下面是一个具体的代码示例:from collections import defaultdict   class Gr
发表于:2024-01-16 浏览:259 TAG:
【Python】pip3安装指南
ip3是Python的包管理器,能够方便地安装、升级和管理Python包。通过pip3,我们可以轻松获取并安装第三方Python库,提高编程效率。本文将为大家介绍pip3的安装过程,并提供具体的代码示例,帮助大家快速掌握pip3的使用方法。一、安装pip3在开始使用pip3之前,首先需要将pip3安装到系统中。下面将介绍几种常见操作系统的安装方法。1. 在Windows系统中安装pip3在Windows系统中,安装pip3非常简单。首先,需要下载get-pip.py文件,可以在https:
发表于:2024-01-18 浏览:306 TAG:
【Python】Python中的浮点数计算精度问题是如何解决的?
Python中的浮点数计算精度问题是如何解决的?在计算机科学中,浮点数计算精度问题是常见的挑战之一。由于计算机内部使用有限的比特位来表示浮点数,所以对于某些小数的表示和运算时,可能会出现精度损失的情况。Python作为一门强大的编程语言,提供了一些方法来解决这个问题。解决浮点数计算精度问题的一种常见方法是使用Decimal类。Decimal类提供了更高的精度,可以精确表示和计算浮点数。下面是一个使用Decimal类的示例代码:from decimal import 
发表于:2024-01-23 浏览:301 TAG: