1 基本概念
1.1 什么是数据结构
【思考】如何在书架上摆放图书?
找到空的书架,按照类别对图书进行分类,在每一种小类中按书名首字母按序排列。
【结果】被摆了一道
【例2】循环和递归的区别:递归对空间的耗用很大。
解决方法的效率和空间利用效率有关。
【例3】写程序计算给定多项式在给定点x处的值。f(x)=a0+a1x+……+an-1xn-1+anxn(代码见文末)
什么是数据结构?
数据对象的逻辑结构+物理存储结构
+算法
描述数据结构很好的方法:抽象 数据类型
数据类型:数据对象集、数据集合相关联的操作集
抽象:描述数据类型的方法不依赖于具体实现
与存放数据的机器无关
与数据存储的物理结构无关
与实现操作的算法和编程语言无关
只描述数据对象集和操作集是什么,不探讨如何实现。
1.2 什么是算法
一、算法(Algorithm):
- 一个有限的指令集;
- 接受一些输入(有些情况不需要输入);
- 产生输出;
- 一定在有限步骤之后终止;
- 每一条指令必须:有充分明确的目标,计算机能处理的范围之内,描述应不依赖于任何一门计算机语言或具体实现手段。
二、评判算法好坏的标准:
- 空间复杂度 S(n):占用存储单元的长度。
- 时间复杂度 T(n):耗费时间的长度。
1.3 应用实例:最大子列和
算法一:暴力求解

本文介绍了数据结构的基本概念,包括逻辑结构和物理存储结构,以及算法的定义和评价标准。通过举例说明了数据结构的重要性,如在图书分类中的应用,并讨论了算法的空间复杂度和时间复杂度。同时,给出了最大子列和问题的实例,该问题的时间复杂度为O(n3)。
最低0.47元/天 解锁文章
783

被折叠的 条评论
为什么被折叠?



