
数据结构
King的王国
AI干货分享
展开
-
LeetCode 72 编辑距离
代码: class Solution: def minDistance(self, word1: str, word2: str) -> int: l1 = len(word1) l2 = len(word2) dp = [[0 for _ in range(l2+1)] for _ in range(l1+1)] for i in range(l1+1): dp[i][0] = i ...原创 2021-09-25 16:30:29 · 223 阅读 · 0 评论 -
排序算法理解-----堆排序
https://www.cnblogs.com/chengxiao/p/6129630.html 解释通俗易懂原创 2021-07-14 14:34:07 · 108 阅读 · 0 评论 -
python实现十大经典排序算法
冒泡排序(Bubble Sort) 冒泡排序须知: 冒泡排序每次找出一个最大的元素,因此需要遍历 n-1 次。还有一种优化算法,就是立一个flag,当在一趟序列遍历中元素没有发生交换,则证明该序列已经有序。但这种改进对于提升性能来说并没有什么太大作用。 什么时候最快(Best Cases): 当输入的数据已经是正序时。 什么时候最慢(Worst Cases): 当输入的数据是反序时。 冒泡排序动图演示: 冒泡排序 Python 代码实现: def bubbleSort(num..原创 2021-06-12 17:59:41 · 485 阅读 · 6 评论 -
python实现折半查找(二分查找):递归和非递归实现
二分查找又称折半查找 优点是比较次数少,查找速度快,平均性能好; 缺点是要求待查表为有序表,且插入删除困难。 因此,折半查找方法适用于不经常变动而查找频繁的有序列表。 ####################非递归方法########################### def binary_search(lis, nun): left = 0 right = len(lis) - 1 while left <= right: #循环条件 mid原创 2021-07-14 13:46:52 · 1332 阅读 · 0 评论 -
常用的数据结构与算法
数据结构分类: 1、数组 2、栈 3、队列 4、链表 5、树 6、散列表 7、堆 8、图原创 2021-03-30 13:59:25 · 302 阅读 · 0 评论