
基本算法
基本算法
漫无目的行走的月亮
漫无目的行走的月亮
展开
-
辗转相除法求最大公约数(Python)
是一种用于计算两个非负整数的最大公约数(GCD, Greatest Common Divisor)的算法。作为新的两个数,重复步骤 1,直到余数为 0。辗转相除法(也称欧几里得算法)用较大数除以较小数,得到余数。最后一次的除数即为最大公约数。即为这两个数的最大公约数。),它们的最大公约数等于。不断重复上述步骤,直到。对于任意两个非负整数。原创 2024-11-04 20:09:20 · 624 阅读 · 0 评论 -
插入排序(Python)
插入排序是一种简单直观的排序算法,其工作原理类似于我们平时整理扑克牌或书籍的方式。它的核心思想是将数组分为已排序和未排序两部分,每次从未排序部分取出一个元素,将其插入到已排序部分的适当位置,从而保持已排序部分的有序性。原创 2024-10-23 20:44:38 · 247 阅读 · 0 评论 -
用递归和递推算法实现斐波那契数列
求斐波那契数列的前n项。斐波那契数列指的是这样一个数列:1、1、2、3、5、8、13、21、34、……,其第1、2项为1,从第3项开始,它是前两项之和。原创 2024-10-23 10:13:00 · 364 阅读 · 0 评论 -
快速排序(Python)
2)分区(Partitioning):重新排列数组,使得所有比基准值小的元素都移动到基准值的左边,所有比基准值大的元素都移动到基准值的右边。快速排序(Quicksort)是一种高效的排序算法,它采用分治法(Divide and Conquer)策略来对一个数组进行排序。1)选择一个基准值(pivot):从数组中选择一个元素作为基准值,这个选择可以是随机的,也可以是数组的第一个元素、最后一个元素或中间元素。3)递归排序子数组:递归地将小于基准值的子数组和大于基准值的子数组进行排序。原创 2024-10-22 12:49:16 · 233 阅读 · 0 评论 -
冒泡排序(Python)
冒泡排序:依次比较相邻的两个数,将大数放在后面,小数放在前面。n个数排序共需进行n-1趟,第一趟排序结束时,最后一个元素为所有元素中的最大值。原创 2024-10-21 19:05:14 · 282 阅读 · 0 评论