2019寒假训练营第二次作业

2019寒假训练营第二次作业

作业链接

学习视频课程笔记(网络空间安全概论)

概述

  • 保障信息安全的的三大支柱:信息安全技术,法律法规,信息安全标准。
  • 信息安全的三种法律关系
    • 行政法律关系
    • 民事法律关系
    • 刑事法律关系

绪论

  • 重点在于勾勒网络空间安全的框架
  • 网络空间安全不但包括人、机、物等实体在内的基础设施安全,还包含其中产生、处理、传输、存储的各种信息数据的安全。

网络空间安全威胁

  • 网络空间安全框架
  • 设备层威胁
  • 系统层威胁
  • 数据层威胁
  • 应用层威胁

网络空间安全框架

  • 网络空间安全概念
    • 信息安全:数据;网络安全:网络信息;网络安全:在网络各个层次的安全;
    • 从信息系统和网络空间安全整体的角度,全方位分析网络空间安全。
  • 网络空间安全框架
  • 网络空间安全需求
    • 包括互联网治理安全
  • 网络空间安全框架中的安全问题
  • 网络空间安全模型
    • 动态安全模型和动态风险模型
    • P2DR2

程序题

文件的读取与写入(热身题)

  • 热身题代码->热身题代码链接
  • 定义指针指向文件(判断文件是否正常打开)
  • 按行读取文本并写入输出文件中
  • 关闭打开的文件

windows中物理路径用的是单斜杠\但在C语言中单斜杠与转义字符冲突,所以用双斜杠表示\\

按行读取文件时,需要读到文件结尾,则读取每行之前需要使用feof检测是否到达结尾。

数据筛选(基本题)

  • 基本题代码->基本题代码链接
  • 每读入一组数据就遍历存储用户信息的结构体数组找是否有同名用户,若有则将传输数据大小叠加,若无,则创建一个新的用户。
  • 数据读取完成之后,遍历结构体数组,筛选总数据超过指定值的用户将其名字写入输出文件中。

读取数据时候因为数据行数较多,在控制台输出时,前面的数据一部上去就看不见了。

读取字符串时,存储的字符数组需要比需要存储的字符长度多1,以存储\0,避免乱码。

吐槽(开放题)

  • 开放题代码->开放题代码链接
  • 做到这步才发现基本题里面要求要先把文件里的所有数据先存下来,所以之前就是读一组数据就直接进行一次处理。
  • 黑客发送的信息大小可能在处理完前一小部分时候就已经超过了限定值,若能在超过时候就将此信息储存,再次读到同名用户时候就直接跳过,可能可以提高运行速度。并且因为是每次进行数据叠加就进行了筛选,所以最后不用再遍历结构体找出数据大小超出限定值得用户。
  • 对于我自己的代码,对于筛选出的用户名我是使用另一个结构体数组进行保存,其实可以直接使用一个整型数组保存筛选出来的下标,可以更节省空间。

修改前与修改后的速度对比

  • 修改前

  • 修改后

  • 事实证明,修改后程序运行时间增加了。不过我觉得可能处理别的某些数据这个思路可能会快一点吧。

原文地址:https://www.cnblogs.com/6028dog/p/10350467.html