基本概念——什么是数据结构?
一.影响解决问题的方法效率的几个因素:
1.数据的组织方式
2.空间的利用效率
eg:实现一个PrintN函数,使得传入一个正整数为N的参数后,能顺序打印从1到N的全部正整数
法一(循环)
def print_one(N):
for i in range(N):
print(i+1)
法二(递归)
def print_one(N):
if N>0:
print(N)
print_one(N-1)
tips:递归程序对空间占用有时候很恐怖
3.算法的巧妙程度
eg:计算给定多项式在给定点x处的值
法一(直接计算)
法二(巧妙)
(代码待补充)
二. 定义
数据结构——数据对象在计算机中的组织方式(逻辑结构/物理存储结构)
数据对象:与加在其上的操作有关
算法: 完成上述操作的方法
抽象数据类型:描述数据类型的方法不依赖于具体实现【只描述是什么,不牵扯如何做】
数据类型:数据对象集+数据集合相关联的操作集