牛蛙资源网 - 只为资源而生,分享永无止境
牛蛙资源网-只为资源而生,分享永无止境,牛蛙网

数据结构基本概念与算法评价(数据结构基本概念和术语)

牛蛙小编 交流杂谈

*** 方括号和圆括号区别,数据结构基本概念

一、什么是数据结构

1、用计算机解决一个具体问题的步骤

(1)分析问题,确定数据模型。

(2)设计相应的算法。

(3)编写程序,运行并调试程序直至得到正确的结果。

2、需要从数据入手来分析并得到解决问题的 ***

(1)结构化数据:

数据:是描述客观事物的数、字符以及所有能输入到计算机中并被计算机程序处理的符号的 *** 。

数据元素:是数据的基本单位(例如,A班中的每个学生记录都是一个数据元素),也就是说数据元素是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理

数据项:是具有独立含义的数据最小单位,也称为成员或域(例如,A班中每个数据元素即学生记录是由学号、姓名、性别和班号等数据项组成)。

(2)数据对象

数据对象是性质相同的有限个数据元素的 *** ,它是数据的一个子集。

如大写字母数据对象是 *** C={'A','B','C',…,'Z'};1~100的整数数据对象是 *** N={1,2,…,100}。

注:默认情况下,数据结构中的数据都指的是数据对象。

(3)数据结构

数据结构是指所涉及的数据元素以及数据元素之间的关系,可以看作是相互之间存在着特定关系的数据元素的 *** 。可时把数据结构看成是带结构的数据元素的 *** 。

(4)数据元素之间的关系 结构,现实世界的结构是纷繁复杂的

数据结构中讨论的元素关系主要是指相邻关系或邻接关系。

(5)一个数据结构的几个方面:

数据元素之间的逻辑关系:数据的逻辑结构。

数据元素及其关系在计算机存储器中的存储方式:数据的存储结构(或物理结构)。

施加在该数据上的操作:数据运算。

二、数据的逻辑结构

数据的逻辑结构是面向用户的,它反映数据元素之间的逻辑关系而不是物理关系。

数据的逻辑结构是独立于计算机的。

(1)由于数据逻辑结构是面向用户的,可以采用表格、图等用户容易理解的形式表示。

(2)二元组

为了更通用地描述数据的逻辑结构,通常采用二元组表示数据的逻辑结构,一个二元组如下:

B=(D,R)

其中,B是一种逻辑数据结构,D是数据元素的 *** ,在D上数据元素之间可能存在多种关系,R是所有关系的 *** 。即:

D={di | 0≤i≤n-1,n≥0}

R={rj | 1≤j≤m,m≥0}

例:R={rj | 1≤j≤m,m≥0}

R中的某个关系rj(1≤j≤m)是序偶(将两个元素 x,y 有顺序地放在一起构成一个组合(x,y)称为序偶)的 *** 。

对于rj中的任一序偶(x,y∈D),把x叫做序偶的之一元素,把y叫做序偶的第二元素,又称序偶的之一元素为第二元素的前驱元素,称第二元素为之一元素的后继元素。如在的序偶中,x为y的前驱元素,而y为x的后继元素。

若某个元素没有前驱元素,则称该元素为开始元素;若某个元素没有后继元素,则称该元素为终端元素。

对于对称序偶,即满足这样的条件:若∈r(r∈R),则∈r(x,y∈D),可用圆括号代替尖括号,即(x,y)∈r。

(3) ***

*** :结构中数据元素之间除了"同属于一个 *** "的关系外,没有其他关系,与数学中的 *** 概念相同。

(4)线性结构

线性结构:若结构是非空的,则有且仅有一个开始元素和终端元素,并且所有元素最多只有一个前驱元素和一个后继元素。

(5)树形结构

树形结构:若结构是非空的,则有且仅有一个元素为开始元素(也称为根结点),可以有多个终端元素,每个元素有零个或多个后继元素,除开始元素外每个元素有且仅有一个前驱元素。

(6)图形结构

图形结构:若结构是非空的,则每个元素可以有多个前驱元素和多个后继元素。

三、数据的存储结构

(1)数据在计算机存储器中的存储方式就是存储结构。它是面向程序员的。

设计存储结构的这种映射应满足两个要求:

存储所有元素、存储数据元素间的关系

(2)在软件开发中,人们设计了各种存储结构。归纳为4种基本的存储结构。

顺序存储结构、链式存储结构、索引存储结构、哈希(散列)存储结构

练1:如下图,利用擅长的语言编写学生类。

该存储称为顺序存储结构,结构的特性是:

所有元素存放在一片地址连续的存储单元中。

逻辑上相邻的元素在物理位置上也是相邻的,所以不需要额外空间表示元素之间的逻辑关系。

练2:

如下图,利用擅长的语言编写学生类。

该存储称为链式存储结构,结构的特性是:

数据元素存放在任意的存储单元中,这组存储单元可以是连续的,也可以是不连续的。

通过指针域来反映数据元素的逻辑关系。

四、数据的运算

(1)将数据存放在计算机中的目的是为了实现一种或多种运算。

运算包括功能描述(或运算功能)和功能实现(或运算实现)。

前者是基于逻辑结构的,是用户定义的,是抽象的。后者是基于存储结构的,是程序员用计算机语言或伪码表示的,是详细的过程,其核心是设计实现某一运算功能的处理步骤,即算法设计。

例如,对于高等数学成绩表这种数据结构,可以进行一系列的运算:

增加一个学生成绩记录、删除一个学生成绩记录、求所有学生的平均分、查找序号为i的学生分数等。

(2)同一运算,在不同存储结构中的实现过程是不同的。

练习:查找序号为i的学生分数,利用自己擅长的语言完成

其本身就是运算的功能描述。但在顺序存储结构和链式存储结构中的实现过程不同的。

注:

同一逻辑结构可以对应多种存储结构。

同样的运算,在不同的存储结构中,其实现过程是不同的。

五、数据类型

(1)数据类型是一组性质相同的值的 *** 和定义在此 *** 上的一组操作的总称

(2)数据结构是指计算机处理的数据元素的组织形式和相互关系,而数据类型是某种程序设计语言中已实现的数据结构。

(3)在程序设计语言提供的数据类型支持下,就可以根据从问题中抽象出来的各种数据模型,逐步构造出描述这些数据模型的各种新的数据结构。

(4)抽象数据类型(ADT)

指的是从求解问题的数学模型中抽象出来的数据逻辑结构和运算(抽象运算),而不考虑计算机的具体实现。

抽象数据类型 = 逻辑结构 + 抽象运算

,数据结构基本概念总结数据结构基本概念与算法评价


    收藏永久发布页,不迷路
    关键词不能为空

免责声明:

本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail: 1470282@qq.com

我来说两句
签到
交流杂谈 数据结构基本概念与算法评价(数据结构基本概念和术语)
*** 方括号和圆括号区别,数据结构基本概念 一、什么是数据结构1、用计算机解决一个具体问题的步骤(1)分析问题,确定数据模型。(2)设计相应的算法。(3)...
扫描二维码阅读原文 扫描二维码阅读原文
牛蛙资源网 January, 01
生成社交图 ×