第一章——数据结构之绪论

1.1 什么是数据结构

1.2 基本概念和术语

1.3 抽象数据类型的表示与实现

1.4 算法和算法分析

  1.4.1 算法

  1.4.2 算法设计的要求

  1.4.3 算法效率的度量

  1.4.4 算法的存储

1.1 什么是数据结构

  一般来说,用计算机解决一个具体的问题时,大致需要经过下列几个步骤:

    1.首先要从具体问题抽象出一个适当的数学模型

    2.然后设计一个解此数学模型的算法

    3.最后编出程序,进行测试,调整直至得到最终解答

  寻求数学模型的实质是分析问题,从中提取操作的对象,并找出这些操作对象之间含有的关系,然后用数学的语言加以描述。

  1968年美国唐·欧·克努特教授开创了“数据结构”的最初体系,他所著的《计算机设计技巧》第一卷《基本算法》是第一本较系统地阐述数据的逻辑结构和存储结构及其操作的著作。从20世纪60年代末到70年代初,出现了大型程序,软件也相对独立,结构程序设计成为程序设计方法学的主要内容,人们就越来越重视“数据结构”,认为程序设计的实质是对确定的问题选择一种好的结构,加上设计一种好的算法。

        数据结构+算法=程序

  

1.2 基本概念和术语

  数据(data)是对客观事物的符号的总称。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称(信息的载体)。它是计算机程序加工的“原料”。例如,一个利用数值分析方法解代数方程的程序,其处理对象是整数和实数;一个编译程序或文字处理程序的处理对象是字符串。因此,对计算机科学而言,数据的含义极为广泛,如图像、声音等都是可以通过编码而归之于数据的范畴。

  数据元素(data element)是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。有时,一个数据元素可由若干个数据项(data item)组成,例如,一本书的书目信息为一个数据元素,而书目信息中的每一项(如书名、作者名等)为一个数据项数据项是数据不可分割的最小单位(具有独立含义)。

  数据对象(data object)是性质相同的数据元素的集合,是数据的一个子集。例如,整数数据对象是集合N={0,±1,±2,...},字母字符数据对象是集合C={‘A’,‘B’,...,‘Z‘}。

  数据结构(data structure)是相互之间存在一种或多种特定关系的数据元素的集合。在任何问题中,数据元素都不是孤立存在的,而是在他们之间存在着某种关系,这种数据元素相互之间的关系称为结构(structure)。根据数据元素之间关系的不同特性,通常有下列4类基本结构:

    (1)集合  结构中的数据元素之间除了“同属于一个集合”的关系外,别无其他关系;

    (2)线性结构  结构中的数据元素之间存在一个对一个的关系;(元素间的关系是1:1)

    (3)树形结构  结构中数据元素之间存在一个对多个的关系;

    (4)图状结构网状结构  结构中数据元素之间存在多个对多个的关系。

数据结构的形式定义为:数据结构是一个二元组

  Data_Structure=(D,S)

其中,D是数据元素的有限集,S是D上关系的有限集。(D是数据对象,S是该对象中各数据元素之间的关系的有限集)

原文地址:https://www.cnblogs.com/sanqiansi/p/11290603.html

时间: 2024-08-29 20:08:18

第一章——数据结构之绪论的相关文章

《大话数据结构》---第一章 数据结构绪论

数据结构是一门研究非数值计算的程序设计问题中的操作对象,以前他们之间的关系和操作等相关问题的学科. 程序设计 = 数据结构 + 算法 数据:描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合.数据元素:组成数据的.有一定意义的基本单位,在计算机中通常作为整体处理.也被称为记录.数据项:一个数据元素可以由若干个数据项组成,数据项是数据不可分割的最小单位.数据对象:是性质相同的数据元素的集合,是数据的子集.(性质相同即具有相同数量和类型的数据项)数据结构:是

第一章 数据结构绪论

本文章作为学习笔记,大量参考了<大话数据结构>这本书,因为没有用于商业活动,而且也算是为作者做了一个小小的宣传,作者应该不会告我侵权,哈. 数据结构的概念:是相互之间存在的一种或多种特定关系的数据元素的集合.(学了半天这个概念得知道吧!) 开场白 数据结构有什么用?如果你想走程序员的道路,如果你不想一辈子搬砖,如果你想比别人工资高百分之三十,如果你想让家人过上好日子,如果...  够现实了吧! 数据结构的起源 数据结构是程序员的炼狱,你经历了数据结构的"折磨"才能蜕变.数据

第一章 数据结构概论

1.1  什么是数据结构 在数据结构中数据之间的关系主要有两种:线性关系和非线性关系(非线性关系又分为树形关系和图形关系). 如上图:每个数据单位(一条学生记录)相邻的前一个数据单位最多只能有一个(第一个没有),相邻的后一个数据单位最多只能有一个(最后一条没有).这种数据单位的集合成为数据集合,这种数据之间的关系成为线性关系(这种数据文件就是一个线性表). 我们的电脑硬盘中的目录文件结构,是一个树形结构(树形关系),这种即是非线性的: 多台电脑之间互相通信的多对多的关系,属于非线性关系中的图关系

第一章 &nbsp; &nbsp; &nbsp;数据结构和算法简介

数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并能被计算机程序处理的符号的总称. 数据结构是相互之间存在一种或多种特定关系的数据元素的结合. 数据结构=数据元素+关系(结构): 数据在计算机中的表示称为数据的储结构 任何一个算法的设计取决于选定的逻辑结构,而算法的实现依赖于采用的存储结构 程序=数据结构+算法 算法是对特定问题求解步骤的一种描述 算法的5大特性: 1)  有限性,算法必须在有限的步骤之后结束 2)  确定性,算法的每一步都是确定的定义,无二义性.即在任何条件下

C语言数据结构——第一章 数据结构的概念

一.数据结构的基本概念 1.1-数据结构是什么? 数据结构是计算机存储和组织数据的方式.数据结构是指相互之间存在一种或多种特定关系的数据元素的集合.一般情况下,精心选择的数据结构可以带来更高的运行或者存储效率.数据结构往往同高效的检索算法和索引技术有关. 想要对大型复杂程序的构造进行系统而科学的研究,必须首先对这些程序中所包含的数据结构进行深入的研究. 数据:通常用于描述客观事物,是对客观事物的符号表示.例如:在我们平时使用的各种文字.数字和特定符号都可以称之为数据.而在计算机中,数据是指所有能

第一章 数据结构与算法

1.1 算法 1.1.1 算法的基本概念 所谓算法是指解题方案的准确而完整的描述. 对于一个问题,如果可以通过一个计算机程序,在有限的存储空间内运行有限长的时间而得到的结果,则称这个问题是算法可解的. 但算法不等于程序,也不等于计算方法. 算法的基本特征: (1) 可行性(Effectiveness) 算法可行性包括以下两个方面: ①算法中的每一个步骤必须能够实现. ②算法执行的结果要能够达到预期的目的.  算法在执行过程中往往要受到计算工具的限制,使执行结果产生偏差. (2)确定性(Defin

数据结构期末复习第一章绪论

前言: 最近快期末了,复习下数据结构,下列习题和答案解析,大部分来源于网络,如有不对之处还请指出. 在这里,星云祝各位考生期末考试顺利,新年快乐! 第一章绪论 1. 数据结构是一门研究非数值计算的程序设计问题中计算机的(操作对象)以及它们之间的(关系)和(操作)的学科. 2. 下列关于数据结构的基本概念中,叙述正确的是( C ). A. 数据元素是数据的最小单位. B. 数据的逻辑结构是指数据的各数据项之间的逻辑关系. C. 任何一个算法的设计取决于选定逻辑结构,而算法的实现依赖于采用的存储结构

[MOOC笔记]第一章 绪论(数据结构)

1.  计算 学习DSA的目的是实现有效的和高效的计算,同时在资源消耗的方面做到足够的低廉. 计算 = 信息处理:借助某些工具,遵照一定规则,以明确而机械的形式进行. 计算模型 = 计算机 = 信息处理工具 算法:在特定的计算模型下,旨在解决特定问题的指令序列. 算法的要素: 输入 待处理的信息(问题) 输出 经处理的信息(答案) 正确性 的确可以解决指定的问题 确定性 任一算法都可以描述为一个由基本操作组成的序列 可行性 每一基本操作都可实现,且在常数时间内完成 有穷性 对于任何输入,经有穷次

【深入理解Linux内核】《第一章 绪论》笔记

1.商用Unix操作系统包括: - AT&T公司开发的(System V Release 4) SVR4. - 加州伯克利分校发布的4.4BSD - Dec公司(现属于HP)的Digital Unix - IBM公司的AIX - HP公司的HP-UX - Sun公司的Solaris   - Apple公司的Mac OS X 所有商业版本都是SVR4或4.4BSD的变体,并且都趋向于遵循某些通用标准:如IEEE的POSIX(Portable Operating Systems based on U