数据结构有哪几种

数据结构有哪几种,第1张

问题一:数据结构 都有哪些结构 常用数据结构
数组 (Array)
在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的 称为数组。在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
栈 (Stack)
是只能在某一端插入和删除的特殊线性表。它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始d出数据(最后一个数据被第一个读出来)。
队列 (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)。
图 (Graph)
图是由结点的有穷 V和边的 E组成。其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,边是顶点的有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关系。
堆 (Heap)
在计算机科学中,堆是一种特殊的树形数据结构,每个结点都有一个值。通常我们所说的堆的数据结构,是指二叉堆。堆的特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆。
散列表 (Hash)
若结构中存在关键字和K相等的记录,则必定在f(K)的存储位置上。由此,不需比较便可直接取得所查记录。称这个对应关系f为散列函数(Hash function),按这个思想建立的表为散列表。

问题二:常用的数据结构有哪几种 数据元素相互之间的关系称为结构。有四类基本结构: 、线性结构、树形结构、图状结构;
结构:除了同属于一种类型外,别无其它关系
线性结构:元素之间存在一对一关系常见类型有: 数组,链表,队列,栈,它们之间在 *** 作上有所区别例如:链表可在任意位置插入或删除元素,而队列在队尾插入元素,队头删除元素,栈只能在栈顶进行插
入,删除 *** 作
树形结构:元素之间存在一对多关系,常见类型有:树(有许多特例:二叉树、平衡二叉树、查找树等)
图形结构:元素之间存在多对多关系,图形结构中每个结点的前驱结点数和后续结点多个数可以任意

问题三:数据结构包括哪几种基本结构,各有什么特点 1、 评价一个算法时间性能的主要标准是( 算法的时间复杂度 )。
2、 算法的时间复杂度与问题的规模有关外,还与输入实例的( 初始状态 )有关。
3、 一般,将算法求解问题的输入量称为( 问题的规模 )。
4、 在选择算法时,除首先考虑正确性外,还应考虑哪三点
答:选用的算法首先应该是正确的。此外,主要考虑如下三点:① 执行算法所耗费的时间;② 执行算法所耗费的存储空间,其中主要考虑辅助存储空间;③ 算法应易于理解,易于编码,易于调试等等。
6、 下列四种排序方法中,不稳定的方法是( D )
A、直接插入排序 B、冒泡排序 C、归并排序 D、直接选择排序
7、 按增长率由小至大的顺序排列下列各函数:
2100, (3/2)n,(2/3)n,nn ,n05 , n! ,2n ,lgn , nlgn, n3/2

问题四:数据结构都有哪些分类呢? 根据数据元素间关系的不同特性,将数据结构常分为下列四类基本的结构:
⑴ 结构。该结构的数据元素间的关系是“属于同一个 ”。
⑵线性结构。该结构的数据元素之间存在着一对一的关系。
⑶树型结构。该结构的数据元素之间存在着一对多的关系。
⑷图形结构。该结构的数据元素之间存在着多对多的关系,也称网状结构。
数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的 。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。

问题五:数据结构哪三种 有三种类型:分别是概念数据模型、逻辑数据模型、物理数据模型。概念数据模型主要用来描述世界的概念化结构,它使数据库的设计人员在设计的初始阶段,摆脱计算机系统及DBMS的具体技术问题,集中精力分析数据以及数据之间的联系等;逻辑数据模型这是用户从数据库所看到的模型,是具体的DBMS所支持的数据模型,如网状数据模型、层次数据模型等;物理数据模型是面向计算机物理表示的模型,描述了数据在储存介质上的组织结构,它不但与具体的DBMS有关,而且还与 *** 作系统和硬件有关。

问题六:数据结构有哪些基本算法 一、排序算法1、有简单排序(包括冒泡排序、插入排序、选择排序)2、快速排序,很常见的3、堆排序,4、归并排序,最稳定的,即没有太差的情况二、搜索算法最基础的有二分搜索算法,最常见的搜索算法,前提是序列已经有序还有深度优先和广度有限搜索;及使用剪枝,A,hash表等方法对其进行优化。三、当然,对于基本数据结构,栈,队列,树。都有一些基本的 *** 作例如,栈的pop,push,队列的取队头,如队;以及这些数据结构的具体实现,使用连续的存储空间(数组),还是使用链表,两种具体存储方法下 *** 作方式的具体实现也不一样。还有树的 *** 作,如先序遍历,中序遍历,后续遍历。当然,这些只是一些基本的针对数据结构的算法。而基本算法的思想应该有:1、回溯2、递归3、贪心4、动态规划5、分治有些数据结构教材没有涉及基础算法,lz可以另外找一些基础算法书看一下。有兴趣的可以上oj做题,呵呵。算法真的要学起来那是挺费劲。

问题七:数据结构哪些是四种常见的逻辑结构 ① 中任何两个数据元素之间都没有逻辑关系,组织形式松散
② 线性结构 线性结构中的 结点按逻辑关系依次排列形成一个“锁链”
③ 树形结构 树形结构具有分支、层次特性,其形态有点象自然界中的树
④ 图状结构 图状结构中的结点按逻辑关系互相缠绕,任何两个结点都可以邻接

一、数据的逻辑结构。

系统的逻辑结构是从思想的角度上对系统分类,把系统分成若干个逻辑单元,不同逻辑单元分别实现自己的功能。数据的逻辑结构是对数据之间关系的描述,有时就把逻辑结构简称为数据结构,数据的逻辑结构分为以下四种:

1、集合结构:集合结构的集合中任何两个数据元素之间都没有逻辑关系,组织形式松散。

2、线性结构:数据结构中线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构。

3、树状结构:树状结构是一个或多个节点的有限集合。

4、网络结构:网络结构是指通信系统的整体设计,它为网络硬件、软件、协议、存取控制和拓扑提供标准。

二、数据的存储结构。

数据的存储结构是指数据的逻辑结构在计算机中的表示。数据的存储结构分为顺序存储结构和链接存储结构两种。

1、顺序存储结构:顺序存储方法它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现,由此得到的存储表示称为顺序存储结构。

2、链接存储结构:链接存储方法它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。由此得到的存储表示称为链式存储结构,链式存储结构通常借助于程序设计语言中的指针类型来实现。

扩展资料:

顺序储存结构的原理

在顺序存储中,每个存储空间含有所存元素本身的信息,元素之间的逻辑关系是通过数组下标位置简单计算出来的线性表的顺序存储,若一个元素存储在对应数组中的下标位置为i,则它的前驱元素在对应数组中的下标位置为i-1,它的后继元素在对应数组中的下标位置为i+1。

参考资料来源:百度百科-逻辑结构

参考资料来源:百度百科-存储结构

1<stdioh>一般写C语言程序都要加这个头文件,因为它包含scanf()、printf()等控制输入和输出的函数:
<timeh>包含的主要是和时间相关的函数
<stringh>主要包含用来拷贝或比较字符串的函数
<stdlibh>主要包含这几个函数:malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()
这是比较常用到的头文件。
2typedef struct{
SElemtype base;
SElemtype top
int stacksize;
}SqStack;
以上为声明一个结构体,并用SqStack作为这个结构体名,结构体为自定义的数据类型。
其中selemtype也是一个自定义的结构体名,具体代表什么还要看具体的代码。

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
算法的设计取决于数据(逻辑)结构,而算法的实现依赖于采用的存储结构。数据的存储结构实质上是它的逻辑结构在计算机存储器中的实现,为了全面的反映一个数据的逻辑结构,它在存储器中的映象包括两方面内容,即数据元素之间的信息和数据元素之间的关系。不同数据结构有其相应的若干运算。数据的运算是在数据的逻辑结构上定义的 *** 作算法,如检索、插入、删除、更新和排序等。
数据的运算是数据结构的一个重要方面,讨论任一种数据结构时都离不开对该结构上的数据运算及其实现算法的讨论。
数据结构不同于数据类型,也不同于数据对象,它不仅要描述数据类型的数据对象,而且要描述数据对象各元素之间的相互关系。
数据类型是一个值的集合和定义在这个值集上的一组 *** 作的总称。数据类型可分为两类:原子类型、结构类型。一方面,在程序设计语言中,每一个数据都属于某种数据类型。类型明显或隐含地规定了数据的取值范围、存储方式以及允许进行的运算。可以认为,数据类型是在程序设计中已经实现了的数据结构。另一方面,在程序设计过程中,当需要引入某种新的数据结构时,总是借助编程语言所提供的数据类型来描述数据的存储结构。
计算机中表示数据的最小单位是二进制数的一位,叫做位。我们用一个由若干位组合起来形成的一个位串表示一个数据元素,通常称这个位串为元素或结点。当数据元素由若干数据项组成时,位串中对应于各个数据项的子位串称为数据域。元素或结点可看成是数据元素在计算机中的映象。
一个软件系统框架应建立在数据之上,而不是建立在 *** 作之上。一个含抽象数据类型的软件模块应包含定义、表示、实现三个部分。
对每一个数据结构而言,必定存在与它密切相关的一组 *** 作。若 *** 作的种类和数目不同,即使逻辑结构相同,数据结构能起的作用也不同。
不同的数据结构其 *** 作集不同,但下列 *** 作必不可缺:
1,结构的生成;
2结构的销毁;
3,在结构中查找满足规定条件的数据元素;
4,在结构中插入新的数据元素;
5,删除结构中已经存在的数据元素;
6,遍历。
抽象数据类型:一个数学模型以及定义在该模型上的一组 *** 作。抽象数据类型实际上就是对该数据结构的定义。因为它定义了一个数据的逻辑结构以及在此结构上的一组算法。抽象数据类型可用以下三元组表示:(D,S,P)。D是数据对象,S是D上的关系集,P是对D的基本 *** 作集。ADT的定义为:
ADT 抽象数据类型名:{数据对象:(数据元素集合),数据关系:(数据关系二元组结合),基本 *** 作:( *** 作函数的罗列)}; ADT抽象数据类型名;抽象数据类型有两个重要特性:
数据抽象
用ADT描述程序处理的实体时,强调的是其本质的特征、其所能完成的功能以及它和外部用户的接口(即外界使用它的方法)。
数据封装
将实体的外部特性和其内部实现细节分离,并且对外部用户隐藏其内部实现细节。
数据(Data)是信息的载体,它能够被计算机识别、存储和加工处理。它是计算机程序加工的原料,应用程序处理各种各样的数据。计算机科学中,所谓数据就是计算机加工处理的对象,它可以是数值数据,也可以是非数值数据。数值数据是一些整数、实数或复数,主要用于工程计算、科学计算和商务处理等;非数值数据包括字符、文字、图形、图像、语音等。数据元素(Data Element)是数据的基本单位。在不同的条件下,数据元素又可称为元素、结点、顶点、记录等。例如,学生信息检索系统中学生信息表中的一个记录等,都被称为一个数据元素。
有时,一个数据元素可由若干个数据项(Data Item)组成,例如,学籍管理系统中学生信息表的每一个数据元素就是一个学生记录。它包括学生的学号、姓名、性别、籍贯、出生年月、成绩等数据项。这些数据项可以分为两种:一种叫做初等项,如学生的性别、籍贯等,这些数据项是在数据处理时不能再分割的最小单位;另一种叫做组合项,如学生的成绩,它可以再划分为数学、物理、化学等更小的项。通常,在解决实际应用问题时是把每个学生记录当作一个基本单位进行访问和处理的。
数据对象(Data Object)或数据元素类(Data Element Class)是具有相同性质的数据元素的集合。在某个具体问题中,数据元素都具有相同的性质(元素值不一定相等),属于同一数据对象(数据元素类),数据元素是数据元素类的一个实例。例如,在交通咨询系统的交通网中,所有的顶点是一个数据元素类,顶点A和顶点B各自代表一个城市,是该数据元素类中的两个实例,其数据元素的值分别为A和B。 数据结构(Data Structure)是指互相之间存在着一种或多种关系的数据元素的集合。在任何问题中,数据元素之间都不会是孤立的,在它们之间都存在着这样或那样的关系,这种数据元素之间的关系称为结构。

数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数 据由那些成分数据构成,以什么方式构成,呈什么结构。数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系, 而物理上的数据结构反映成分数据在计算机内部的存储安排。数据结构是数据存在的形式。 数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通 常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种 *** 作。
数据结构课程的主要目的是介绍一些常用的数据结构,阐明数据结构内在的逻辑关系,讨论它们在计算机中的存储表示,并结合各种数据结构,讨论对它们实行的各种运算的实现算法。
生 活中的例子,比如你现在要做一个考试系统,你要描述每个考生的信息,有姓名、性别、考号等,全部这些信息就构成一个小数据结构,每个考生有他自己的数据结 构,这些结构要如何存放在计算机中,各个结构之间是什么关系,对整体需要哪些 *** 作,比如查询、删除,怎样存储会使这样的 *** 作效率更高,这些就是数据结构要 解决的问题。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12823301.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-28
下一篇 2023-05-28

发表评论

登录后才能评论

评论列表(0条)

保存