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

第8章

8.1

抽象数据类型:属性(数据和操作)明确地与特定实现分离的容器

设计的目的是通过抽象减小复杂程度

可以从:应用层,逻辑层,现实层三个方面观察数据

应用(用户)层:特定问题中的数据的视图

逻辑(抽象)层:数据值(域)和处理它们的操作的抽象视图

实现层明确表示出了存放数据项的结构,并用程序设计语言对数据的操作进行编码

实现层涉及了数据结构,即一种抽象数据类型中的符合数据域的实现

容器存在的唯一目的是存放其他对象

8.2

栈是抽象复合结构,只能从一端访问栈中的元素。可以在第一个位置插入元素,也可以删除第一个元素。后进先出。

另一种描述栈的说法:删除的项总是在栈中时间最短的项目

插入操作没有任何约束,整个LIFO行为都体现在删除操作上

插入操作叫做Push(推进),删除操作叫做Pop(弹出)。

栈没有长度属性,所以没有返回栈中项目个数的操作

需要确定栈是否是空的

8.3

队列中的项目从一端入,从另一端出。先进先出

另一种描述:删除的总是在队列中时间最长的项目

插入操作没有任何约束,整个FIFO行为都体现在删除操作上

8.4

列表有三个属性:项目是同构的,项目是线性的,列表是变长的

每个项目除了第一个都有一个独特的组成部分在他之前,除了最后一个都有一个独特的组成部分在他之后。一个列表至少有三个项目

列表通常提供插入一个项目的操作,删除一个项目的操作,检索一个项目是否存在以及报告列表中项目数量,有一些机制允许用户查看序列中的每一项

因为列表中的项目可被删除和检索,所以列表中的项目必须能够相互比较

数组是内嵌结构,列表是抽象结构

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

列表的最后一个结点的指针变量存放的是表示列表结束的符号

有序列表中,项目之间具有语义关系。除了第一个项目之外所有项目都存在某种排序关系,除了最后一个项目,所有项目都有着相同的关系

8.5.1

二叉树是一种抽象结构,每个节点可以有两个后继节点

树的头部是一个起始节点,叫做根

如果一个节点左边的子节点存在,则这个节点叫做左子女

如果一个节点没有子女,则这个节点叫做树叶

根节点和每个节点之间只有一条路径,除了根节点,每个节点都只有一个父母节点

根节点是书中其他所有节点的前辈

8.5.2

二叉检索树还具有语言属性来刻画树中节点的值:任何结点的值都大于他左子树中的所有结点的值,小于他的右子树中的值

树的形状是由项目插入树的顺序决定的

要输出根的值,必须先输出它的左子树中的所有值,还必须输出他的右子树的值

一个空树的节点数:1加上左子树中的节点个数和右子树中的节点个数

8.6

图:由一组节点和一组把节点相互连接起来的边构成的数据结构

顶点:图中的节点

边(弧):表示图中两个节点的连接的顶点对

无向图:其中边没有方向的图

有向图:其中的便是从一个顶点指向另一个顶点的图

临顶点:通过边连接起来的两个顶点

路径:连接途中两个顶点的一系列点

8.6.2

图搜索方法:深度优先搜索,广度优先搜索,单源最短路搜索

8.7

许多子程序都是高级语言或语言附带库的一部分

参数列表:程序中两部分之间的通信机制

形参:列在子程序后的括号中的标识符

实参:子程序调用中列在括号中的标识符

8.7.2

传递参数的基本方式有两种:通过值传递和通过引用(地址)传递

如果一个形参是值参,调用单元将把实参的一个副本传递给子程序

如果一个形参是引用参数,调用单元将把实参的地址传递给子程序

问题:参数传递的过程    形参和实参的理解

第九章

9.1

面对对象设计的重点是对象以及他们在问题中的交互

9.1.1

对象:在问题背景中相关的事物或实体

对象类:一组具有相似的属性和行为的对象的描述

域:类中的特定项,可以是数据或子程序

方法:定义了类的一种行为的算法

9.1.2

设计方法

1.集体讨论:确定类

2.过滤:对类的整理

3.场景:确定每个类的责任

4.责任算法:类执行职责的方法

9.2

编译器:把高级语言编写的程序翻译成机器码的程序

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

高级语言分为两种:需要编译的,需要解释的

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

Java程序总是被翻译的字节码

9.3

命令式范型:面向过程的范例,面向对象的范例

声明式范型:函数式模型,逻辑模式

9.4

布尔表达式:一个标识符序列,标识符之间由相容的运算符分隔,求得的值是true或false

强类型化:每个变量都有一个类型,只有这种类型的值才能存储到该变量中

数据类型:以阻止以及能够应用于这种类型的值的基本操作集合的说明

9.4

控制结构:确定程序中的其他指令的执行顺序的指令

 

posted @ 2019-10-30 21:14  20192402白胤廷  阅读(109)  评论(0编辑  收藏  举报