大话数据结构 读书笔记

数据: 是描述客观事物的符号。

数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。也被称作记录。

数据项: 一个数据元素由若干个数据项组成,是数据不可分割的最小单位。

数据对象:是性质相同的数据元素的集合,是数据的子集。

数据结构: 相互之间存在一种或多种特定关系的数据元素的集合。


数据结构分物理结构和逻辑结构。

逻辑结构:数据对象中数据元素之间的相互关系。

1.集合结构。

2.线性结构。

3.树形结构。

4.图形结构。

物理结构:数据的逻辑结构在计算机中的存储形式。

1.顺序存储结构。

2.链式存储结构。


抽象数据类型。

数据类型:一组性质相同的值的集合以及定义在此集合上的一些操作的总称。

抽象是指抽取出事物具有的普遍性的本质。抽象是一种思考问题的方式。 

抽象数据类型:一个数学模型和定义在该模型上的一组操作。

抽象数据类型体现了程序设计中问题分解、抽象和信息隐藏的特性。


算法是解决特定问题求解步骤的描述。在计算机中表现为指令的有限序列,并且每条指令可以表示一个或多个操作。

算法的五个特性:

输入 输出 有穷性 确定性和可行性。

算法复杂度:

事后统计法:通过设计好的测试程序和数据,利用计算机计时器对不同算法编制的程序的运行时间进行比较,从而确定算法效率的高低。

事前分析估算法:在计算机程序编制前,依据统计方法对算法进行估算。

1.算法所采用的策略和方法。

2.编译产生的代码质量。

3.问题的输入规模。

4.机器执行指令的速度。

抛开与计算机硬件、软件有关的因素,一个程序的运行时间,依赖于算法的好坏和问题的输入规模。

在分析程序的运行时间时,最重要的是把程序看成独立于程序设计语言的算法或一系列步骤。

我们在分析一个算法的运行时间时,最重要的是把基本操作的数量和输入规模关联起来,即基本操作的数量必须表示成输入规模的函数。


对算法复杂度,一般指最坏情况下的复杂度。


你可能感兴趣的:(数据结构)