
数据结构与算法
文章平均质量分 88
基于Python语言,围绕着“算法+数据结构=程序”的思路。内容包括算法分析、基本线性结构、递归与动态规划、排序与查找、树及其算法、图及其算法等。本课注重数据结构与算法的实践与应用,为剑指offer做准备。
幸运 lucky
做的所有努力都是为了降低不确定性,提升概率。
展开
-
Python双端队列 实现回文检测
Python双端队列,实现回文检测。原创 2022-01-14 10:52:17 · 2023 阅读 · 0 评论 -
Python数据结构与算法 列表和字典性能比较
文章目录前面我们了解了 “大O表示法” 以及对不同的算法的评估,下面来讨论下 Python 两种内置数据类型有关的各种操作的大O数量级:列表 list 和字典dict。这是两种非常重要的 Python 数据类型,后面会用来实现各种数据结构,通过运行试验来估计其各种操作运行时间数量级。对比 list 和 dict 操作如下:List列表数据类型常用操作性能:最常用的是:按索引取值和赋值(v=a[i],a[i]= v),由于列表的随机访问特性,这两个操作执行时间与列表大小无关,均为O(1)。原创 2021-06-01 10:34:33 · 4157 阅读 · 29 评论 -
Python编程 深入浅出递归
文章目录一、初识递归二、进制转换三、递归可视化四、汉诺塔问题求解五、总结一、初识递归递归(Recursion)是一种解决问题的方法,其精髓在于将问题分解为规模更小的相同问题,持续分解,直到问题规模小到可以用非常简单直接的方式来解决。递归的问题分解方式非常独特,其算法方面的明显特征就是:在算法流程中调用自身。递归为我们提供了一种对复杂问题的优雅解决方案,精妙的递归算法常会出奇简单,令人赞叹。给定一个列表,返回所有数的和,列表中数字的个数不定,需要一个循环和一个累加变量来迭代求和,那现在既不能用 fo原创 2021-05-05 20:14:11 · 1990 阅读 · 20 评论 -
Python数据结构与算法 实现八大经典排序算法
在面试题中可能会遇到排序算法,毕竟作为数据分析师,难点的可能会考你手推公式,简单的可能就说:“来,那你写个快排吧。”,本文总结了部分排序算法的python实现。1. 冒泡排序平均时间复杂度:O(n^2),是一种稳定排序算法。算法原理:比较相邻的元素,如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比原创 2021-03-16 21:25:38 · 1267 阅读 · 3 评论 -
重学数据结构与算法(1) 代码效率优化方法论
重学数据结构与算法(1) 代码效率优化方法论一、代码效率优化方法论二、将“昂贵”的时间复杂度转换成“廉价”的空间复杂度原创 2021-01-25 08:13:52 · 1308 阅读 · 1 评论