数据结构逻辑结构与存储结构
2013-12-24 22:10
225 查看
存储结构是数据的逻辑结构用计算机语言的实现,常见的存储结构有 顺序存储,链式存储,索引存储,以及散列存储。其中散列所形成的存储结构叫散列表(又叫哈希表),因此哈希表也是一种存储结构。栈只是一种抽象数据类型,是一种逻辑结构,栈逻辑结构对应的顺序存储结构为 顺序栈,对应的链式存储结构为链栈。循环队列是队列的顺序存储结构,链表是线性表的链式存储结构。
http://topic.csdn.net/t/20010628/19/174696.html
数据:指能够被计算机识别,存储,加工处理的信息载体
数据元素:数据的基本单位,数据元素可以由若干数据项组成
数据类型:是一个值的集合以及在这些值上定义的一组操作的总称
数据结构:指的是数据之间的相互关系,包含三个内容:逻辑结构,存储结构和数据的运算
数据的逻辑结构指数据元素之间的逻辑关系,分两种,线性结构和非线性结构
对于数据结构课程而言,简单地说,线性结构是n个数据元素的有序(次序)集合。
线性结构:有且只有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。线性表就是一个典型的线性结构
它有四个基本特征:
1.集合中必存在唯一的一个"第一个元素";
2.集合中必存在唯一的一个"最后的元素";
3.除最后元素之外,其它数据元素均有唯一的"后继";
4.除第一元素之外,其它数据元素均有唯一的"前驱"。
数据结构中线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构。
如(a1,a2,a3,.....,an),a1为第一个元素,an为最后一个元素,此集合极为一个线性结构的集合。
相对应于线性结构,非线性结构的逻辑特征是一个结点元素可能对应多个直接前驱和多个后继。
常用的线性结构有:线性表,栈,队列,双队列,数组,串。
关于广义表,是一种非线性的数据结构。
常见的非线性结构有:树(二叉树等),图(网等)。
试举一个数据结构的例子?
http://wenku.baidu.com/view/3ef99d18a8114431b90dd8f2.html
线性表的逻辑结构与存储结构之间的关系。在计算机中如何将线性表的结点存放到存储单元中,有许多方法,最简单的方法就是按顺序存储,就是按线性表的逻辑结构次序依次存放在一组地址连续的存储单元中。在存储单元中的各元素的物理位置和逻辑结构中各结点相邻关系是一致的。线性表的链式存储结构与顺序表不同,链表是用一组任意的存储单元来存放线性表的结点,这组存储单元可以分布在内存中各个位置上。因此链表中的结点的逻辑次序与物理次序不一定相同。
注意 该关系是按照ADT的数学性质而不是按其实现方法确定的。
包 bag (多重集合 multi-set)
并查集
字典 dictionary
有序字典 ordered dictionary
散列表 hash table
映射 map
数组 array
后缀数组 suffix array
排序数组 sorted array
分散链结散列表 separate chaining hashing
合并链结散列表 coalesced hashing
直链散列表 direct chaining hashing
表 list
排序表 sorted list
链表 linked list
单链表 singly linked list
邻接表 skip list
双链表 doubly linked list (two-way list)
栈 stack
bounded stack
队列 queue
二端队列 deque (doubly-ended queue)
pile
限制队列 bounded queue
串 string
文本 text
矩阵 matrix
长方形矩阵 rectangular matrix
方阵 square matrix
稀疏矩阵 sparse matrix
粗糙矩阵 ragged matrix
同一矩阵 uniform matrix
上三角矩阵 upper triangular matrix
下三角矩阵 lower triangular matrix
优先队列 priority queue
二项式堆 binomial heap
二项式队列 binomial queue
散列堆 hash heap
两端优先队列 double-ended priority queue
单调优先队列 monotone priority queue
Van Emde-Boas 优先队列 Van Emde-Boas priority queue
图 graph
超图 hypergraph
多图 multigraph
无向图 undirected graph
有向图 directed graph (digraph)
树 tree
堆 heap
弱堆 weak-heap
shadow heap
Fibonnaci堆 Fibonnaci heap
检索树 trie (digital tree)
空间检索树 quad trie
Patricia 树 Patricia tree
三重搜索检索树 ternary search trie
后缀树 suffix tree
多后缀树 multi suffix tree
平衡树 balanced tree
完全树 complete tree
k-ary堆 k-ary heap
有序树 ordered tree
空间树 quadtree
线性空间树 linear quadtree
八叉树 octtree (octree)
平衡有序树 balanced ordered tree
二项式树 binomial tree
Bk树 Bk tree
搜索树 search tree
(a,b)树 (a,b)-tree
k-d树 k-d tree
二分树 bintree
空间k-d树 skd-tree
自适应k-d树 adaptive k-d tree
平衡自适应k-d树 k-d-B-tree
平衡搜索树 balanced search tree
2-3 树 2-3 tree
红黑树 red-black tree
B-树 B-tree
B+-树 B+-tree
B*-树 B*-tree
BV-树 BV-tree
2-3-4 树 2-3-4 tree
平衡多向树 balanced multiway tree
二叉树 binary tree
BD树 BD-tree
GBD-tree
二叉空间分割树 BSP-tree (Binary Space Partitioning tree)
完全二叉树 complete binary tree
二叉堆 binary heap
平衡二叉树 balanced binary tree
AVL树 AVL tree
二叉搜索树 binary search tree
倾斜树 splay tree
随机二叉搜索树 randomized binary search tree (RBST)
平衡二叉搜索树 balanced binary search tree
离散间隔编码树 diet=discrete interval encoding tree
高度平衡二叉搜索树 height-balanced binary search tree
平衡二叉搜索树 balanced binary search tree
红黑树 red-black tree
http://topic.csdn.net/t/20010628/19/174696.html
数据:指能够被计算机识别,存储,加工处理的信息载体
数据元素:数据的基本单位,数据元素可以由若干数据项组成
数据类型:是一个值的集合以及在这些值上定义的一组操作的总称
数据结构:指的是数据之间的相互关系,包含三个内容:逻辑结构,存储结构和数据的运算
数据的逻辑结构指数据元素之间的逻辑关系,分两种,线性结构和非线性结构
对于数据结构课程而言,简单地说,线性结构是n个数据元素的有序(次序)集合。
线性结构:有且只有一个开始结点和一个终端结点,并且所有结点都最多只有一个直接前趋和一个直接后继。线性表就是一个典型的线性结构
它有四个基本特征:
1.集合中必存在唯一的一个"第一个元素";
2.集合中必存在唯一的一个"最后的元素";
3.除最后元素之外,其它数据元素均有唯一的"后继";
4.除第一元素之外,其它数据元素均有唯一的"前驱"。
数据结构中线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构。
如(a1,a2,a3,.....,an),a1为第一个元素,an为最后一个元素,此集合极为一个线性结构的集合。
相对应于线性结构,非线性结构的逻辑特征是一个结点元素可能对应多个直接前驱和多个后继。
常用的线性结构有:线性表,栈,队列,双队列,数组,串。
关于广义表,是一种非线性的数据结构。
常见的非线性结构有:树(二叉树等),图(网等)。
试举一个数据结构的例子?
http://wenku.baidu.com/view/3ef99d18a8114431b90dd8f2.html
线性表的逻辑结构与存储结构之间的关系。在计算机中如何将线性表的结点存放到存储单元中,有许多方法,最简单的方法就是按顺序存储,就是按线性表的逻辑结构次序依次存放在一组地址连续的存储单元中。在存储单元中的各元素的物理位置和逻辑结构中各结点相邻关系是一致的。线性表的链式存储结构与顺序表不同,链表是用一组任意的存储单元来存放线性表的结点,这组存储单元可以分布在内存中各个位置上。因此链表中的结点的逻辑次序与物理次序不一定相同。
ADT的继承关系
下面的列表显示了常用的ADT(抽象数据类型)以及它们之间的继承关系。次一级的(用缩进表示)项目继承了前一级的项目的数学性质(事实上所有的ADT都是集合的子孙,不过为了ADT实现的方便将其他ADT看作独立的成员)。其中重要的ADT用粗体标志。我力求使这些ADT按照他们的数学性质进行准确的分类,但由于许多ADT同时具有多种其他ADT的性质,而且某一ADT用不同的数据结构来实现也会使其产生特殊的性质,因此分类并不是很准确,同时有些英文术语可能翻译得不准确,请大家批评指正。注意 该关系是按照ADT的数学性质而不是按其实现方法确定的。
Table of Common ADT
集合 set包 bag (多重集合 multi-set)
并查集
字典 dictionary
有序字典 ordered dictionary
散列表 hash table
映射 map
数组 array
后缀数组 suffix array
排序数组 sorted array
分散链结散列表 separate chaining hashing
合并链结散列表 coalesced hashing
直链散列表 direct chaining hashing
表 list
排序表 sorted list
链表 linked list
单链表 singly linked list
邻接表 skip list
双链表 doubly linked list (two-way list)
栈 stack
bounded stack
队列 queue
二端队列 deque (doubly-ended queue)
pile
限制队列 bounded queue
串 string
文本 text
矩阵 matrix
长方形矩阵 rectangular matrix
方阵 square matrix
稀疏矩阵 sparse matrix
粗糙矩阵 ragged matrix
同一矩阵 uniform matrix
上三角矩阵 upper triangular matrix
下三角矩阵 lower triangular matrix
优先队列 priority queue
二项式堆 binomial heap
二项式队列 binomial queue
散列堆 hash heap
两端优先队列 double-ended priority queue
单调优先队列 monotone priority queue
Van Emde-Boas 优先队列 Van Emde-Boas priority queue
图 graph
超图 hypergraph
多图 multigraph
无向图 undirected graph
有向图 directed graph (digraph)
树 tree
堆 heap
弱堆 weak-heap
shadow heap
Fibonnaci堆 Fibonnaci heap
检索树 trie (digital tree)
空间检索树 quad trie
Patricia 树 Patricia tree
三重搜索检索树 ternary search trie
后缀树 suffix tree
多后缀树 multi suffix tree
平衡树 balanced tree
完全树 complete tree
k-ary堆 k-ary heap
有序树 ordered tree
空间树 quadtree
线性空间树 linear quadtree
八叉树 octtree (octree)
平衡有序树 balanced ordered tree
二项式树 binomial tree
Bk树 Bk tree
搜索树 search tree
(a,b)树 (a,b)-tree
k-d树 k-d tree
二分树 bintree
空间k-d树 skd-tree
自适应k-d树 adaptive k-d tree
平衡自适应k-d树 k-d-B-tree
平衡搜索树 balanced search tree
2-3 树 2-3 tree
红黑树 red-black tree
B-树 B-tree
B+-树 B+-tree
B*-树 B*-tree
BV-树 BV-tree
2-3-4 树 2-3-4 tree
平衡多向树 balanced multiway tree
二叉树 binary tree
BD树 BD-tree
GBD-tree
二叉空间分割树 BSP-tree (Binary Space Partitioning tree)
完全二叉树 complete binary tree
二叉堆 binary heap
平衡二叉树 balanced binary tree
AVL树 AVL tree
二叉搜索树 binary search tree
倾斜树 splay tree
随机二叉搜索树 randomized binary search tree (RBST)
平衡二叉搜索树 balanced binary search tree
离散间隔编码树 diet=discrete interval encoding tree
高度平衡二叉搜索树 height-balanced binary search tree
平衡二叉搜索树 balanced binary search tree
红黑树 red-black tree
相关文章推荐
- 数据结构:逻辑结构和存储结构
- 数据结构--数组和广义表--以行逻辑链接的顺序表为存储结构的矩阵的基本运算(求矩阵乘积)
- 数据结构 - 逻辑结构和存储结构
- 实现类似空间说说与评论存储表的结构与测试逻辑
- 数据结构---->图的存储结构
- SQL Server 索引(一)数据结构和存储结构
- 图的存储结构(邻接表)- 数据结构和算法57
- Oracle存储结构:物理存储结构和逻辑存储结构
- 【数据结构】算法5.5-5.8 广义表的头尾链表存储结构
- 7-3-有向图的十字链表存储结构-图-第7章-《数据结构》课本源码-严蔚敏吴伟民版
- 数据结构学习之逻辑结构与物理结构
- 树的存储结构 - 数据结构和算法41
- 树的存储结构2 - 数据结构和算法42
- 4-3-串的块链存储结构-串-第4章-《数据结构》课本源码-严蔚敏吴伟民版
- 10-数据结构_线性结构-离散存储-链表_创建与遍历链表
- 数据结构基本概念和术语:位、字节、字、位串、元素、数据域、物理结构、逻辑结构
- 数据结构 非线性结构 树 介绍及存储方法
- 数据结构一一线性表的链式存储结构之删除操作
- 11.20数据结构----图的存储结构
- Java数据结构与算法之数据结构-逻辑结构-集合(四)------集合之Collection接口