美文网首页python
03.python算法基础知识理解

03.python算法基础知识理解

作者: 软件开发技术修炼 | 来源:发表于2022-05-30 00:02 被阅读0次

程序 = 数据结构+算法
一个程序,有多种解决实际问题的解法,就涉及到算法;听说多训练算法思维,测试过程基本也不会漏测,赶紧多训练下;
本篇主要理解下算法解题中涉及到的几种概念,时间复杂度+空间复杂度

1、时间复杂度:用来评估算法运行效率的式子


image.png
小结:

1、算法要考虑时间复杂度。时间复杂度是用来估计算法运行时间的一个式子(单位)。
2、一般来说,时间复杂度高的算法比复杂度低的算法慢。
3、常见的时间复杂度(按效率排序):
O(1)>O(logn)>O(n)>O(nlogn)>O(n2)>O(n2logn)>O(n^3)
这个时间复杂度中log都是以2为底的对数。
3、不常见的时间复杂度:
O(n!), O(2^n), O(n^n)
4、怎样判断时间复杂度:确定问题规模n,循环减半的过程是 O(logn),几次循环就是n的几次方的复杂度

2、空间复杂度

时间复杂度比空间复杂度重要,所以有很多分布式算法

3、递归

image.png

递归实例:汉诺塔问题

image.png
def hanoi(n,a,b,c):
    if n >0:
        hanoi(n-1,a,c,b)
        print("moving from %s to %s"%(a,c))
        hanoi(n-1,b,a,c)

hanoi(3,'A','B','C')

相关文章

  • 03.python算法基础知识理解

    程序 = 数据结构+算法一个程序,有多种解决实际问题的解法,就涉及到算法;听说多训练算法思维,测试过程基本也不会漏...

  • 02.python 条件语句 if while for

    1.Python if elif else 语句 02.python while 循环 03.python for循环

  • python学习笔记(一)基础知识

    个人笔记 仅供参考 一、基础知识 本文主要介绍python开始学习应该掌握的一些基础知识。 1、算法 算法即解决一...

  • 排序算法详解与python实现

    Note:写后感:理解算法思想很重要!理解算法思想很重要!理解算法思想很重要!之后尝试自己独立码代码对算法的理解更...

  • 算法导论:概率分析和随机算法

    参考资料:概率分析和随机算法雇佣问题在讲述概率分析和随机算法之前,需要先简单介绍一下,概率论的基础知识 基础知识 ...

  • Python算法

    注:采转归档,自己学习查询使用 Python算法:基础知识Python算法:Counting 101Python算...

  • Java锁---偏向锁、轻量级锁、自旋锁、重量级锁

    理解锁的基础知识 如果想要透彻的理解java锁的来龙去脉,需要先了解以下基础知识。 基础知识之一:锁的类型 公平锁...

  • 【算法】算法基础知识

    什么是算法? 算法就是解决一个问题的逻辑套路,如:菜谱是做菜肴的算法,洗衣机的使用说明书是操作洗衣机的算法。广义来...

  • 分治算法

    文章结构 如何理解分治算法 分治算法应用举例 1. 如何理解分治算法 1.1 分治算法的核心思想 分治算法的核心思...

  • 待学习总结

    区块链协议、加密技术、共识算法、智能合约等基础知识

网友评论

    本文标题:03.python算法基础知识理解

    本文链接:https://www.haomeiwen.com/subject/dpaiprtx.html