文章目录
一.绪论
1.1.数据结构研究的内容
1.数据的各种逻辑结构和物理结构,以及他们之间的相应关系;
2.对每个结构定义相适应的各种算法;
3.设计相应算法;
4.分析算法的效率;
1.2基本概念和术语
1.2.1、数据和数据结构和数据项和数据对象;
数据结构:互相之间存在一种或多种特定关系的数据元素集合;
数据对象:数据的子集,属性相同的数据元素;
数据元素:数据的基本单位,由数据项组成;
数据项:数据最小单位;
1.2.2、数据结构
数据结构包括逻辑结构和存储结构(物理结构)两个层次;
数据结构是互相之间存在一种或者多种特定关系的数据的集合;
逻辑结构
逻辑结构分为四类形:集合结构,线性结构,树形结构,图形结构 。
存储结构
物理结构又叫存储结构,分为两种,一种是顺序存储结构一种是链式存储结构。
1.2.3、数据类型和抽象数据类型
a、数据类型
一般包括整型、实型、字符型等原子类型外,还有数组、结构体和指针等结构类型。
b、抽象数据类型
抽象数据类型(Abstract Data Type,ADT),类似C语言中的结构体以及C++、java语言中的类。
通俗的讲,抽象数据类型,泛指除基本数据类型以外的数据类型。
1.3、抽象数据类型的表示与实现
抽象数据类型的概念与面向对象的思想是一致的。
1.4、算法和算法分析
算法+数据结构=程序
1.4.1算法的定义及特性
算法是为了解决某类问题而规定的一个有限长的操作序列。
一个算法必须满足以下五个重要特性: 无穷性、确定性、可行性、输入、输出
1.4.2、评价算法优略的基本标准
正确性,可读性,健壮性,高效性;
1.4.3、算法的时间复杂度
最好、最坏和平均时间复杂度
最好时间复杂度,指的是算法计算量可能达到的最小值。
最坏时间复杂度,指的是算法计算量可能达到的最大值。
平均时间复杂度,是指算法在所有可能情况下,按照输入实例以等概率出现时,算法计算量的加权平均值。
1.4.4、算法的空间复杂度
空间复杂度只需要分析辅助变量所占的额外空间。
空间复杂度:S(n) = O(f(n))
如果算法执行所需要的临时空间不随着某个变量n的大小而变化,即此算法空间复杂度为一个常量,可表示为 O(1)