数据结构 第一章 绪论

       程序设计的实质是数据表示和数据处理。数据要能被计算机处理,首先必须能够存储在计算机的内存中,这项任务称为数据表示,其核心是数据结构;一个实际问题的求解必须满足各项处理要求,这项任务称为数据处理,其核心是算法。数据结构课程主要是讨论数据表示和数据处理的基本方法。

       

1.1 

1.2 

(1)数据的逻辑结构:线性表、书、图等数据结构,其核心是如何组织待处理的数据以及数据之间的关系。

(2)数据的存储结构:如何将线性表、书、图等数据结构存储到计算机的存储器中,其核心是如何有效的存储数据以及数据之间的逻辑。

(3)算法:如何基于数据的某种存储结构实现插入、删除、查找等基本操作,其核心是如何有效的处理数据。

(4)常用数据处理技术:包括查找技术、排序技术、索引技术。

1.3

(1)数据是信息的载体,在计算机科学中是指所有能输入到计算机中并被计算机程序识别和处理的符号集合。数据可分为两类:数值数据、非数值数据。

(2)数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。构成数据元素的不可分割的最小单位称为数据项。

数据结构是指相互之间存在一定关系的数据元素的集合。按照视点的不同数据结构分为逻辑结构和存储结构。

(3)数据的逻辑结构是指数据元素之间逻辑关系的整体。数据结构分为四类:集合、线性结构、树结构、图结构。

数据的存储结构又称为物理结构,是数据及其逻辑结构在计算机中的表示。通常有两种存储结构:顺序存储结构(占据存储空间少)、链接存储结构(占据存储空间多、灵活)

(4)数据的逻辑结构是面向问题的,数据的存储结构是面向计算机的。

(5)数据类型是一组值得集合以及定义于这个值集上的一组操作的总称。

(6)抽象就是抽出问题本质的特征而忽略非本质的细节,是对具体事物的一个概括。

(7)抽象数据类型简称ADT,是一个数据结构以及定义在该结构上的一组操作的总称。ADT可以理解为对数据类型的进一步抽象,数据类型和ADT的区别仅在于:数据类型指的是高级程序设计语言支持的基本数据类型,而ADT指的是自定义的数据类型。

1.4

(1)数据类型是一组值得集合以及定义于这个值集上的一组操作的总称。

(2)抽象就是抽出问题本质的特征而忽略非本质的细节,是对具体事物的一个概括。

(3)抽象数据类型简称ADT,是一个数据结构以及定义在该结构上的一组操作的总称。ADT可以理解为对数据类型的进一步抽象,数据类型和ADT的区别仅在于:数据类型指的是高级程序设计语言支持的基本数据类型,而ADT指的是自定义的数据类型。

(4)度量算法效率的方法:【1】事后统计,缺点:编写程序实现算法花费较多时间和精力,所得实验结果依赖于计算机的软硬件等环境因素,有时容易掩盖算法本身的优劣。【2】事前分析估算——渐进复杂度。

(5)除了计算机软硬件等因素,问题规模是影响算法时间代价的最主要因素。问题规模是指输入量的多少。

为了客观地反应一个算法的执行时间,可以用算法中基本语句的执行次数来度量算法的工作量。基本语句是执行次数与整个算法的执行次数成正比的语句。

(6)只考察当问题规模充分大时,算法中基本语句的执行次数在渐近意义下的阶,称作算法的渐进时间复杂度,简称时间复杂度,通常用大O记号表示。

(7)算法的空间复杂度是指在算法的执行过程中,需要的辅助空间数量。辅助空间是除了算法本身和输入输出数据所占据的空间外,算法临时开辟的存储空间。通常记作:S(n)=O(f(n))     其中n是问题规模

(8)分析算法的时间复杂度的基本方法:找出所有语句中执行次数最大的那条语句作为基本语句,计算机基本语句的执行次数,取其数量级放入大O中即可。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值