初识集合和数据结构

目录

初识集合框架

  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.时间效率高存储容量低

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

相关推荐
skywalker_111 小时前
力扣hot100-3(最长连续序列),4(移动零)
数据结构·算法·leetcode
_日拱一卒1 小时前
LeetCode:除了自身以外数组的乘积
数据结构·算法·leetcode
计算机安禾2 小时前
【数据结构与算法】第36篇:排序大总结:稳定性、时间复杂度与适用场景
c语言·数据结构·c++·算法·链表·线性回归·visual studio
计算机安禾2 小时前
【数据结构与算法】第35篇:归并排序与基数排序
c语言·数据结构·vscode·算法·排序算法·哈希算法·visual studio
专注API从业者2 小时前
淘宝商品详情 API 与爬虫技术的边界:合法接入与反爬策略的技术博弈
大数据·数据结构·数据库·爬虫
汀、人工智能3 小时前
[特殊字符] 第66课:跳跃游戏
数据结构·算法·数据库架构·图论·bfs·跳跃游戏
汀、人工智能3 小时前
[特殊字符] 第70课:加油站
数据结构·算法·数据库架构·图论·bfs·加油站
favour_you___3 小时前
2026_4_8算法练习题
数据结构·c++·算法
汀、人工智能3 小时前
[特殊字符] 第57课:搜索旋转排序数组
数据结构·算法·数据库架构·图论·bfs·搜索旋转排序数组
夏乌_Wx4 小时前
剑指offer | 2.4数据结构相关题目
数据结构·c++·算法·剑指offer·c/c++