前言
学习是一个长久的事,无论学习什么坚持才是最重要的,一下是对数据结构的学习 在绪论中我们需要知道的是 ,数据结构是什么 ,数据结构能干什么,以及如何使用数据结构在日常的开发中
什么是数据结构
数据结构:描述的就是数据与数据之间的多种关系,数据之间不是孤立的存在的他们之间存在者某种特定的关系,通常分为 1.集合 2.线性结构3.树形结构4.图形结构
- 基本概念
- 数据:是对客观事物的符号表示,在计算机的世界中指的的可以输入到计算机中并且可以计算机处理的符号的总称,是计算机程序加工的原料。
- 数据元素:是数据的基本单位,在计算机中通常作为一个整体来处理。
- 数据项:数据项是数据不可分割的最小单位。
- 数据对象:是性质相同的数据元素的集合,是数据的一个子集
- 数据结构的定义形式
- 数据结构是一个二元组 Data_Structure =(D,S) 其中D:是数据集合 S:是作用在数据上的关系集合(此处的关系是逻辑关系)
- 二元组中描述的是数据元素之间的逻辑关系,因此也称逻辑结构
- 数据结构在计算机中的表示称之为物理结构,也成存储结构,它包括数据的表示和数据之间的关系的表示
- 位:一个二进制为是计算机中最小的单位
- 结点:由若干个位组成的位串
- 数据域:数据元素由若干数据项组成,位串对应于个个数据项的子串称之为数据域
- 数据元素关系的表示:顺序映像和非顺序映像,并由此得到两种不同的存储结构,顺序存储结构和链式存储结构
- 顺序存储结构:借助元素在存储器中的相对位置来表示元素之间的逻辑关系
- 非顺序存储结构:借助指示元素存储位置的指针来表示元素之间的逻辑关系
- 一个算法的设计取决于他的逻辑结构,一个算法的实现依赖于采用的物理结构
数据类型
定义:数据类型是一个值的集合,以及定义在这个值上的一系列的操作的总称
分类: 数据类型可以分为两类 一类是原子类型,一类是结构类型,原子类型如C语言中的基本数据类型,结构类型是若干成分按某种结构组成,结构类型可以看成是一种数据结构以及定义在其上的一组操作
抽象数据类型:由一个值域和定义在该值域上的一组操作组成
多形数据类型:理解为java中的对象即可