2020—2021《网络空间安全导论》 第四周自学总结
第八章讲抽象数据类型和子程序
抽象复合结构 含有 列表 栈 队列 树 图
每种结构都有自己特定的属性和确保这些属性的操作
列表和树
1元素可以被插入,删除,检索。
2 链式结构 一个将数据项和找到下一项未知的信息保存到同一容器的方法。
栈
1元素可以被插入到占中,但是删除和返回的元素是最后一个被插入栈中的元素,是在栈中停留最短的那个元素
队列
1和栈不同,删除和返回的元素是第一个被放入队列的,也就是在队列中停留时间最久长的那个元素。
图
1优秀的数学算法可以应用到图的信息中,包含有广度优先搜索,深度优先搜索,单源最短路搜索
2分类
无向图:其中的边无方向
有向图:其中的边是从一个顶点指向另一个顶点或同一个顶点的图。
子程序
1子程序声明使得算法可以独立实现
2参数列表 程序中两部分的通信机制
形参 列在子程序名后的括号中的标识符
实参 子程序调用中列在括号中的标识符
值参 游调用单元传入实参的形参
引用参数 由调入单元传入实参的地址的形参
第九章面向对象设计与高级程序语言设计
面向对象设计
重点是确定问题中的对象,并根据对象的属性和行为把他们抽象成类,有四个阶段
头脑风暴 过滤 场景 责任算法
字段 表示类的属性
封装 把数据和动作集中在一起,使数据和动作的逻辑属性与它们的现实细节分离
翻译过程
编译器 把高级语言程序翻译成汇编语言或机器码
汇编器 把汇编语言程序翻译成机器码
解释器 可以翻译程序中的指令,还会立即执行
面向对象语言的功能性
封装:实施信息隐蔽的语言特性
对象:与问题背景相关的事物或实体
类:对象的模式
对象:类的一个实例
实例化:创建类的对象
继承:类获取其他类属性的机制
多态:语言在运行时确定给定调用将执行哪些可能的方法的能力
9.6过程设计与面向对象设计的区别