精品文档
20
精品文档
用计算机解决问题一般步骤:
一般来说,用计算机解决一个具体问题时,大致经过以下几个步骤:首先要从具体问题抽象 出一个适当的数学模型, 然后设计一个解此数学模型的算法, 最后编出程序进行测试调整知道的 到最终解答。寻求数学模型的实质就是分析问题,从中提取操作的对象,并找出这些操作对象之 间含有的关系,然后用数学的语言加以描述。
三种经典的数学模型 图书书目自动检索系统——线性关系 博弈问题——树 城市道路问题——图
数据结构( data structure )
简单的解释:相互之间存在一种或多种特定关系的数据元素的集合。 数据间的联系有逻辑关系、存储联系,通常的数据结构指的是逻辑结构。
前面提到的三种经典的数学模型体现了数据结构的基本结构,数据结构通常有如下四种关 系:(1)集合结构 (2)线性结构 ( 3)树形结构 (4)图状结构 ☆ 线性表(一)
N 个数据元素的有限序列
存储结构:顺序存储结构、链式存储结构 (1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
12
13 15 22 34 38 43
☆ 二维数组与线性表 如果某一线性表,它的每一个数据元素分别是一个线性表,这样的二维表在数据实现上通常使用 二维数组。
二维数组的一个形象比喻—— 多个纵队形成的方块 m * n
☆ 数组地址计算问题
题目描述:已知 N*(N+1) / 2 个数据,按行的顺序存入数组 b[1],b[2], ⋯中。其中第一个下标表示
行,第二个下标表示列。若 aij (i>=j ,j=1,2, ⋯,,n )存于 b[k] 中,问: k,i,j 之间的关系如何表示?给 定 k 值,写出能决定相应 i,j 的算法。
当需要在顺序存储的线性表中插入一个数据元素时,需要顺序移动后续的元素以“腾”出某 个合适的位置放置新元素。删除元素呢?
引言
☆ 线性表(二) 链式存储
具体问题
编程、 调试 得到答案
插入新元素的时候只需要改变指针所指向的地址。