初识集合和数据结构

目录

初识集合框架

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

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

相关推荐
David猪大卫10 小时前
【C++修炼】map 和 set 的使用
c语言·开发语言·数据结构·c++·经验分享·笔记·学习
vvilkim12 小时前
数据结构类型、区别与应用场景:一篇讲透选型逻辑
数据结构
阿卡好可爱16 小时前
Lua 热更新不生效:改完文件线上仍是旧逻辑,package.loaded 与 upvalue 重绑定详解
数据结构·分布式·后端·架构·lua
心仪久了会沦陷1 天前
C语言数据结构入门——树与二叉树详解:概念、堆实现与链式遍历
c语言·数据结构·算法
码少女1 天前
数据结构——图的基础
数据结构
Severus_black2 天前
【C++初阶】list使用及相关实现,思路顺滑流畅!
c语言·数据结构·c++·stl·list
二本咕咕-机械转码2 天前
FreeRTOS深入解析(八)IPC机制之FromISR详解
数据结构·单片机·链表
1-1=02 天前
C# 数据结构和特殊类型
数据结构·c#·.net·.netcore
希和20272 天前
C语言程序设计题|有序数组插入数字冒泡排序
c语言·数据结构·算法
布莱克6052 天前
C++ 中 map 的 insert 与 emplace:key 已存在时会覆盖吗?
开发语言·数据结构·c++·算法·map