Java数据结构--内容体系 & 基本概念和术语
Posted Z && Y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java数据结构--内容体系 & 基本概念和术语相关的知识,希望对你有一定的参考价值。
1. 数据结构--基本概念和术语
1.1 数据结构课程的内容体系
1.2 基本概念和术语
1.2.1 数据
1.2.2 数据元素
如下图的每一个圆圈代表的就是一个数据元素也叫做一个顶点
1.2.3 数据项
1.2.4 数据对象
数据对象是性质相同的数据元素的集合。例如,在对生产订单进行查询时,计算机所处理的
数据对象是表1.1中的所有数据,这张表就可以看作是一个数据对象。
1.2.5 数据结构
1.2.5.1 逻辑结构
1.2.5.1.1 按照元素之间逻辑关系特性区分:
- 集合:集合中的元素之间除了“同属于一个集合”的特性外,数据之间没有其他的关系,他们之间的关系是松散的。
- 线性结构:线性结构的数据元素之间存在“1对1”的关系。即若结构非空,则它有且仅有一个开始结点和终端结点,开始结点没有前驱但是有一个后继,终端结点没有后继但是有一个前驱,其余结点有且仅有一个前驱和后继。
- 树形结构:树形结构中数据元素存在“一对多”的关系。即若结构非空,则它有一个根结点,此结点没有前驱结点,其余结点有且仅有一个前驱,所有节点都可以有多个后继。
- 图形结构:图形结构的元素间存在“多对多的关系”。即若结点非空,则在这种数据结构中的任何结点都可能有多个前驱和后继。
1.2.5.1.2 按照线性结构和非线性结构区分:
1.2.5.1.2.1 线性结构
- 线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系
- 线性结构有两种不同的存储结构,即顺序存储结构和链式存储结构。顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的(存储地址)。
- 链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息
- 线性结构常见的有:数组、队列、链表和栈。
1.2.5.1.2.2 非线性结构
非线性结构包括:二维数组,多维数组,广义表,树结构,图结构
1.2.5.2 存储结构
1.2.5.2.1. 顺序存储:
将所有的数据元素存放在一片连续的存储空间中,并使其在逻辑上相邻的数据元素其对应的
物理位置也相邻,即数据元素的逻辑位置关系与物理位置关系保持一致。
1.2.5.2.2 链式存储:
每个逻辑元素用一个内存结点存储,每个结点是单独分配的,通过指针域将所有结点连接起
来实现数据之间的逻辑关系。通俗来说,就是数据通过指针域相连(用到指针和结构体),
可以假想成数据通过一铁链相连接,铁链前后数据相关联。
1.2.5.2.3 索引存储:
在存储数据元素信息的同时还建立附加索引表,索引表中的索引项包含数据元素和存储地址
1.2.5.2.4 散列存储:
根据元素的关键字通过哈希函数直接计算出一个值,并将这个值作为该元素的存储地址
1.2.5.2.5 4种存储结构小结:
第一种顺序存储结构是最常用、最易读、最简便、最重要的存储方法,第二种链式存储结构
也是非常常用、重要的,在数据结构里占有举足轻重的地位。此二者是数据结构的基础,是
数据结构的重中之重。
以上是关于Java数据结构--内容体系 & 基本概念和术语的主要内容,如果未能解决你的问题,请参考以下文章