python 解 《算法》
文章平均质量分 59
比较有趣代码python代码片段,用于解决有趣的问题或有趣地解决问题。
-NVIDIA TITAN RTX
大雨倾盆,不走回头路。
明知是坑,犹要往里冲。
横批:净做蠢事
展开
-
算法-狄克斯特拉算法
狄克斯特拉算法用于在加权图中查找最短路径。原创 2024-03-25 08:48:53 · 591 阅读 · 1 评论 -
算法-广度优先算法
广度优先算法的核心思想是:从初始节点开始,应用算符生成第一层节点,检查目标节点是否在这些后继节点中,若没有,再用产生式规则将所有第一层的节点逐一扩展,得到第二层节点,并逐一检查第二层节点中是否包含目标节点。若没有,再用算符逐一扩展第二层的所有节点……,如此依次扩展,检查下去,直到发现目标节点为止。其中Thom是你所要找的人——mango seller。图模拟一组连接,由节点和边构成。(1)用python创建如下图。一种 先进先出 的数据结构。(2)采用广度优先算法查找。原创 2024-03-20 11:45:00 · 259 阅读 · 1 评论 -
算法-散列函数
如:输入“苹果”时,散列函数输出3。但后面输出“鳄梨”时,散列函数的结果也为3,那么苹果和鳄梨映射到了同一位置。只需输入(“苹果”)给散列函数,散列函数输出索引为3,则数组中索引为3的位置是苹果的价格,可以立即得到结果。当数组中被占用的空间很多时,需要创建一个更长的数组为新的散列表,然后将所有元素储存到新的散列表中。上述结果我们可以知道,散列函数准确指出了价格的储存位置,我们根本不用查找。散列函数是一个“无论你给它什么数据,它都立即还你一个数字”的函数。输入(“苹果”),散列函数输出索引为3。原创 2024-03-19 11:45:00 · 442 阅读 · 1 评论 -
算法-快速排序
根据“欧几里得算法(求最大公约数)”,知使用于这块小土地的最大方块,也就是适用于整块地的最大方块(相当于求1680和640的最大公约数)。你有一块1680*640的土地,你要将它均匀分成方块,并让方块尽可能大。(2)将数组分为两个子数组:小于基准值的子数组和大于基准值的子数组。(3)对这两个子数组进行快速排序(重复以上步骤,继续分区)←水平16.80cm,竖直6.40cm→。快速排序也相当于分土地问题——分而治之。原创 2024-03-18 11:45:00 · 419 阅读 · 0 评论 -
算法-递归
else: #递归条件:让脚本知道何时调用自己。if x == 1: #基线条件:要让脚本知道何时停止运行。从盒子里找🔑,盒子里面又有盒子,🔑在某个盒子里。3.递归使用栈虽然很方便,但是可能占用大量内存,有两种解决办法。在第二次函数调用中,不能访问第一次调用的x变量,反之亦然。在第三次函数调用中,不能访问第二次调用的x变量,反之亦然。1.本题递归算法让解决方案更清晰,没有性能上的优势。2.使用尾递归(一个高级递归主题)原创 2024-03-17 17:45:00 · 943 阅读 · 1 评论 -
算法-选择排序
2.将最小元素加入到新数组中。1.找数组中最小元素。数组(Array)是有序的元素序列。的逻辑顺序,是通过链表中的。原创 2024-03-16 22:34:15 · 183 阅读 · 1 评论 -
算法-查找
在文本中查找模式字符串的简单实现。如果找到,返回模式在文本中的索引,否则返回-1。二分查找算法通常应用于已排序的数组。1.简单查找(或顺序查找)原创 2024-03-16 22:16:42 · 146 阅读 · 1 评论