什么是数据结构?它对算法有什么影响?
数据结构是计算机存储、组织数据的方式。
( /view/9900.htm)
数据结构是算法实现的基础,算法总是要依赖于某种数据结构来实现的。
往往是在发展一种算法的时候,构建了适合于这种算法的数据结构。
一种数据结构如果脱离了算法,那还有什么用呢?实际上也不存在一本书单纯的讲数据结构,或者单纯的讲算法。
当然两者也是有一定区别的,算法更加的抽象一些,侧重于对问题的建模,而数据结构则是具体实现方面的问题了,两者是相辅相成的。
( /html/2008104/936108.html)
数据结构的定义?
数据结构是计算机存储、组织数据的方式。
数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。
通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率的算法。
数据结构往往同高效的检索算法和索引技术有关。
/view/9900.htm
常用数据结构有哪些
数据元素相互之间的关系称为结构。
有四类基本结构:集合、线性结构、树形结构、图状结构;
集合结构:除了同属于一种类型外,别无其它关系
线性结构:元素之间存在一对一关系常见类型有: 数组,链表,队列,栈,它们之间在操作上有所区别.例如:链表可在任意位置插入或删除元素,而队列在队尾插入元素,队头删除元素,栈只能在栈顶进行插
入,删除操作.
树形结构:元素之间存在一对多关系,常见类型有:树(有许多特例:二叉树、平衡二叉树、查找树等)
图形结构:元素之间存在多对多关系,图形结构中每个结点的前驱结点数和后续结点多个数可以任意
矢量数据结构有哪几种主要类型
基于矢量模型的数据结构简称为矢量数据结构,它是利用欧里几得(Euclid)几何学中的点、线、面及其组合体来表示实体空间分布的一种数据组织方式。
这种数据组织方式能最好地逼近实体的空间分布特征,数据精度高,数据存储冗余度低,便于进行网络分析,但对于多层空间数据的叠合分析比较困难。
矢量数据结构分为以下几种类型:
1.简单数据结构:数据按照以基本的空间对象(点、线或多边形)为单元进行单独组织,不含有拓扑关系数据。
2.拓扑数据结构:包括DIME(对偶独立地图编码法)、POLYVRT(多边形转换器)、TIGER(地理编码和参照系统的拓扑集成)等。
它们的共同特点是:点是相互独立的,点连成线,线构成面。
每条线起始于结点(FN),止于终结点(TN),并与左右多边形(LP和RP)相邻接。
3.曲面数据结构:是指联想分布现象的覆盖表面,具有这种覆盖表面的要素有地形、降水量、温度、磁场等。
表示和存储这些要素的基本要求是必须便于连续现象在任一点的内插计算,因此经常采用不规则三角网来拟合连续分布现象的覆盖表面,称为TIN数据结构。
JAVA数据结构都有哪些
①数组 (Array)
在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。
这些按序排列的同类数
据元素的集合称为数组。
在C语言中, 数组属于构造数据类型。
一个数组可以分解为多个数组元素,这些数组
元素可以是基本数据类型或是构造类型。
因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指
针数组、结构数组等各种类别。
②栈 (Stack)
栈是只能在某一端插入和删除的特殊线性表。
它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后
的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。
③队列 (Queue)
一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。
进行
插入操作的端称为队尾,进行删除操作的端称为队头。
队列中没有元素时,称为空队列。
④链表 (Linked List)
一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。
每个结点包括两个部分:
一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。
⑤树 (Tree)
树是包含n(n>0)个结点的有穷集合K,且在K中定义了一个关系N,N满足 以下条件:
(1)有且仅有一个结点 k0,他对于关系N来说没有前驱,称K0为树的根结点。
简称为根(root)
(2)除K0外,k中的每个结点,对于关系N来说有且仅有一个前驱。
(3)K中各结点,对关系N来说可以有m个后继(m>=0)。
⑥堆 (Heap)
在计算机科学中,堆是一种特殊的树形数据结构,每个结点都有一个值。
通常我们所说的堆的数据结构,是指
二叉堆。
堆的特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆。
⑦图 (Graph)
图是由结点的有穷集合V和边的集合E组成。
其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,
边是顶点的有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关系。
⑧散列表 (Hash)
若结构中存在关键字和K相等的记录,则必定在f(K)的存储位置上。
由此,不需比较便可直接取得所查记录。
称
这个对应关系f为散列函数(Hash function),按这个思想建立的表为散列表。
数据的逻辑结构分为哪四种?
逻辑结构有四种基本类型:集合结构、线性结构、树状结构和网络结构。
1、集合结构:集合结构的集合中任何两个数据元素之间都没有逻辑关系,组织形式松散。
2、线性结构:线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构。
3、树状结构:树状结构是一个或多个节点的有限集合。
4、网络结构:网络结构是指通信系统的整体设计,它为网络硬件、软件、协议、存取控制和拓扑提供标准。
扩展资料:
线性结构中的结点按逻辑关系依次排列形成一个“锁链”。
必存在唯一的一个"第一个元素"和唯一的一个"最后的元素"。
除最后元素之外,其它数据元素均有唯一的"后继";除第一元素之外,其它数据元素均有唯一的"前驱"。
树形结构具有分支、层次特性,其形态有点象自然界中的树。
网络结构广泛采用的是国际标准化组织(ISO)在1979年提出的开放系统互连(OSI-Open System Interconnection)的参考模型。