数据结构 (C语言) 读书笔记1
来源:互联网 发布:中国三明治 知乎 编辑:程序博客网 时间:2024/05/16 05:30
数据结构主要研究的问题:如何合理地组织数据,高效地处理数据,这就是“数据结构”主要研究的问题。
基本概念和术语
1、数据(Data):是客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称。
2、数据元素(Data Element):是数据的基本单位,在计算机中通常作为一个整体进行考虑和处理。也称为 元素、节点、记录。
3、数据项(Data Item):是组成数据元素的、有独立含义的、不可分割的最小单位。如,学生信息表中的学号、姓名、性别都是数据项。
4、数据对象(Data Object):是性质相同的数据元素的集合,是数据的一个子集。
以上四者的关系:数据项——>数据元素——>数据对象——>数据。
5、数据结构(Data Structure)是相互之间存在一种或多种特定关系的数据元素的集合。
数据结构包括逻辑结构和物理结构两个层次。
数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。
数据的逻辑结构有两个要素:数据元素和关系。
数据元素之间的关系:
(1)、集合结构: 数据元素之间除了“属于同一集合”的关系外,别无其他关系。
(2)、线性结构: 数据元素之间存在一对一的关系。
(3)、树结构:数据元素之间存在一对多的关系。
(4)、图结构或者网状结构:数据元素之间存在多对多的关系。
数据逻辑结构包括线性结构和非线性结构,线性结构线性表,栈和队列,字符串,数组和广义表,非线性结构包括树和二叉树,图和无向图。
存储结构:
数据对象在计算机中的存储表示称为数据的存储结构,也称为物理结构。
数据元素在计算机中有两种基本的存储结构,分别是顺序存储结构和链式存储结构。
(1)、顺序存储结构:顺序存储结构是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系,通常借助程序设计语言的数组类型来描述。
2)、链式存储结构:链式存储结构无需占用一整块存储空间。为了表示结点之间的关系,需要给每个
结点附加指针字段,用于存放后继元素的存储地址。通常借助程序 设计语言的指针类型来描述。
6、抽象数据类型(Abstract Data Type,ADT):一般指由用户定义的,表示应用问题的数据模型,以及
定义在这个模型上的一组操作的总称。
具体包括三部分:数据对象,数据对象上关系的集合,以及对数据对象的基本操作的集合。
抽象数据类型的定义:
ADT 抽象数据类型
{
数据对象:<数据对象的定义>
数据关系:<数据关系的定义>
基本操作:<基本操作的定义>
}ADT 抽象数据类型
基本操作的定义格式:
基本操作名(参数表)
初始条件:<初始条件描述>
操作结果:<操作结果描述>
- 数据结构 (C语言) 读书笔记1
- 数据结构读书笔记(一)(C语言)
- 数据结构读书笔记(二)(C语言)
- 数据结构读书笔记(三)(C语言)
- 数据结构(C语言)读书笔记8:队列
- 数据结构(C语言描述)读书笔记之线性表1
- 数据结构(C语言)读书笔记3:顺序表
- 数据结构(C语言)读书笔记9:串的基本概念
- 数据结构(C语言)读书笔记11:堆分配存储表示
- 数据结构(C语言描述)读书笔记之栈
- 数据结构(C语言描述)读书笔记之队列
- 数据结构(C语言描述)读书笔记之堆
- 数据结构(C语言描述)读书笔记之排序
- 读书笔记 数据结构(c语言版)
- 数据结构(C语言)读书笔记6:栈的应用之括号匹配的C代码实现
- 数据结构(C语言)读书笔记7:栈:行编辑程序C代码
- 数据结构(C语言)
- 数据结构(C语言)读书笔记5:栈的应用之数制转换及C语言代码实现
- SSH框架整合之注册登录 .
- 预编译头文件的问题
- 利用JBoss漏洞拿webshell方法
- 《阅读者》第20期:架构模式的圣经
- c++ 类的大小
- 数据结构 (C语言) 读书笔记1
- 给80后员工主管指南
- 火狐浏览器扩展之三大下载利器
- 做有中国特色的程序员
- 如何在网页中动态的显示日期时间
- 数据库中的所有触发器
- vC++实现遍历桌面和快速启动里的所有快捷方式,判断快捷方式是不是浏览器,如果是则删除快捷方式参数
- #ifndef 与 #program once 的区别
- Missing contentDescription attribute on image