2019-2020-1学期 20202406《网络空间安全专业导论》第四周学习总结

2019-2020-1学期 20202406 《网络空间安全专业导论》第四周学习总结

第八章 抽象数据类型与子程序

学习目标

· 区分基于数组的实现和链式实现
· 区分数组和列表
· 区分无序列表和有序列表
· 区分栈和队列的行为
· 区分二叉树和二叉检索树
· 把一系列项目插入二叉检索树,绘制建树的过程
· 理解树与图的区别
· 解释子程序和参数的概念,区分值参与引用参数

学习重点

· 抽象数据类型
抽象数据类型是属性明确地与特定实现分离的容器。

数据结构:一种抽象数据类型中的复合数据域的实现
容器:存放和操作其他对象的对象

· 列表
列表也可以被形象化为链式结构。链式结构以节点的概念为基础。一个节点由两部分构成:用户的数据和指向列表的下一节点的链接或指针。

链式结构:一个将数据项和找到下一项位置的信息保存到同一容器的实现方法。

· 二叉树
二叉树是一种抽象结构,其中每个节点可以有两个后继节点,叫做子女。树的头部是一个起始节点,叫做根,他不是任何节点的子女。

二叉树:具有唯一起始节点的抽象复合结构,其中每个节点可以有两个子女节点,根节点和每个节点之间都有且只有一条路径。
:树中唯一的开始节点
叶节点:没有子女的树节点

· 图

:由一组节点和一组把节点互相连接起来的数据结构。
顶点:图中的节点
边(弧):表示图中两个节点的连接的顶点对
无向图:其中的边没有方向的图
有向图:其中的边是从一个顶点指向另一个顶点(或同一个顶点)的图

如果两个顶点有一条边相连,则把它们称为邻顶点。两个顶点通过一条有顺序的路径相连

邻顶点:通过边连接起来的两个顶点。
路径:连接图中两个顶点的一系列顶点

· 参数传递
参数列表是子程序要使用的标识符或值的列表,它放置在子程序名后的括号中。

参数列表:程序中两部分之间的通信机制
形参:列在子程序名后的括号中的标识符
实参:子程序调用中列在括号中的标识符

· 值参与引用参数
传递参数的基本方式有两种,即通过值传递和通过引用传递。如果一个形参是值参调用单元将把实参的地址传递给子程序。如果一个形参是引用参数,调用单元将把实参的地址传递给子程序。

值参:由调用单元传入实参的副本的形参
引用参数:由调用单元传入实参的地址的形参

本章小结

· 列表,栈,队列,树和图都是有用的抽象复合结构。每种结构都有自己特定的属性和确保这些属性的操作。所有抽象复合结构都有插入和删除元素的操作。列表和树还有在结构中查找元素的操作。
·列表和树有着相同的属性:元素可以被插入,删除和检索。
· 列表,栈,队列和树都仅仅是容器结构,但是图更加复杂。
· 子程序声明使得子算法可以独立实现。

图示

屏幕截图_28_.png

面向对象设计与高级程序设计语言

学习目标

· 区分功能设计与面向对象设计
· 描述面向对象设计过程中的阶段
· 运用面向对象设计过程
· 列出并描述面向对象语言的三要素,给出每种要素的示例
· 描述翻译过程并区分汇编,译编,解释和执行
· 命名四种不同的编程泛型,并给出每一种的语言特征
· 定义数据类型和强类型的概念
· 理解如何在编程语言中实现自顶向下的设计和面向对象的设计

学习重点

· 面向对象方法
· 面向对象
对象是在问题背景中具有意义的事物或实体。对象类描述了一组类似的对象。类中包含的字段表示类的属性。方法是处理对象中的数据值的指定算法。

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

· 翻译过程

编译器:把用高级语言编写的程序翻译成机器码的程序。
解释器:输入用高级语言编写的程序,指导计算机执行每个语句指定的动作的程序。
字节码:编译Java源代码使用的标准机器语言。

· 高级程序设计语言的功能性
布尔表达式是一个标识符序列,标识符之间由相容的运算符分隔,求得的值是true或false。
· 数据归类

强类型化:每个变量都有一个类型,只有这种类型的值才能存储到该变量中。
数据类型:一组值以及能够应用于这种类型的值的基本操作集合的说明。

· 控制结构
伪代码提供了三种方法来改变控制算法的流程:重复,选择和子程序。这些结构叫做控制结构,因为他们决定了其它指令在程序中被执行的顺序。

控制结构:确定程序中其它指令在程序中被执行的顺序地指令。

· 面向对象语言的功能性
在设计阶段,对象是在问题背景中具有意义的事物或实体。在实现阶段,是一种语言结构,这种结构是对象的模式,为封装对象类的属性和动作提供了机制。

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

· 继承
**继承是面向对象语言的一种属性,即一个类可以继承另一个类的数据和方法

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

· 多态

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

本章小结

面向对象分解的四个阶段:
· 头脑风暴
· 过滤
· 场景
· 责任算法
面向对象的程序用以下结构刻画:
· 封装
· 继承
· 多态

图示

屏幕截图_29_.png

posted @ 2020-11-02 19:28  20202406-郭子钰  阅读(54)  评论(0编辑  收藏  举报