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

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

在八、九两个章节中主要描述了计算机的程序设计层,我们以及完成了机器语言汇编语言再到伪代码的学习。

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

8.1 抽象数据类型

抽象数据类型(Abstract Data Type,ADT):属性(数据和操作)明确地与待定现实分离的容器
数据结构(data structure):一种抽象数据类型中的复合数据域的实现。
容器(container):存放和操作其他对象的对象


8.2 栈

  • 栈是一种抽象复合结构,只能从一端访问栈中的元素。它可以在第一个位置插入元素,也可以删除第一个元素。
  • 另一种描述栈的访问行为的说法是删除的项总是在栈中时间最短的项目

8.3 队列

  • 队列和栈都是抽象复合结构,队列中的项目从一端输入,另一端输出。
  • 另一种描述队列的访问行为的说法是删除的项总是在栈中时间最长的项目

8.4 列表

列表在程序中与在现实生活中一样很自然的出现了。列表也可以被形象化为链式结构,链式结构以结点的概念为基础。一个节点由两部分组成:用户的数据和指向列表的下一个节点的链接或指针。


8.5 树

列表、栈、队列只是模拟了一种数据关系,他们中的项目可以看作是一个挨着一个,因此更复杂的关系需要更复杂的结构来表示,需要一个分层体系结构,而这种分层体系被称为

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


8.6 图

树是表示存在的体系结构中关系的有效方法,一个节点至多只有一个指向它的节点,如若去除这种约束,就得到了另一种数据结构——图

图(graph):由一组节点和一组把节点相互连接起来的边构成的数据结构。
顶点(vertex):图中的节点。
边/弧(edge/arc):表示图中两个节点的连接定点对。
无向图(undirected graph):其中的边没有方向的图。
有向图(directed graph):其中的边是从一个顶点指向另一个顶点(或同一个顶点)的图。
邻顶点(adjacent certice):通过边连接起来的两个顶点。
路径(path):连接图中两个顶点的一系列顶点。


8.7 子程序

参数列表:程序中的两部分之间的通信机制。
形参:列在子程序名后的括号中的标识符。
实参:子程序调用中列在括号中的标识符。
值参:由调用单元传入实参的副本(写在留言板上)的形参。
引用参数:由调用单元传入实参的地址(写在留言板上)的形参。

第九章-面向对象设计与高级程序设计语言

第一章中曾介绍,随着时间的推移如何围绕硬件建立不同层次的程序设计语言,从而简化 码农 程序员的工作。
第六章中介绍了机器码,然后出现了助记忆码以及表示指令的汇编语言。虽然汇编语言前进了一步,但是对于不同机器,程序员仍然需要需要记住不同的机器指令,故诞生了高级语言。

9.1 面向对象的方法

对象:在问题背景中相关的事物或实体。
对象类/类:一组具有相似的属性和行为的对象的描述。
:类中的特定项,可以是数据或子程序。
方法:定义了类的一种行为的特定算法。
封装:把数据和动作集中在一起,使数据和动作的逻辑属性与他们实现细节分离。


9.2 翻译过程

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


9.3 命令式范型

包括命令式范型声明式范型


9.4 高级程序设计语言的功能性

本节涵盖了

  • 布尔表达式
  • 数据归类
  • 输入/输出结构
  • 控制结构

9.5 面向对象语言的功能性

  • 封装
  • 继承
  • 多态

9.5 过程设计与面向对象设计的区别

posted @ 2019-10-30 20:07  岁岁敲代码  阅读(118)  评论(0编辑  收藏  举报