计算机二级公共基础知识点

一、 数据结构与算法

  1. 非空数据结构满足:①有且只有一个根节点 ②每个节点最多有一个前件,也最多有一个后件
  2. 线性结构和非线性结构都可以是空的线性结构
  3. 线性表的存储结构中,存储空间连续,个元素所占字节数相同
  4. 完全二叉树可以用数组保存,但其不属于线性结构。双向链表有两个以上的指针,但属于线性结构。循环队列是队列的顺序存储结构
  5. 栈中,栈顶指针top动态反应了栈中元素的变化情况;循环队列中,队头指针和队尾指针的动态变化决定队列的长度;链式存储结构中,头指针和尾指针或栈顶指针无法决定链表长度
  6. 入栈时栈顶指针是减操作(top=top-1),退栈时栈顶指针是加操作(top=top+1)。栈的初始状态为top=m+1,说明栈空时top=m+1(m在栈底,1是开口向上),栈满时top=1
  7. 带链的栈和带链的队列均采用链式存储结构,这种结构下各数据点的存储序号是不连续的,并且各节点在存储空间中的位置关系和逻辑关系也不一致,故头指针和尾指针或栈顶指针无法决定链表长度
  8. 循环队列中空间Q(1:m),front=rear,可知队满或队空;若rear(后)>front(前),则队列中有元素rear-front个;若rear(后)
  9. 带链栈/队列空,则top=bottom=NULL;带链栈/队列只有一个元素,则top=bottom=s(该元素);top!=bottom,front!=rear,则不确定
  10. 二叉树中,度为0的节点比度为2的节点多1;总结点数=不同度的节点数目相加=度数*对应节点数和+1
  11. 满二叉树:每一层的节点都有两个子节点;完全二叉树:上一层满,最后一层右往左缺n个节点;完全二叉树度为1的节点有0个或1个
  12. 前序遍历首先访问根节点;在具有n个节点的二叉树中,若该二叉树的前序序列与中序序列相同,说明二叉树只有右子树,左子树为空,若中序序列与后序序列相同,说明只有左子树,右子树为空,且深度都为n
  13. 二分查找(对分查找法)只适用顺序存储的有序表,最坏情况下需要比较log_2⁡n次;最坏情况下比较次数:堆排序(nlog_2⁡n)<希尔排序(n^r,1

二、 程序设计与软件工程

  1. 结构化程序设计的方法的原则:自顶向下、逐步求精、模块化、限制使用goto语句
  2. 结构化程序设计风格强调的是程序的易读性;机构化程序的三种基本控制结构:顺序、选择、重复(循环)
  3. 对象由描述该对象属性的数据以及可以对这些数据施加的所有操作封装在一起构成的统一体。对象可以做的操作表示它的动态行为,通常也称方法或服务,属性即对象所包含的信息。对象可以有继承性,但不是任何对象都必须有继承性
  4. 对象的基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好
  5. 软件的三要素:程序、数据和相关文档;程序和数据是可执行的,文档不可执行;软件的特点:软件是一种逻辑实体、软件没有制作过程
  6. 软件按功能可分为应用软件、系统软件和支撑软件(工具软件);系统软件有:操作系统、编译程序、汇编程序、数据管理系统和网络软件、Android操作系统;应用软件:财务报表系统;支撑软件:Studio.Net
  7. 软件工程包含:方法、工具和过程;软件过程是把输入转化为输出的一组彼此相关的资源和活动
  8. 软件的声明周期可分为定义阶段、开发阶段和维护阶段;软件需求规格说明包括功能需求、性能需求、外部接口、属性及约束条件 ;软件的设计包括总体设计(概要设计)和详细设计
  9. 模块的耦合性越高则该模块的独立性越弱,模块的内聚性越高则模块的独立性越强,应当做到高内聚低耦合
  10. 软件设计阶段产生的文档有概要设计说明书、详细设计说明书和测试计划初稿;数据流程图、数据字典和需求规格说明书是需求分析阶段产出

附:九月考的C语言,11月考试结果也出了,成功通过,每次考计算机必不可少的面对前十道基础知识题,覆盖范围广阔,基础薄弱的非计算机专业同学就只能硬背。故将备考过程记录的部分知识点整理了一下,望有助于各位备考。本文知识点覆盖不全,仍缺乏数据库设计基础部分。

你可能感兴趣的:(笔记,数据结构)