目录
初识集合框架
- Java的集合框架也可被称为容器,是定义在Java.util包下的一些接口和实现类。
- 其就是将多个元素存储到一个单元内,并对该单元内的元素进行增删改查(CRUD)
- 这些容器的背后都是对某种数据结构的封装,具体的后续慢慢介绍。
数据结构基本概念和术语
数据
数据是描述客观事物的符号,是可以被计算机识可以操作的对象,能被计算机识别并可输入到计算机的符号集合
数据元素
数据元素是组成数据的,有一定意义的基本单位。在计算机中通常作为整体处理(也可称为记录)
比方说在畜类中,牛,马,羊等算是畜类的数据元素
数据项
一个数据元素可以由若干的数据项组成。数据项是不可分隔的最小单位。
比方说人这个数据元素可以包含嘴巴,鼻子,耳朵,电话,邮箱等数据项。
数据对象
数据对象是性质相同的数据元素的集合,是数据的子类。性质相同是指数据元素具有相同数量和类型的数据项。我们经常将数据对象简称为数据。
前四者的关系
查阅网上资料,我觉得举例子更好理解
以上是两张表,这两张表就是数据
每个表就是一个数据对象
每个表中的每一行就是数据元素
而每个表中的字段就表示数据项
数据结构
不同数据元素之间存在的关系,我们称为结构。数据结构指相互之间存在一种或多种特定关系的数据元素的集合。那么之间的关系究竟是什么呢?
逻辑结构和物理结构
逻辑结构
逻辑结构指的是数据对象中的数据元素的关系。逻辑结构分为下面这四种
- 集合结构
集合中的数据元素除了同属于一个集合外没有什么别的关系,每个元素之间平等。
- 线性结构
线性结构的数据元素是一对一的关系。
- 树形结构
存在一对多的层次关系
- 图形结构
图形结构中数据元素的关系是多对多的
注意点: - 画图时,每个数据元素要要看成一个结点,并用圆圈表示。
- 元素之间的逻辑关系用连线表示,如果有方向,则连线要带箭头。
物理结构
物理结构是指数据元素的逻辑结构在计算机中存储的方式。同时,物理结构也可以称为存储结构
-
顺序存储
将数据元素存储到连续的存储单元中,数据间逻辑关系和物理关系一样。
-
链式存储
数据元素可以存放在不同的存储单元内,存储单元可以是连续的也可以是不连续的。
算法
算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。
算法有五个基本特性(输入,输出我合起来描述的,所以我下面就写了四个)
- 输入输出
算法具有0个或者多个输入,至少有1个或多个输出。 - 有穷性
算法在执行有限的步骤后会自动结束,而不会一直循环。当然,每个步骤还要在有限的时间内完成。 - 确定性
算法的每个步骤都要有确定含义,不可出现二义。 - 可行性
算法的每一步都是可行的。
算法设计要求
1.正确性
2.可读性
3.健壮性:输入数据不合法时,算法会进行相应处理,而不是产生异常或者产生出莫名其妙的结果。
4.时间效率高存储容量低
程序设计=数据结构 + 算法