数据结构与算法(一)基础概念
admin
2023-08-03 05:00:06
0次

基础概念

数据结构讨论的范畴,算法、数据结构概念,算法和算法的度量

算法讨论的范畴

算法:处理问题的策略。

数据结构:问题的数学模型(非数值计算)及其上的操作在计算机中的表示和实现。数值计算使用计算数学。

数据结构

算法:处理问题的策略。

数据结构:带结构的数据元素的集合。

数据

可输入到计算机中且被计算机处理的符号集合。

数据元素

数据中的一个个体,数据结构中讨论的基本单位。

数据项

数据结构中讨论的最小单位。数据元素是数据项的集合。

数据的逻辑结构

线性结构、树形结构、图状结构、集合结构

数据结构形式定义

数据结构=(D,S),D是数据元素的有限集,S是D上关系的有限集。

数据的存储结构

逻辑结构在存储器中的映像。

数据元素的映像方法

bit串。

关系的映像方法

顺序映像:以存储位置的相邻(或者一个固定间隔),表示后继关系。整个存储结构中只包含数据元素本身的信息。

链式映像:存储位置不确定,以附件信息(指针)表示后继关系。

数据类型

是一个值的集合和定义在此集合上一组操作的总称,也可以称为数据结构。

抽象数据类型(ADT)

一个数学模型以及定义在这个数学模型上的一组操作。

特点
数据抽象

强调实体的本质特征、所能完成的功能及与外部用户的接口(外界使用它的方法)。

数据封装

将实体外部特性与内部实现分离,并对外部用户隐藏内部实现细节。

描述方法

(D,S,P),D是数据对象,S是D上的关系集,P是对D的基本操作。

算法和算法的度量

算法

解决某种问题而确定的一个有限长的操作序列。

特征

有穷性:对于任意一组合法的输入值,在执行有穷步骤后,一定能结束。即每个步骤都可以在有限时间内完成。

确定性:对于每种情况下所应执行的操作,在算法中都有确切规定,使算法的执行者或者阅读者都能明确其含义及如何执行。并且在任何条件下,算法都只有一条执行路径。

可行性:算法中所有步骤必须足够基本,都可以通过已实现的基本操作运算有限次实现。

有输入:算法加工的对象,可以在算法执行过程中输入,也可以隐含在算法中。

有输出:是一组与“输入”有确定关系的量值,是算法进行信息加工后的结果,这种确定关系为算法的功能。

算法设计原则
正确性
  • 首先,算法应满足以特定的“规格说明”方式给出的需求。,其次对算法是否“正确”的理解有以下四个层次,通常以c作为衡量算法合格的标准。

  • a.程序中不含有语法错误。

  • b.程序对于几组输入能够得出满足要求的结果。

  • c.对于精心选择的、典型、苛刻且带有刁难性的几组输入数据,能够得出满足要求的结果。

  • d.对于一切合法的输入都能得出满足需求的结果。

可读性

便于理解和调试。

健壮性

当输入数据非法时,算法应作出恰当反映或进行相应处理,而不是产生莫名其妙的结果。并且,处理“出错”的方法不应是中断程序,而是返回一个表示错误或错误性质的结果,以便高层调用处理。

高效率与低存储需求

效率指算法的执行时间,存储需求指执行过程中所需最大存储空间,两者与问题规模有关。

算法效率的衡量和准则
事后统计

缺点:1-必须执行程序。2-其他因素掩盖算法本质。

事前分析估算
时间相关因素

1-算法选用的策略

2-问题的规模

3-编写程序的语言

4-编译的机器代码的质量

5-计算机执行指令的速度

算法执行时间增长率和f(n)增长率相同(n-工作量)。

T(n)=O(f(n)),T(n)为算法的时间渐进复杂度。

算法=控制结构+原操作(固有数据类型的操作)。

算法的执行时间=Σ原操作的执行次数*原操作的执行时间。算法的执行时间与原操作执行次数之和成正比。

算法的空间复杂度,S(n)=O(g(n)),随着问题规模增大,算法运行所需存储的增长率与g(n)相同。

输入数据所占空间。

程序本身所占空间。

辅助变量所占空间。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...