Category: 计算机
Python 基础排序算法:基数排序详解与示例 Python Radix Sort 教程:整数、负数和浮点数排序 Python 数字排序指南:从整数到浮点的基数排序实现 高效排序算法讲解:Python 中的基数排序应用 Python 排序算法全解析:Radix Sort 的用法与实例 Python 基数排序简介 基数排序是一种非比较型排序算法,它通过按位对数字进行排序来完成排序。与直接比较整个数字(如快速排序或归并排序)不同,基数排序将元素根据其数字或字符分配到“桶”中,然后逐位处理。 对于整数,基数排序通常从最低有效位(LSD)到最高有效位(MSD)进行排序。这样可以保证稳定性,在处理完所有位后得到有序数组。 — 基数排序的工作原理 找到数组中的最大值,以确定需要处理的位数。 对每一位(个位、十位、百位等)使用稳定排序(如计数排序)。 重复此过程直到处理完所有位。 示例:对数组 进行排序: 按个位排序 → 按十位排序 → …
有序数据结构在编程中(尤其是算法竞赛和竞技编程)非常实用。在 Python 中,主要由 Sorted Containers 库提供三种有序数据结构:SortedDict、SortedSet 和 SortedList。 深入理解 Python 有序数据结构:从内置到 SortedContainers Python 有序数据结构完整指南 Python 中的有序列表、字典与集合实战解析 带你玩转 Python SortedContainers 与内置排序结构 Python 开发者必读:SortedContainers 与内置数据结构对比 Python 有序数据结构教程 排序是编程中最常见的操作之一。Python 提供了多种方式来维护有序数据,从内置的列表、集合、堆,到第三方库 sortedcontainers。 本教程将介绍 …
前两天,我想查一下自己在 STEEM 区块链上一些重要记录对应的区块号,比如: 注册了我的账号 #4253590 成为见证人 #20190755 挖到我的第一个区块 #20390040 被孙宇晨大佬代理了 SP #41676911 收到一笔 DAO 收入 #95403889 当时手头只有时间戳,却不知道对应的是哪个区块,于是我想到可以用二分查找(binary search)算法来定位。 其实,这个思路在其它区块链上同样适用,并不依赖于特定的链(如 Steem、以太网/Ethereum、比特币/Bitcoin 等)。虽然具体的实现细节(RPC 方法名、时间戳格式等)会有所不同,但整体逻辑是一致的:通过 RPC API 获取某个区块的时间戳;获取最新区块作为上界;然后在区间内使用二分查找。通过多次查询区块时间戳,就能把给定的时间戳映射到最接近的区块号,算法复杂度约为 O(log N)。 当然,大多数区块链也会提供专门的 API …
All in AI!微软之前已经在自家软件中集成了AI,现在 Excel 的公式中加入了 COPILOT! =COPILOT(prompt,,...) 这个看似简单的语法将大型语言模型(LLM)的能力直接带入你的电子表格逻辑——为财务规划、分析和建模开启了全新纪元。 为什么这对 FP&A 和数据分析是革命性突破 FP&A 是 Financial Planning & Analysis 的缩写,即 财务计划与分析。FP&A 就像公司的“财务大脑”,负责帮老板规划钱的用法、预测未来收支、分析公司财务状况,并提供决策建议,让公司花钱更明智、赚得更多。 多年来,Excel 一直是财务专业人士的首选工具。虽然它在计算上无可匹敌,但像总结、分类和上下文分析这样的任务一直需要手动处理。现在,COPILOT弥补了这一空白。 通过自然语言提示,你可以在工作簿中直接分析、总结甚至生成数据。FP&A 团队可以减少在数据处理上的时间,将更多精力放在洞察和策略上。 COPILOT 可以做什么 以下是一些能够改变工作流程的示例: 文本总结 — …
Web Sockets简介 WebSocket 实现了客户端和服务器之间基于单个 TCP 连接的实时全双工通信。在这篇文章中,我们将向你展示如何用 Python 搭建一个简单的 WebSocket 服务器,以及如何使用 Python 客户端和流行的命令行工具,比如 websocat 和 wscat 来测试它。 用 Python 搭建 WebSocket 服务器 我们使用 websockets 库,它提供了基于 asyncio 的易用 WebSocket 服务器实现。下面是一个简单的服务器(Python 代码),监听端口 …
argmax:从未来推理现在 整个机器学习(最优化),背后的根本数学原理是下面这个公式: arg_max_{x∈X} F(x) 它的含义是:在所有可能的输入 x ∈ X 中,找出让目标函数 F(x) 最大的那个 x。这个公式返回的是最优解 x,而不是最大值本身。 这个公式代表【从未来推理出现在的最佳选择】,因为所有的x有哪些,实际上是没办法穷尽的,以及F有哪些,是未来才知道的。代表一种完全信息视角。 这个和“传统”的数学递推公式是反过来的,传统的递推公式是,利用过去的推理未来的,例如斐波那契额数列 ,假设的是F(n-1)和F(n-2)我们已经知道,我们就可以推理F(n)(这也是动态规划算法的核心)。这个是【利用过去的信息推理未来的】。 因此,机器学习/最优化,本质是预测未来。实际上,arg_max 公式,如果用编程语言来表达,非常好理解: 这个思维方式代表的是“从未来反推现在”:F(x) 是未来某种评估函数,我们假设它存在,并试图找到现在该做什么(x)才能让它最大。 def arg_max(X, F): best_x = None best_score = float('-inf') …
在 Python 中,match 关键字用于模式匹配,在 Python 3.10 中作为结构模式匹配的一部分引入,类似于其他语言中的 switch 语句,但功能更强大。 什么是 match 关键字? 从 Python 3.10 开始,match 语句引入了结构化模式匹配(Structural Pattern Matching)。它类似于其他语言中的 switch 语句,但功能更加强大和灵活。 使用 match 的基本示例 def handle(value): match value: case …