随笔分类 -  Python

摘要:定义 基数排序(Radix Sort)是一种非比较型整数排序算法,它是根据数字的每一位来排序。它的基本思想是将整数按位数切割成不同的数字,然后按每个位数分别比较。对于有d位的整数,需要进行d趟排序。 工作原理 以最低有效位(Least - Significant - Digit,LSD)为例 首先, 阅读全文
posted @ 2024-12-25 16:09 软件职业规划 阅读(226) 评论(0) 推荐(0) 编辑
摘要:一、基本原理 核心思想 桶排序的基本思想是将数组中的数据分到有限数量的桶里。每个桶再分别进行排序(可以使用其他排序算法,如插入排序),最后将各个桶中的数据有序地合并起来,得到最终的排序结果。 工作方式类比 可以把它想象成在一个有很多小格子(桶)的柜子里整理物品。首先根据物品的某种特征(比如大小)把它 阅读全文
posted @ 2024-12-25 16:07 软件职业规划 阅读(44) 评论(0) 推荐(0) 编辑
摘要:一、基本原理 计数排序的基本思想是对于给定的输入序列中的每一个元素x,确定小于x的元素个数。通过统计每个元素出现的次数,然后根据统计结果将元素放到有序序列中的正确位置。 假设输入的数组是A,长度为n,数组中的元素范围是0到k。它需要额外创建两个辅助数组:计数数组C(长度为k + 1)用于统计每个元素 阅读全文
posted @ 2024-12-25 16:06 软件职业规划 阅读(96) 评论(0) 推荐(0) 编辑
摘要:基本概念 堆是一种完全二叉树的数据结构。在堆排序中,主要使用两种堆:最大堆和最小堆。最大堆的特点是每个节点的值都大于或等于它的子节点的值;最小堆则是每个节点的值都小于或等于它的子节点的值。例如,对于最大堆,根节点是整个堆中的最大值。 完全二叉树是一种特殊的二叉树,除了最后一层外,其他每一层的节点数都 阅读全文
posted @ 2024-12-25 16:04 软件职业规划 阅读(51) 评论(0) 推荐(0) 编辑
摘要:基本概念 快速排序(Quick Sort)是一种高效的排序算法,它基于分治策略。其基本思想是通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,然后分别对这两部分记录继续进行排序,以达到整个序列有序的目的。 算法步骤 划分(Partition)操作 首先选择一 阅读全文
posted @ 2024-12-25 16:01 软件职业规划 阅读(135) 评论(0) 推荐(0) 编辑
摘要:一、基本原理 分治思想 分治策略是将一个复杂的问题分解为若干个规模较小、相互独立且与原问题形式相同的子问题,然后分别求解这些子问题,最后将子问题的解合并得到原问题的解。在归并排序中,首先将数组分成两半,然后对每一半进行排序,最后将排序好的两半合并起来。 例如,对于数组[8, 4, 5, 7, 1, 阅读全文
posted @ 2024-12-25 16:00 软件职业规划 阅读(53) 评论(0) 推荐(0) 编辑
摘要:希尔排序的定义 希尔排序(Shell Sort)是一种改进的插入排序算法。它的基本思想是先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。 它通过比较相距一定间隔的元素来工作,这个间隔称为“增量”,并且在排序过程中会逐 阅读全文
posted @ 2024-12-25 15:58 软件职业规划 阅读(56) 评论(0) 推荐(0) 编辑
摘要:一、基本原理 概念 插入排序的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。可以类比为人们整理手中的扑克牌,每次拿到一张新牌,就将它插入到已经排好序的牌中的合适位置。 算法步骤 从第一个元素开始,该元素可以认为已经被排序。 取出下一个元素,在已经排序的元 阅读全文
posted @ 2024-12-25 15:56 软件职业规划 阅读(49) 评论(0) 推荐(0) 编辑
摘要:一、选择排序的基本概念 选择排序(Selection Sort)是一种简单的排序算法。它的基本思想是:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 二、选择排序的过程 第 阅读全文
posted @ 2024-12-25 15:46 软件职业规划 阅读(28) 评论(0) 推荐(0) 编辑
摘要:一、冒泡排序的基本概念 冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶 阅读全文
posted @ 2024-12-25 15:45 软件职业规划 阅读(76) 评论(0) 推荐(0) 编辑
摘要:一、概述 PlantUML是一个开源的工具,主要用于快速创建各种UML(统一建模语言)图形,包括但不限于类图、时序图、用例图、活动图等。它使用简单的文本描述语言来定义图形,然后可以将这些文本转换为高质量的图形图像。 二、特点 简单易学 它的语法相对简单,不需要复杂的绘图软件操作技能。例如,要定义一个 阅读全文
posted @ 2024-12-23 15:14 软件职业规划 阅读(420) 评论(0) 推荐(0) 编辑
摘要:一、概述 XPath(XML Path Language)是一门在XML文档中查找信息的语言,它也可用于HTML文档,因为HTML可以看作是XML的一种特殊形式。XPath通过路径表达式来选取XML/HTML文档中的节点或者节点集。 二、节点类型 在XPath中,有多种节点类型,主要包括以下几种: 阅读全文
posted @ 2024-12-18 16:05 软件职业规划 阅读(37) 评论(0) 推荐(0) 编辑
摘要:Scrapy是一个用Python编写的强大的网络爬虫框架,用于高效地从网页中提取所需的数据。 一、安装Scrapy 确保已经安装了Python(建议使用Python 3.x)。可以通过以下命令来安装Scrapy: 在命令行中使用pip install scrapy(如果使用的是Anaconda环境, 阅读全文
posted @ 2024-12-18 16:03 软件职业规划 阅读(59) 评论(0) 推荐(0) 编辑
摘要:一、什么是网络爬虫 网络爬虫(Web Crawler),也叫网络蜘蛛(Web Spider),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。其主要目的是从互联网上收集数据,这些数据可以是网页的文本内容、图片、视频链接等多种形式。 例如,如果你想收集某一主题(如美食菜谱)下的所有网页内容来 阅读全文
posted @ 2024-12-18 16:01 软件职业规划 阅读(22) 评论(0) 推荐(0) 编辑
摘要:一、Windows系统 下载Python安装程序 访问Python官方网站(https://www.python.org/downloads/)。在网站上,你会看到不同版本的Python可供下载。通常,建议下载最新的稳定版本(如Python 3.x系列)。对于大多数初学者和一般用途,Python 3 阅读全文
posted @ 2024-12-18 10:22 软件职业规划 阅读(61) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示