数据结构之数据的存储结构

列表、栈、队列、链表、字典、散列、图和二叉查找树

【列表】

  不需在长序列中查找元素或对其进行排序。

【栈】存储结构是:

【后进先出】或者说【先进后出】

【队列】存储结构是:

【先进先出】或者说【后进后出】

【链表】存储结构是:

一组不必相连的内存结构 【节点】,按特定的顺序链接在一起的抽象数据类型。

单链表、双向链表、循环链表。

可用在任何使用一维数组的情况中。如需随机访问,数组效率更好。

数组使用慢时,可换用链表。

【字典】

键值对进行数据存储

【散列】也称哈希表是数组存储技术,散列表的形式存储。

插入、删除和取用数据都非常快,查找操效率低下。

存在两个键映射为同一个值的碰撞现象。处理方法有:开链法线性探测法.

【二叉树和二叉树查找】

树是一种非线性的数据结构,以分层的方式存储数据。

二叉树每个节点的子节点不允许超过两个。一个父节点的两个子节点分别称为左节点和右节点。

二叉查找树(BST)是一种特殊的二叉树,相对较小的值保存在左节点中,较大的值保存在右节点中。这一特性使得查找的效率很高。

遍历BST的方式有三种:

中序遍历(以升序访问树中所有节点,先访问左节点,再访问根节点,最后访问右节点)

先序遍历(先访问根节点,再以同样的方式访问左节点和右节点)

后序遍历(先访问叶子节点,从左子树到右子树,再到根节点)

【图】有向图,无序图

搜索图的算法主要有两种: 深度优先搜索和广度优先搜索。

猜你喜欢

转载自www.cnblogs.com/asqw/p/10614370.html