python算法

第一章 算法

一系列解决单个或多个问题,或有执行计算机功能的命令集合。人类在解决复杂问题时所采用的一系列特定的方法,即为算法。

算法与程序的区别

程序指一组计算机能识别和执行,并有一定功能的指令。程序是以计算机能理解的各式各样的编程语言编写而成,而算法是可以通过编程语言、图绘、口述等人能够理解的方式描述的。

算法作为方法,有正确、不正确、高效、低效之分。对算法至关重要的不止有正确性,还有效率。评判算法是否高效,可以用时间复杂度和空间复杂度丈量

时间复杂度

高级语言编写的程序运行时间主要取决入三个因素:算法的方法、策略;问题的输入规模;计算机执行命令的速度。问题的输入规模是客观的,除了计算机执行指令速度依靠性能提升,改进算法的策略是至关重要的。

当输入规模极为庞大时,时间复杂度的差距能使计算机运算的效率提升多个数量级。

空间复杂度

一个算法在计算机存储器上所占用的存储空间,包括算法本身所占用的存储空间,算法的输入、输出数据所占用的存储空间,算法在运行过程中临时占用的储存空间三个方面。空间复杂度是对一个算法所需存储空间的量度。

时间复杂度和空间复杂度往往相互制约、相互影响。在解决同一问题时,当追求降低时间复杂度时,可能会不可避免提高空间复杂度,占用较多储存空间;反之,降低空间复杂度时,可能提高时间复杂度,导致占用较长的运行时间。

设计算法的同时,要综合考虑算法的各种性能,从而有效提高效率。

算法的应用

算法的应用无处不在,小到排序问题,大到神经网络和深度学习,无论现实问题或虚拟问题,都很容易找到算法的影子。如:

深度学习

人类基因工程

搜索引擎和网络爬虫

python算法的优势

使用python学习算法,最大的优势就是可以看到复杂的算法怎样一步步从基本的语言机制实现出来。

第二章 排序算法

插入排序

​​​​​​​

相关推荐
tanyongxi6616 分钟前
C++ 特殊类设计与单例模式解析
java·开发语言·数据结构·c++·算法·单例模式
qq_5139704416 分钟前
力扣 hot100 Day76
算法·leetcode·职场和发展
Moshow郑锴1 小时前
机器学习相关算法:回溯算法 贪心算法 回归算法(线性回归) 算法超参数 多项式时间 朴素贝叶斯分类算法
算法·机器学习·回归
HAPPY酷1 小时前
给纯小白的Python操作 PDF 笔记
开发语言·python·pdf
liulilittle1 小时前
BFS寻路算法解析与实现
开发语言·c++·算法·宽度优先·寻路算法·寻路
剪一朵云爱着1 小时前
PAT 1065 A+B and C (64bit)
算法·pat考试
喜欢吃燃面2 小时前
C++算法竞赛:位运算
开发语言·c++·学习·算法
传奇开心果编程2 小时前
【传奇开心果系列】Flet框架实现的家庭记账本示例自定义模板
python·学习·ui·前端框架·自动化
项目申报小狂人2 小时前
算法应用上新!自适应更新策略差分进化算法求解球形多飞行器路径规划问题,附完整MATLAB代码
开发语言·算法·matlab
王者鳜錸3 小时前
PYTHON让繁琐的工作自动化-PYTHON基础
python·microsoft·自动化