算法
算法是独立存在的一种解决问题的方法和思想
算法的五大特性
- 输入: 算法具有0个或多个输入
- 输出: 算法至少有1个或多个输出
- 有穷性: 算法在有限的步骤之后会自动结束而不会无限循环,并且每一个步骤可以在可接受的时间内完成
- 确定性:算法中的每一步都有确定的含义,不会出现二义性
- 可行性:算法的每一步都是可行的,也就是说每一步都能够执行有限的次数完成
数据结构
数据是一个抽象的概念,程序设计语言中的基本数据类型,如:int,float,char
等;
数据结构指数据对象中数据元素之间的关系。数据元素之间不是独立的,存在特定的关系,这些关系便是结构;
Python的内置数据结构,如列表、元组、字典、集合
等;
Python的扩展数据结构,Python系统里面没有直接定义,需要我们自己去定义实现这些数据的组织方式,这些数据组织方式称之为Python的扩展数据结构,比如栈,队列
等。
程序 = 数据结构 + 算法
总结:
算法是为了解决实际问题而设计的,数据结构是算法需要处理的问题载体
算法效率衡量
“
大O记法
”:对于单调的整数函数f,如果存在一个整数函数g和实常数c>0,使得对于充分大的n总有f(n)<=c*g(n),就说函数g是f的一个渐近函数(忽略