0%

Java数据结构和算法

Java数据结构和算法


基本概念

  • 数据:数据是描述客观事物的数值、字符以及能输入给计算机且能被计算机处理的各种符号集合。

  • 数据元素:是组成数据的基本单位,在计算机中通常被作为一个整体进行考虑和处理。也被称为记录。

  • 数据项:数据项是数据不可分割的最小单位。一个数据元素可由多个数据项组成。

  • 数据对象:数据对象是性质相同的数据元素的集合,是数据的子集。

  • 数据结构:我们现实世界中,不同的数据元素之间不是独立的,而是存在某些关系,这些关系就是结构。数据结构是指相互之间存在一种或多种特定关系的数据元素集合。


数据之间的结构

按照观察角度的不同,分为逻辑结构物理结构

逻辑结构

逻辑结构是指元素之间的逻辑关系描述。逻辑结构分为四种。

集合结构:结构中的数据除了同属于一个集合的关系外,无任何其他关系。

img

  • 线性结构:结构中的数据元素之间存在着一对一的线性关系。

img

  • 树状结构:结构中的数据元素之间存在着一对多的关系。

img

  • 图状结构(网状结构):结构中的数据元素之间存在着多对多的任意关系。

img

物理结构

物理结构:是指逻辑结构在计算机中真正的存储结构。

  • 顺序存储结构:把数据元素存放在地址连续的存储单元里。类似于排队,每个人都按顺序站好。我们学习的高级程序语言中的数组就是顺序存储结构,计算机会帮你的数组在内存中找片连续的空间。

  • 链式存储结构:把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以不连续。只需要前一个元素记住下一个元素的内存地址,这样就像链条链在一起,如下图:

img

Link