• 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()函数

  • 相关阅读:
    神奇的Batch Normalization 仅训练BN层会发生什么
    解决过拟合:如何在PyTorch中使用标签平滑正则化
    精度是远远不够的:如何最好地评估一个分类器?
    文本挖掘实战:看看国外人们在病毒隔离期间都在家里做什么?
    翻车现场:我用pytorch和GAN做了一个生成神奇宝贝的失败模型
    mysql安装步骤
    zabbix 02 监控项自定义
    zabbix 01 介绍安装
    Git 、Jenkins (三)Jenkins 安装部署
    Git 、Jenkins (二)Gitlub安装部署
  • 原文地址:https://www.cnblogs.com/cfqlovem-521/p/11877617.html
Copyright © 2020-2023  润新知