![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python算法
文章平均质量分 72
爆笑蛙
鱼有水自生,人有炁长存
展开
-
python马踏棋盘
此问题的本质就是:利用递归思维不断的去尝试下一个落子的位置,除了最后一个落子位置以外,其余的每个落子位置至少存在1个可移动位置,至多存在8个可移动位置。所以这是一个最大递归深度为64,但递归广度非常大的问题。所以必须采用深度优先来解决此问题,下面我们使用函数递归的方式找出马踏棋盘的路线,最后用tkinter制作UI界面来动态展示。原创 2023-08-26 23:05:46 · 244 阅读 · 0 评论 -
2的n次方归并排序
一般的递归排序每次递归是按照当前列表长度的中间值来把当前列表分成两个列表,直到当前列表的长度为1时结束递归。现在我们将采用一种不同的分割方式来归并排序,第一轮排序使用前后2个的元素进行比较,第二轮排序使用前后4个元素进行比较,第三轮使用前后8个元素进行排序,以此类推直到比较的元素个数为列表长度的一半。原创 2023-08-29 21:36:19 · 195 阅读 · 0 评论 -
python列表递归排序
递归排序就是通过不断的从中间位置分割列表,递归一次就分割一次,一直分到分不动位置(只有一个元素或没有元素)。然后比较左右两个元素的大小,按大小顺序重新放到一个列表中;再比较两个有序列表中每一个元素的大小,按照大小顺序再放入一个新的列表中;一直比较有序列表直到第一个递归函数出栈,即可得到一个有序列表。原创 2023-08-28 21:46:36 · 421 阅读 · 1 评论 -
python杨辉三角
使用python打印杨辉三角,杨辉三角的规律有:第n行就会有n个数字;每行数字都交错排列使其看起来像三角形;第一行一个数字1;第二行两个数字1和1;从第三行开始,除了第一个和最后一个数字是1以外,其余的第x个数字都等于上一行第x-1个数字与第x个数字之和。原创 2023-08-25 22:08:35 · 459 阅读 · 0 评论 -
python约瑟夫环
使用python实现约瑟夫环算法,轻松解决各种约瑟夫环问题。这个问题的本质就是,30个人排成一排不断的报数,数到9的人会被扔到海里,被扔到海里的人不能再参与到后面的报数中;后面一个人继续从1开始数,数到9的人又会被扔到海里;如此重复直到扔掉15个人后结束。原创 2023-08-22 21:59:57 · 687 阅读 · 0 评论 -
python魔方阵
使用python解决魔方阵问题,首先找出魔方阵的规律,再根据魔方阵的规律编写程序解决问题。n阶魔方阵中数字的排布规律:数字1一定位于第一行的中间列,从1开始向右上方递增1,如果超出了上边界则把超出的数字放到同一列的最后一行,如果超出了右边界则把超出的数字放到同一行的第一列,如果递增数字的位置已存在数字则向下方递增,而且需要向下方递增的数字总是n的整数倍。原创 2023-08-27 21:38:03 · 1764 阅读 · 0 评论 -
python卡布列克常数
使用python解决卡布列克运算,判断出任意一个4位正整数是否为卡布列克常数。对一个各位数字不全相同的4位数重复进行若干次卡布列克运算,最后得到的结果总是6174,这种数被称为卡布列克数。原创 2023-08-24 22:03:38 · 133 阅读 · 0 评论 -
python要发就发
使用python解决要发就发问题,首先分析出要发就发问题的本质为在小于等于1993的素数中是否存在两个素数之差等于1898。其次就是设计素数生成器和找出两个素数之差为1898的函数。原创 2023-08-23 22:49:01 · 135 阅读 · 0 评论 -
python三色旗
使用python解决三色旗问题,不管几色旗都能轻松搞定。这个问题的本质就是说,在一个列表中随机分布着3种元素,元素的数量未知但有限,我们需要设计一个程序来交换这些元素的位置,使这个列表种的元素变成3部分,每部分中都是相同的元素。每次只能交换两个元素的位置,输出交换次数最少的操作步骤。在列表中交换两个元素的位置很简单,难的是操作步骤要最少。原创 2023-08-21 22:03:25 · 104 阅读 · 0 评论