毕业三年了,三年来,一直想系统的整理一下平时工作中学习到知识,但又总是没有时间来施行这个计划,年前这三个月,总算腾出了一段时间,能够系统的对所学习的东西来一个梳理,数据结构就是一个很重要的方面,鉴于我从事的是Java相关的工作,我准备采用Java语言来描述数据结构,当然,语言只是表述形式,思想才是核心,我想,只要掌握了数据结构的本质,就可以使用任何语言来表述。
那么,什么是数据结构呢?简单地说,数据结构就是计算机组织和存储数据的方式,反映的是拥有一种或多种关系的数据元素的集合。
数据结构主要有三种形式:
1、线性结构。线性结构是最常见的一种数据结构,它的数据元素之间的关系是线性关系,满足全序性和单索性等关系约束。常见的有数组
全序性:就是说数据元素两两都存在前后关系
单索性:除了最后一个节点,每一个节点元素都存在一个直接的后继节点元素
2、树形结构。树形结构的关系是一种层次关系,每个节点都可以有一个或多个“直接下级”,但是每个元素只能有一个“直接上级”,当然,根节点是唯一一个没有父节点的节点元素。常见的有二叉树,红黑树等
3、图结构。图结构就是一个没有关系约束的结构
从以上的介绍来看,线性结构和树形结构的主要区别是,线性结构只能有一个直接后继元素,而树形结构却没有这个约束;而树形结构和图结构的区别主要是图结构的节点元素没有只有一个直接上级节点元素的约束,图结构的节点元素可以允许拥有多个直接上级。
那么,数据的存储结构又是什么呢?通俗地讲,就是数据的逻辑结构在计算机存储器中的表示,它反映的是一种映射,把数据元素映射到存储器的某个单元中。
数据的存储结构主要有四种形式:顺序、链接、索引和散列。
OK,一些基本的概念介绍完了,有些概念比较书面化,可能不容易理解,不过没关系,在我深入讲解之后,你会觉得这些东西不过如此。其实作为计算机专业出身的我们,对这些概念早已经烂熟于心了,只是表述方式不同而已。
那么,什么是数据结构呢?简单地说,数据结构就是计算机组织和存储数据的方式,反映的是拥有一种或多种关系的数据元素的集合。
数据结构主要有三种形式:
1、线性结构。线性结构是最常见的一种数据结构,它的数据元素之间的关系是线性关系,满足全序性和单索性等关系约束。常见的有数组
全序性:就是说数据元素两两都存在前后关系
单索性:除了最后一个节点,每一个节点元素都存在一个直接的后继节点元素
2、树形结构。树形结构的关系是一种层次关系,每个节点都可以有一个或多个“直接下级”,但是每个元素只能有一个“直接上级”,当然,根节点是唯一一个没有父节点的节点元素。常见的有二叉树,红黑树等
3、图结构。图结构就是一个没有关系约束的结构
从以上的介绍来看,线性结构和树形结构的主要区别是,线性结构只能有一个直接后继元素,而树形结构却没有这个约束;而树形结构和图结构的区别主要是图结构的节点元素没有只有一个直接上级节点元素的约束,图结构的节点元素可以允许拥有多个直接上级。
那么,数据的存储结构又是什么呢?通俗地讲,就是数据的逻辑结构在计算机存储器中的表示,它反映的是一种映射,把数据元素映射到存储器的某个单元中。
数据的存储结构主要有四种形式:顺序、链接、索引和散列。
OK,一些基本的概念介绍完了,有些概念比较书面化,可能不容易理解,不过没关系,在我深入讲解之后,你会觉得这些东西不过如此。其实作为计算机专业出身的我们,对这些概念早已经烂熟于心了,只是表述方式不同而已。