2021-2022-1 20211312《信息安全专业导论》第七周学习总结

作业信息

这个作业属于哪个课程 2020-2021-1信息安全专业导论
这个作业要求在哪里 2020-2021-1信息安全专业导论第7周作业
这个作业的目标 数组与链表、基于数组和基于链表实现数据结构、无序表与有序表、树、图、子程序与参数
作业正文 https://i.cnblogs.com/posts/edit

教材学习内容总结

  • 所谓数组,就是相同数据类型的元素按一定顺序排列的集合;数组的存储区间是连续的,占用内存比较大,故空间复杂的很大。但数组的二分查找时间复杂度小,都是O(1);数组的特点是:查询简单,增加和删除困难;

    • 优点:随机访问性强,查找速度快,时间复杂度是0(1)
    • 数组的缺点:
      • 从头部删除、从头部插入的效率低,时间复杂度是o(n),因为需要相应的向前搬移和向后搬移。
      • 空间利用率不高
      • 内存空间要求高,必须要有足够的连续的内存空间。
      • 数组的空间大小是固定的,不能进行动态扩展。
  • 所谓链表,链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn)和O(1)。

    • 链表的优点:
      • 任意位置插入元素和删除元素的速度快,时间复杂度是o(1)。
      • 内存利用率高,不会浪费内存
      • 链表的空间大小不固定,可以动态拓展。
    • 缺点:随机访问效率低,时间复杂度是o(1)
  • 基于数组和基于链表实现数据结构

  • 无序表API(仅实现了插入,查找操作)、有序表API(rank函数为键为k的值在表中的排名)

  • 树是一种非线性的数据结构,是由n(n >=0)个结点组成的有限集合。
    如果n==0,树为空树。
    如果n>0,
    树有一个特定的结点,根结点
    根结点只有直接后继,没有直接前驱。
    除根结点以外的其他结点划分为m(m>=0)个互不相交的有限集合,T0,T1,T2,…,Tm-1,每个结合是一棵树,称为根结点的子树。

  • 树的结点包含一个数据和多个指向子树的分支
    结点拥有的子树的数量为结点的度,度为0的结点是叶结点,度不为0的结点为分支结点,树的度定义为树的所有结点中度的最大值。

  • 结点的直接后继称为结点的孩子,结点称为孩子的双亲。
    结点的孩子的孩子称为结点的孙子,结点称为子孙的祖先。
    同一个双亲的孩子之间互称兄弟。

  • 在计算机科学中,子程序(英语:Subroutine, procedure, function, routine, method, subprogram, callable unit),是一个大型程序中的某部份代码,由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其他代码,具备相对的独立性。
    一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被集成为软件库。
    函数在面向过程的语言中已经出现。是结构(Struct)和类(Class)的前身。本身就是对具有相关性语句的归类和对某过程的抽象。

  • 参数,也叫参变量,是一个变量。我们在研究当前问题的时候,关心某几个变量的变化以及它们之间的相互关系,其中有一个或一些叫自变量,另一个或另一些叫因变量。如果我们引入一个或一些另外的变量来描述自变量与因变量的变化,引入的变量本来并不是当前问题必须研究的变量,我们把这样的变量叫做参变量或参数。

教材学习中的问题和解决过程

  • 问题:简单类型就是基本类型吗?
  • 解决过程:上网查找相关资料,资料显示Java中的简单类型就是基本类型。

代码调试中的问题和解决过程

-无

代码托管






上周考试错题总结

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 20/20 2/2 20/20
第二周 20/40 1/3 18/38
第三周 100/140 1/4 22/60 克服对代码的恐惧
第四周 310/450 1/5 30/90 在学长的帮助下学会了利用CSDN
第五周 350/800 1/5 30/120
第六周 200/1000 1/6 10/130
第七周 200/1200 1/7 10/140
  • 计划学习时间:10小时

  • 实际学习时间:10小时

参考资料

posted @ 2021-11-07 19:22  20211312徐元琦  阅读(29)  评论(0编辑  收藏  举报