20191206《信息安全导论》第七周学习总结

 

一、《计算机科学概论》第八章—抽象数据类型与子程序

(一)抽象数据类型

1.抽象数据类型(ADT abstract data type):属性(数据和操作)明确与特定实现分离的容器。

抽象数据类型的描述包括给出抽象数据类型的名称、数据的集合、数据之间的关系和操作的集合等方面的描述。抽象数据类型的设计者根据这些描述给出操作的具体实现,抽象数据类型的使用者依据这些描述使用抽象数据类型。

2.应用层(用户层)是特定问题中的数据的视图。

3.逻辑层(抽象层)是数据值(域)和处理他们的操作的抽象视图。

4.实现层,计算机最底层

5.数据结构(data structure)一种抽象数据类型中的符合数据域的实现

6.容器(container)存放和操作其他对象的对象

(二)栈(stacks)模拟堆叠。放在只能对最上面的元素操作。所以先进后出。

(三)队列(queue)模拟队列。前面出。后面进。

关于栈
>>> stack = [3, 4, 5]

>>> stack.append(6)

>>> stack.append(7)

>>> stack[3, 4, 5, 6, 7]

>>> stack.pop()

>>> 7

>>> stack[3, 4, 5, 6]

>>> stack.pop()

>>> 6

>>> stack.pop()

>>> 5

>>> stack[3, 4]
关于队列

>>> from collections import deque

>>> queue = deque(["Eric", "John", "Michael"])

>>> queue.append("Terry")       

>>> queue.popleft()             

>>> queue                           

>>> (['Michael', 'Terry', 'Graham'])

(四)列表

1.三个属性特征:项目是同构的;项目是线性的;列表是变长的

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

(五)

1.一种分层体系,在计算机领域,多是二叉树

2.二叉树(binary tree):具有一个根节点,与两个子节点,

3.二叉检索树:已经按一定顺序排列好了的二叉树

这个顺序是:任何节点大于左子树所有节点,小于右子树所有节点

4.其他操作

(六)

1.图(graph)由一组节点和一组把节点相互连接起来的边构成的数据结构

2.顶点(vertex)图中的节点

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

4.无向图(undirected graph)边没有方向的图

5.有向图(directed graph)边有方向

6.邻顶点(adjacent vertice)通过边连接起来的两个顶点

7.路径(path)连接图中两个顶点的一系列顶点

8.创建图

(1)深度优先搜索

(2)广度优先搜索

(3)单源最短路搜索

9.算法图

(七)子程序

1.参数传递

2.参数列表(parameter list)程序中两部分之间的通讯机制

3.形参(parameter)列在子程序名后的括号中的标识符

4.实参(argument)子程序调用中列在括号中的标识符

5.值参(value parameter)由调用单元传入实参的副本的形参

6.引用参数(reference parameter)由调用单元传入实参的地址的形参

二、《自学是一门手艺》

(一)第十一章第五节—函数文档

1.是函数的使用说明书,可用help()查看

2.编写函数文档:必须位于expression的开头,一般是多行注释,且保持相同的缩进。

3.书写规范:Docstring是写给人看的,写why远比what更重要

4.Sphnix版本的书写规范:

(二)第六节—保存到文件的函数

1.模块(module):一种可以被外部调用的.py文件。

2.Import....as ....

3.模块中不一定只有函数

4.dir()查看模块中的变量名称和函数名称

(三)第七节—测试驱动开发

1.算法就是解决问题的步骤而已

2.两种错误:语法错误(syntax errors)意外(exceptions)

(四)第八节—可执行的python文件

1.从理论上讲,我们可以把任何一个程序封装到一个函数中,按照惯例,这个函数叫做main()函数

posted @ 2019-11-17 19:27  191206  阅读(174)  评论(1编辑  收藏  举报