首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
算法
hexu1985
创建于2024-03-01
订阅专栏
算法介绍、分析、实现。
等 1 人订阅
共10篇文章
创建于2024-03-01
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
动态规划算法之背包问题
背包问题 问题定义:背包问题 输入:物品价值$v_1,v_2,…,v_n$;物品大小$s_1,s_2,…,s_n$;背包容量$C$(所有的值均为正整数)。 输出:一个物品子集$S \subseteq
归并排序:Python语言实现
归并排序:Python语言实现 归并排序是一种递归算法,每次将一个列表一分为二。如果列表为空或只有一个元素,那么从定义上来说它就是有序的(基本情况)。如果列表不止一个元素,就将列表一分为二,并对两部分
希尔排序:Python语言实现
希尔排序:Python语言实现 希尔排序也称“递减增量排序”,它对插入排序做了改进,将列表分成数个子列表,并对每一个子列表应用插入排序。如何切分列表是希尔排序的关键——并不是连续切分,而是使用增量 i
插入排序:Python语言实现
插入排序:Python语言实现 插入排序的时间复杂度也是 $O(n^2)$,但原理稍有不同。它在列表较低的一端维护一个有序的子列表,并逐个将每个新元素“插入”这个子列表。下图展示了插入排序的过程。深色
选择排序:Python语言实现
选择排序:Python语言实现 选择排序在冒泡排序的基础上做了改进,每次遍历列表时只做一次交换。要实现这一点,选择排序在每次遍历时寻找最大值,并在遍历完之后将它放到正确位置上。和冒泡排序一样,第一次遍
冒泡排序:Python语言实现
冒泡排序:Python语言实现 冒泡排序多次遍历列表。它比较相邻的元素,将不合顺序的交换。每一轮遍历都将下一个最 大值放到正确的位置上。本质上,每个元素通过“冒泡”找到自己所属的位置。 下图展示了冒泡
算术表达式计算程序:Python语言实现
算术表达式计算程序:Python语言实现 本文介绍通过Python语言实现算术表达式计算程序的过程。 我们将按照软件工程的基本步骤来介绍: 需求 分析 设计 实现 程序的需求 我们的程序具有如下功能:
扩展欧几里得算法(extended Euclidean algorithm)的证明与实现
根据贝祖定理,我们知道任意两个正整数的最大公约数可以表示为这两个整数的整系数的线性组合。 接下来我们会给出两种方法,用于找出两个正整数的线性组合以使之等于其最大公约数。
欧几里得算法(Euclidean algorithm)的证明与实现
欧几里得算法也称为辗转相除法, 用于计算两个正整数的最大公因数, 一般用(a,b)来表示a和b的最大公因数, 计算机领域一般表示成gcd(a,b).
快速排序:Python语言实现
快速排序:Python语言实现 什么是快速排序? 快速排序是一种常用的排序算法,比选择排序快得多。例如,C语言标准库中的函数qsort 实现的就是快速排序。像归并排序(merge sort)一样,快速