初识集合和数据结构

目录

初识集合框架

  1. Java的集合框架也可被称为容器,是定义在Java.util包下的一些接口和实现类。
  2. 其就是将多个元素存储到一个单元内,并对该单元内的元素进行增删改查(CRUD)
  3. 这些容器的背后都是对某种数据结构的封装,具体的后续慢慢介绍。

数据结构基本概念和术语

数据

数据是描述客观事物的符号,是可以被计算机识可以操作的对象,能被计算机识别并可输入到计算机的符号集合

数据元素

数据元素是组成数据的,有一定意义的基本单位。在计算机中通常作为整体处理(也可称为记录)

比方说在畜类中,牛,马,羊等算是畜类的数据元素

数据项

一个数据元素可以由若干的数据项组成。数据项是不可分隔的最小单位。

比方说人这个数据元素可以包含嘴巴,鼻子,耳朵,电话,邮箱等数据项。

数据对象

数据对象是性质相同的数据元素的集合,是数据的子类。性质相同是指数据元素具有相同数量和类型的数据项。我们经常将数据对象简称为数据。

前四者的关系

查阅网上资料,我觉得举例子更好理解

以上是两张表,这两张表就是数据

每个表就是一个数据对象

每个表中的每一行就是数据元素

而每个表中的字段就表示数据项

数据结构

不同数据元素之间存在的关系,我们称为结构。数据结构指相互之间存在一种或多种特定关系的数据元素的集合。那么之间的关系究竟是什么呢?

逻辑结构和物理结构

逻辑结构

逻辑结构指的是数据对象中的数据元素的关系。逻辑结构分为下面这四种

  1. 集合结构
    集合中的数据元素除了同属于一个集合外没有什么别的关系,每个元素之间平等。
  2. 线性结构
    线性结构的数据元素是一对一的关系。
  3. 树形结构
    存在一对多的层次关系
  4. 图形结构
    图形结构中数据元素的关系是多对多的

    注意点:
  5. 画图时,每个数据元素要要看成一个结点,并用圆圈表示。
  6. 元素之间的逻辑关系用连线表示,如果有方向,则连线要带箭头。

物理结构

物理结构是指数据元素的逻辑结构在计算机中存储的方式。同时,物理结构也可以称为存储结构

  1. 顺序存储

    将数据元素存储到连续的存储单元中,数据间逻辑关系和物理关系一样。

  2. 链式存储

    数据元素可以存放在不同的存储单元内,存储单元可以是连续的也可以是不连续的。

算法

算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。

算法有五个基本特性(输入,输出我合起来描述的,所以我下面就写了四个)

  1. 输入输出
    算法具有0个或者多个输入,至少有1个或多个输出。
  2. 有穷性
    算法在执行有限的步骤后会自动结束,而不会一直循环。当然,每个步骤还要在有限的时间内完成。
  3. 确定性
    算法的每个步骤都要有确定含义,不可出现二义。
  4. 可行性
    算法的每一步都是可行的。

算法设计要求

1.正确性

2.可读性

3.健壮性:输入数据不合法时,算法会进行相应处理,而不是产生异常或者产生出莫名其妙的结果。

4.时间效率高存储容量低

程序设计=数据结构 + 算法

相关推荐
搬砖的小码农_Sky18 分钟前
C语言:树
c语言·开发语言·数据结构
K3njuan43 分钟前
《数据结构》学习系列——图(中)
数据结构·学习·深度优先
NiNg_1_2341 小时前
Redis中的数据结构详解
数据结构·数据库·redis
A Runner for leave1 小时前
105.找到冠军
java·数据结构·python·算法·leetcode
Suckerbin2 小时前
PHP 数组数据结构
开发语言·数据结构·php
BIM云平台开发2 小时前
关于return,yield 和 yield return
java·开发语言·数据结构·c#
icesmoke4 小时前
Codeforces Round 987 (Div. 2)(A-D)
数据结构·c++·算法
冠位观测者4 小时前
【Leetcode Top 100】240. 搜索二维矩阵 II
数据结构·算法·leetcode
Darkwanderor5 小时前
迄今为止的排序算法总结
数据结构·c++·算法·排序算法
未来并未来5 小时前
深入理解B-树与B+树:数据结构中的高效索引利器
java·数据结构·b树