数据结构笔记(0)
10月9日
数据结构笔记(0)
最近开始学习数据结构,在这里写下自己的笔记
教材: 清华大学出版社 陈明主编 数据结构(c语言版) 2005.09
第一章 绪论
1.1 数据结构的重要性
好像就是说数据结构是怎么怎么重要,怎么怎么有用.
1.2 基本术语
数据(data) 信息的载体,它是描述客观事物的数,字符以及所有能输入到计算机中的被计算机程序识别,加工处理的信息的集合.
数据项(data item) 数据具有独立意义的不可分的最小单位,它是对数据的数据元素属性的描述.数据项也被称为字段或域.
数据元素(data element)数据的基本单位,是对一个客观实体的数据描述.
数据对象(data object) 具有相同性质的计算机数据的集合及定义在这个数据集合上的一组操作的总称.
原子类型 如果一个数据元素由一个数据项组成,这个数据元素的类型就是这个数据项的原子类型,值在逻辑上不可分解,如(int i,float j)
结构类型 如果由多个不通类型的数据项组成,这个时间元素的类型就是由各数据项类型构造而成的,值由若干成分按某种结构组成,如struct stu.
抽象数据类型(abstract data type) 由于c语言没有提供"类"这一数据类型,因此无法实现ADT.
数据结构 数据之间的相互关系(即数据的组织形式)及在这些数据上定义的数据运算方法的集合.
1.3数据结构的概念
包含三个方面 1 数据之间的逻辑关系 :集合 线性结构 树状结构 网状结构
2 存储结构 也就是物理结构
3 数据的运算
1.4数据的逻辑结构
形式上可以定义为一个二元组:
Data_Structure=(D,R) 其中D是数据结构的有限集合,R是D关系的有限集合.
1.5数据的存储结构
1顺序存储 2链式存储 3索引存储 4散列存储(根据结点的关键字直接计算出结点的存储地址)
1.6数据的运算
查找 插入 删除 修改 排序......
1.7数据的逻辑结构,存储结构和运算的关系
融为一体
对线性表上的插入,删除运算限制在表的一端进行,该表为栈;分在两端,该表为队列.
1.8算法的描述
算法的重要特性: 输入 输出 有穷性 确定性 可行性
例题: 存在一个长度为n的字符串,串中元素互不相同,编写一算法,确定字符e在字符串中的位置.
解答:
Search(char A[n],int n)
{
int i;
for(i=1,i<=n,i++)
if(A[i-1]=='e') return(i); /*找到返回*/
else return(0); /*未找到返回0*/
|
| |