2020-2021《网空导论》第四周学习总结

发布时间:2022-07-02 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了2020-2021《网空导论》第四周学习总结脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

第八章:抽象数据类型与子程序 1.区分基于数组的实现和链式实现1.区分基于数组的实现和链式实现 数组的实现中,每个数据都被明确编码,方便直接按编码检索,但是由于编码的固定性,难以对数组进行更改。

链式实现:类似于“接头式”结构,像火车车厢一般,便于增添删减其中的项目,但是检索时间长。

链式实现:类似于“接头式”结构,像火车车厢一般,便于增添删减其中的项目,但是检索时间长。 链式结构(linked structure):一个将数据和找到下一项位置的信息保存到同一容器的实现方法。链式结构(linked structure):一个将数据和找到下一项位置的信息保存到同一容器的实现方法。

2.区分数组和列表2.区分数组和列表 数组:难以改变,大小相对固定,内嵌结构,高效检索 列表:易于更改,大小不定,抽象结构,为了灵活牺牲一定的效率

3.区分无序列表和有序列表3.区分无序列表和有序列表 无序列表:顺序并不重要,项目只是随意被放入其中。 有序列表:项目之间具有语义关系。

4.区分栈和队列的行为4.区分栈和队列的行为 栈:LIFO,后进先出,就像超市货架上的商品,最后被码入的一排是最先被拿到的一排。 队列:FIFO,先进先出,就像排队过安检,先去安检人先过安检。

5.区分二叉树和二叉检索树5.区分二叉树和二叉检索树 二叉树(binary tree):具有唯一起始节点的抽象复合结构,其中每个节点可以有两个子女节点,根节点和每个节点之间都有且只有一条路径。二叉树(binary tree):具有唯一起始节点的抽象复合结构,其中每个节点可以有两个子女节点,根节点和每个节点之间都有且只有一条路径。

二叉检索树具有二叉树的形状属性,此外,二叉检索树还具有语义属性来刻画树中节点上的值,即任何节点的值都要大于它左子树中的所有节点的值,并且要小于它的右子树中的所有节点的值。

6.建立二叉检索书的过程6.建立二叉检索书的过程 首先插入第一个值,再插入后续值,若后续值大于第一个值,将之放入右子树,反之放入左子树,下一个数再与第一个值开始比较重复上述操作即可。

7.理解树与图的区别7.理解树与图的区别 树是表示存在层次结构关系的一种有效方式,也就是说,一个节点至多只有一个指向它的节点。如果去掉这种越说,就得到了另一种数据结构——图。图有一组节点和连续节点的线段构成,图中的节点叫做顶点,途中的线段叫做边。

图(graph):有一组节点和一组把节点相互连接起来的便构成的数据结构。图(graph):有一组节点和一组把节点相互连接起来的便构成的数据结构。

8.,区别值参与引用参数8.,区别值参与引用参数 值参(value parameter):由调用单元传入实参的副本的形参。 引用参数(reference parameter):由调用单元传入实参的地址的形参》引用参数(reference parameter):由调用单元传入实参的地址的形参》

区别在于“引用”,即前者是传入实参的副本,而另一个是传入实参的地址(引用)。

第九章:第九章:面向高级设计与高级程序设计语言 面向对象的设计是审视设计过程的另一种方式它从数据角度出发而非任务

9.1面向对象方法 9.1.1面向对象 在面向对象的思想中,数据和处理数据的算法绑在一起,因此每个对象负责自己的处理,面向对象设计的底层概念是类和对象。

对象:在问题背景中相关的食物或实体 对象类或类:一组具有相似的属性和行为的对象的描述 字段:表示类的属性 方法:定义了类的一种行为的特定算法

类是一种模式,说明了对象是什么以及他的行为

9.1.2设计方法 有四个阶段 1.头脑风暴:确定问题中类的第一个阶段 头脑风暴是一种集体问题求解的方法,包括集体中的每个成员自由发言。 2.过滤:过滤保留下来的类将在下一阶段仔细研究。 3.场景:该阶段将确定每个类的行为。目标是给每个类分配责任,最终责任将实现为子程序。

封装:把数据和动作集中在一,使数据和动作的逻辑属性与他们的实现细节分离。封装是抽象的关键

责任的类型有两种,即类必须知道什么(知识)和类必须能够做什么(行为)。 4.责任算法:执行责任的算法一般都相当短 5.总结:自顶向下的设计方法重点在于把输入转化成输出的过程,结果将生成任务的体系结构。面向对象设计的重点是要转换的数据对象,结果生成的是对象的体系结构。

9.1.3示例 面向对象的设计比自顶向下额设计更好,因为他创建的一些类还可以用于其他背景。可复用性是面对对象设计的一大优点。为一个问题涉及的类还可以用于解决另一个问题,因为每个类都是自约束的,也就是说,每个类只负责自己的行为。

9.2翻译过程 在研究高级语言之前,我们先来看看工具的基本功能。

9.2.1编译器 编译器翻译用高级语言编写的程序的程序。随着科学家更加深入地了解翻译过程,编译器变得复杂,汇编语言的阶段通常被省略了 任何计算机只要具有一种高级语言的编译器,就能运行这种语言编写的程序。要编译一个程序就必须具有这个编译器在特定机器上的机器码版本,想要在多种类型的机器上使用一种高级语言,就要具有这种语言的多个编译器。 9.2.2解释器

解释器:输入永高及语言编写的程序,知道计算机执行每个语句指定的动作的程序。

解释器与汇编器和编译器不同,他在翻译过语句之后会立即执行着这种语句。 第二代高级语言可分为两种:一种是需要编译的,一种是需要解释的 因为需要解释的语言编写的程序通常比要编译的程序的运行速度慢很多,所以要编译的语言发展成了主流,于是产生了Java。在Java的设计中,可移植性是最重要的特征。为了达到最佳可移植性,Java被编译成一种标准的机器语言————字节码。

字节码:编译Java代码使用的标准机器语言

标准化的高级语言实现的可移植性与把Java程序翻译成字节码然后在JVM上解释它所实现的可移植性是不同的。Java编译器输出的程序将被解释,而不是直接被执行。

9.3程序设计语言范型 什么是范型?“用作模式或模型的实体”和“一组家属。概念。值和实践,构成了共享他们的聚合体观察现实方式,尤其适用于精神学科”

9.3.1命令式范型 具有顺序执行指令的特征。变量的使用代表了内存地址,而使用赋值语句则改变这些变量的值。 1.面向过程的范型 面向过程编程是一种命令式模式,在这里语句被分组为子程序。一个程序是子程序分层构成的,每一层执行整个问题求解的一个必要的特定任务。 2.面向对象的范型 面向对象视角是与对象交互的一种方式,每个对象负责执行它自己的动作。 在面向过程的范型中,数据被认为是被动并且被程序所操控的,数据对象是活跃的。每个对象负责控制自己的操作。

9.3.2声明式范型 声明式范型是一个描述结果的模型,但是完成结果的过程则不被描述。 该范型中的两种基本模型:函数式和逻辑式。 1.函数式模型 基于函数的数学概念,基本的原理是函数的求值。 2.逻辑编程 基于数理逻辑的原则,解决潜在问题的算法用逻辑的规则来推演出事实和规则的答案。

9.4高级程序设计语言的功能性 命令式语言的标志就是两种伪代码结构——选择和重复(循环)。 1.布尔表达式 布尔表达式是一个标识符序列,标识符之间由相容的运算符分隔,球的的值是true和false。 2.数据归类 强类型化:只能在变量中存储适合的类型的要求。 数据类型:描述一组数值和一组可以应用在这种类型的数值上的基本操作 大多数高级语言都有四种数据类型:整数实数字符和布尔型 声明:把变量动作或言语中的其他实体与标识符关联起来的语句,使程序言可以通过名字引用这些项目。 保留字:一种语言中具有特殊意义的子,不能用他作为标识符

9.4.3输入/输出结构 高级语言把输入文本的数据看做一个分为多行的字符流。 字符的含义由存放值的内存单元的数据类型决定输出与基础所有输入语句都由三部分构成:要存放数据的变量的声明、输入语句和要读入的变量名以及数据流自身。 在非强类型语言中,输入格式决定了类型。 输入语句创建字符流。在强类型语言中不管输入输出语句的语法或输入输出流在哪,处理的关键在于数据类型。数据类型确定字符是如何被转换为位模式以及如何被转换为字符。

9.4.4控制结构 重复选择和子程序,这种结构叫做控制结构。(他们决定了其他指令在程序中被执行的顺序) 1.嵌套逻辑。选择语句可以在循环结构中被嵌套,循环结构可以在选择语句被被嵌套(同选择,循环语句和子程序) 2.异步处理。

异步:不与计算机这种的其他操作同时发生。换句话说,与程序的操作不同步

9.5面向对象语言的功能性 面向语言对象的基本构造是类 对象语言中三个必要组成成分:封装,继承和多态。

9.5.1封装 封装:实施信息隐蔽的语言特性 对象(问题求解阶段):与问题背景相关的事物或实体 类(实现阶段):对象的模式 对象类或类(问题求解阶段):属性和行为相似的一组对象的说明 对象(实现阶段):类的一个实例

9.5.2类 实例化:创建类的对象

默认情况下,类中的字段是私有的,也就是说,除非某一个类的字段被标识为公有,否则任何其他对象都不能访问这个类的对象的字段。

9.5.3继承 继承:获取其他类的属性的机制

继承通过允许应用程序使用已经被测试过的类和从一个类中继承应用所需的属性来促进重用。

9.5.4多态 多态:语言在运行时确定给定调用执行哪些可能的方法的能力。

9.6过程设计与面对对象设计的区别 在面向过程的版本中,列表被呈现为传递给子程序的记录,以便子程序可以对其操作。 操作他的数据结构和子程序是用户程序的一部分。在面向对象的版本中,类对象的实现通过封装实现对用户的隐藏。

总结与反思 第八章,第九章的部分概念难以理解。在学习过程中,要广泛查找资料,认真看每一个字,弄清楚每一个词才能理解书中到底要表达什么,一个概念不理解或是一个词没弄明白,对接下来的阅读都会有极大的影响。

好文要顶 关注我 收藏该文

2020-2021《网空导论》第四周学习总结

脚本宝典总结

以上是脚本宝典为你收集整理的2020-2021《网空导论》第四周学习总结全部内容,希望文章能够帮你解决2020-2021《网空导论》第四周学习总结所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。