⑴ 数据结构是什么啊
数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。记为:数据结构Data_Structure=(D,R)其中D是数据元素的集合,R是该集合中所有元素之间的关系的有限集合。
数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。
数据结构有逻辑上的数据结构和物理上的数据结构之分。逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排。数据结构是数据存在的形式。
数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作。数据结构主要研究数据的各种逻辑结构和存储结构,以及对数据的各种操作。
因此,主要有三个方面的内容:数据的逻辑结构;数据的物理存储结构;对数据的操作(或算法)。通常,算法的设计取决于数据的逻辑结构,算法的实现取决于数据的物理存储结构。
(1)数据可由若干个什么构成扩展阅读:
一、数据的逻辑结构:指反映数据元素之间的逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后件关系,而与他们在计算机中的存储位置无关。
逻辑结构包括:
1、集合:数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系;
2、线性结构:数据结构中的元素存在一对一的相互关系;
3、树形结构:数据结构中的元素存在一对多的相互关系;
4、图形结构:数据结构中的元素存在多对多的相互关系。
二、数据的物理结构:指数据的逻辑结构在计算机存储空间的存放形式。
数据的物理结构是数据结构在计算机中的表示(又称映像),它包括数据元素的机内表示和关系的机内表示。
由于具体实现的方法有顺序、链接、索引、散列等多种,所以,一种数据结构可表示成一种或多种存储结构。
数据元素的机内表示(映像方法): 用二进制位(bit)的位串表示数据元素。通常称这种位串为节点(node)。
当数据元素有若干个数据项组成时,位串中与个数据项对应的子位串称为数据域(data field)。因此,节点是数据元素的机内表示(或机内映像)。
关系的机内表示(映像方法):数据元素之间的关系的机内表示可以分为顺序映像和非顺序映像,常用两种存储结构:顺序存储结构和链式存储结构。
顺序映像借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系。非顺序映像借助指示元素存储位置的指针(pointer)来表示数据元素之间的逻辑关系。
三、结构算法
算法的设计取决于数据(逻辑)结构,而算法的实现依赖于采用的存储结构。数据的存储结构实质上是它的逻辑结构在计算机存储器中的实现,为了全面的反映一个数据的逻辑结构,它在存储器中的映象包括两方面内容,即数据元素之间的信息和数据元素之间的关系。
不同数据结构有其相应的若干运算。数据的运算是在数据的逻辑结构上定义的操作算法,如检索、插入、删除、更新和排序等。
⑵ 常用数据结构有哪些
数据结构分为8类有:数组、栈、队列、链表、树、散列表、堆、图。数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成 。
1、数组
数组是可以再内存中连续存储多个元素的结构,在内存中的分配也是连续的,数组中的元素通过数组下标进行访问,数组下标从0开始。例如下面这段代码就是将数组的第一个元素赋值为 1。
2、栈
栈是一种特殊的线性表,仅能在线性表的一端操作,栈顶允许操作,栈底不允许操作。 栈的特点是:先进后出,或者说是后进先出,从栈顶放入元素的操作叫入栈,取出元素叫出栈。
3、队列
队列与栈一样,也是一种线性表,不同的是,队列可以在一端添加元素,在另一端取出元素,也就是:先进先出。从一端放入元素的操作称为入队,取出元素为出队。
4、链表
链表是物理存储单元上非连续的、非顺序的存储结构,数据元素的逻辑顺序是通过链表的指针地址实现,每个元素包含两个结点,一个是存储元素的数据域 (内存空间),另一个是指向下一个结点地址的指针域。根据指针的指向,链表能形成不同的结构,例如单链表,双向链表,循环链表等。
5、树
树是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做 “树” 是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。
6、散列表
散列表,也叫哈希表,是根据关键码和值 (key和value) 直接进行访问的数据结构,通过key和value来映射到集合中的一个位置,这样就可以很快找到集合中的对应元素。
7、堆
堆是一种比较特殊的数据结构,可以被看做一棵树的数组对象,具有以下的性质:堆中某个节点的值总是不大于或不小于其父节点的值;堆总是一棵完全二叉树。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。常见的堆有二叉堆、斐波那契堆等。
8、图
图是由结点的有穷集合V和边的集合E组成。其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,边是顶点的有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关系。
⑶ 「数据结构」1——基本概念
要说数据结构,就得先来说说什么是数据
数据:用来描述客观事物的符号,是计算机中操作的对象,能被计算机识别,并输入给计算机处理的符号集合。 数据的类型不仅包含整型,实型等数值类型,还包含字符、声音、图像、视频等非数值类型。
比如在我们使用网络搜索内容时,一般会有网页、MP3、图片、视频等内容分类。
换句话说,数据就是符号,而这些符号必须具备两个前提条件:
对于数值类型,可以进行数值计算,对于字符类型,需要进行非数值处理,向图像、声音、视频等类型禅哗坦就需要通过编码等手段处理成字符数据
数据元素:是组成数据且有一定意义的基本单位,在计算机中通常作为整体处理。
比如在人类中,“人”就是数据元素
数据项:一个数据元素可以由若干个数据项贺桐组成。
比如“人”,由眼、耳、鼻、嘴、手、脚等组成。也有姓名、年龄、性别其他数据项。具体由哪些数据项要看当前数据元素和所处的系统而定
数据项是数据不可再分割的最小单位。 在数据结构课程中把数据项定为最小单位是为了助于更好地解决问题。但在真正讨论时,数据元素才是数据结构中建立数据模型的起点。好比我们谈论芦虚一部电影时,谈论的是电影角色这样的“数据元素”,而不是针对这个角色的姓名、年龄这样的“数据项”.(个别情况下除外)
数据对象:是性质相同的数据元素的集合,是数据的子集
所谓的性质相同是指数据元素具有相同数量和类型的数据项,例如“人”都有姓名、年龄、性别等相同的数据项。
数据对象是数据的子集。在实际应用中,处理的数据元素通常具有相同性质,在不产生混淆下,将数据对象简称为数据
主角登场
结构。简单理解就是关系,比如分子结构,就是组成分子的原子之间排列的方式。严格来说,结构是指各个 组成部分相互搭配和排列的方式。现实世界中, 不同元素之间不是独立的,而是存在特定关系,我们将这些关系成为结构。
数据结构:是相互之间存在一种或多种特定关系的数据元素的集合
在计算机中,数据元素并不是独立,无序的,而是具有内在联系的数据集合。数据元素之间存在一种或多种特定关系,也就是数据的组织形式。所以为了写出“好”程序。必须分析待处理对象的特性及各处理对象之间存在的关系。这也是学习研究数据结构的意义所在。
下期预告: 逻辑结构与物理结构
⑷ 根据数据元素之间的关系的不同特性
根据数据陆亏元素之间的关系特性不同,通常将数据的逻辑结构分为线性结构、树形结构、图状结构、集合。
组成:
数据元由对象类、特性和表示三部分组成,其中对象类用于收集和存储数据的事物,例如,人、井、岩芯、管线、储罐都是对象类等;特性是用来区别和描述对象的,例如,颜色、性别、年龄、收入、地址、价格等均为特性;数据的表示部分中最为重要的方面是值域,值域是数据元允许(或有效)值的集合。
对于值域,数据元中存在两种类型的值域,一种是所谓取值是固定的,即取值是可枚举的,例如,人眼睛颜色这个数据元,其取值可能包括:Brown、Gray、Green、Hazel、Blue,另一种是概括的,即数据元取值是有定义域约束的,其取值可能是有限的,但是无法列出全部值,例如人的年龄,其取值范围可能是1-200,并且每位要求是十进制表示。
⑸ 数据元素是数据的基本单位,数据元素可以由数据线组成,数据项是数据的的最小单位。这句话对吗
不对,数据元素由若干个数据项组成
⑹ 数据库系统由哪几个部分组成
数据库系统一般由数据库、硬件、软件、人员4个部分组成:
1、数据库是指长期存储在计算机内的,有组织,可共享的数据的集合。数据库中的数据按一定的数学模型组织、描述和存储,具有较小的冗余,较高的数据独立性和易扩展性,并可为各种用户共享。
2、硬件是构成计算机系统的各种物理设备,包括存储所需的外部设备。硬件的配置应满足整个数据库系统的需要。
3、软件包括操作系统、数据库管理系统及应用程序。数据库管理系统是数据库系统的核心软件,是在操作系统的支持下工作,解决如何科学地组织和存储数据,如何高效获取和维护数据的系统软件。
4、人员主要有4类。系统分析员和数据库设计人员,负责应用系统的需求分析和规范说明;应用程序员,负责编写使用数据库的应用程序。
对数据库系统的基本要求是:
①能够保证数据的独立性。数据和程序相互独立有利于加快软件开发速度,节省开发费用。
②冗余数据少,数据共享程度高。
③系统的用户接口简单,用户容易掌握,使用方便。
④能够确保系统运行可靠,出现故障时能迅速排除;能够保护数据不受者访问或破坏;能够防止错误数据的产生,一旦产生也能及时发现。
性能
①能够保证数据的独立性。数据和程序相互独立有利于加快软件开发速度,节省开发费用。
②冗余数据少,数据共享程度高。
③系统的用户接口简单,用户容易掌握,使用方便。
④能够确保系统运行可靠,出现故障时能迅速排除;能够保护数据不受非受权者访问或破坏;能够防止错误数据的产生,一旦产生也能及时发现。
⑤有重新组织数据的能力,能改变数据的存储结构或数据存储位置,以适应用户操作特性的变化,改善由于频繁插入、删除操作造成的数据组织零乱和时空性能变坏的状况。