算法
小杨算法精学
才不是小emo的小杨
这个作者很懒,什么都没留下…
展开
-
N字形变换(麻烦的方法)
【代码】N字形变换(麻烦的方法)原创 2023-12-22 18:32:00 · 432 阅读 · 0 评论 -
最长回文子串(动态规划)
如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。"aba" 同样是符合题意的答案。原创 2023-12-22 15:28:17 · 398 阅读 · 0 评论 -
链表对象的封装
前面我自己写了一个对链表对象的封装,现在看来,确实还得是大佬的封装思路更加完善__init__方法是Python中的一个特殊方法,用于初始化一个新对象。当一个类的实例被创建时,__init__方法会被自动调用,用来对实例的属性进行初始化。这个方法可以接受参数,用来为实例的属性赋初值。通过__init__方法,可以确保实例在创建时具有必要的属性值,从而使得实例能够在被创建后立即可用。原创 2023-12-20 11:39:41 · 367 阅读 · 0 评论 -
python之双链表
这里讲解一个双链表节点添加的例子,我们看到10,15,20这三个点的位置,其中原本是10和20相互连接,首先,我们要先将15的next指向20,因为,如果我们现将10的next指向15的话,那20的地址就会消失,这要就会导致我们的数据丢失,所以要先连接15和20,然后就是把20的prior(前驱)指向15,最后再是15的prior(前驱)指向10,10的next指向15,这样我们就完成插入的程序了。原创 2023-12-18 11:04:39 · 533 阅读 · 0 评论 -
使用python实现链表
然后定义了一个对Node对象进行操作的一个方法类,其中包括封装好的创建链表中的头插法,尾插法,依次打印链表数据,插入结点数据,和删除加点数据。如果有什么看不懂的可以直接私信我哦!首先我们定义了一个Node对象,其接下来就是我们所有创建链表的结点对象。原创 2023-12-17 15:18:28 · 374 阅读 · 0 评论 -
用栈解决迷宫问题
具体来说,使用栈的思想是从起点开始,将起点入栈,然后不断从栈中弹出位置进行移动并判断是否到达终点,如果没有到达终点则继续将可移动的位置入栈,直到栈为空或者找到了终点位置。当无法继续移动时,回溯到上一个节点,继续尝试其他方向,直到找到一条通往终点的路径或者所有可能的路径都被探索完毕。使用栈来解决迷宫问题的思想是通过深度优先搜索算法来探索迷宫中的路径。栈的特点是后进先出,这正好符合深度优先搜索的思想,即先探索一个方向直到无法继续为止,然后回溯到上一个节点,再探索其他方向。原创 2023-12-14 14:04:02 · 392 阅读 · 0 评论 -
python冒泡排序
其实冒泡排序就是比较相邻的两个数字的大小,然后大的数字排在小的数字的后面,我们依次比较,第一轮比较完成,最大的数字一定是排在我们整个列表的最后面,然后最后的一个数字,就不用纳入我们比较的范畴里面了,经过几轮后,所以的数字都会成一个有序的形状了。大家可以把我们所有的需要排列的数字想象成一个水中的气泡,大的数字想象成大气泡,小的数字想象成小气泡。原创 2023-12-13 00:04:36 · 463 阅读 · 0 评论 -
二分查找的讲解
接下来就是二分查找的代码。原创 2023-11-14 14:32:47 · 67 阅读 · 0 评论 -
python之二分查找
li = [1, 2, 3, 4, 5, 6, 7, 8, 9, ]你要查询这些所有数据中的9的值的位置。这就是二分查找,二分查找在对排序好的数据,查找的时间复杂度优于顺序查找的时间复杂度。查找的序列一定是从小到大排序好的序列!这里介绍一下python的二分查找算法。这里我来写一个实例来讲解二分查找算法。原创 2023-07-31 19:03:33 · 41 阅读 · 0 评论