软件设计师(中级)知识点提炼【持续更新】

190 阅读6分钟

考点精讲章节安排

1. 计算机组成原理与体系结构基础知识

  1. 数据的表示
  2. 校验码
  • 了解真值与机器数,定点数和浮点数,原码,反码补码移码的含义,并掌握他们之间的写法与转换。

image.png

  • 了解校验码:奇偶校验循环冗余校验码,掌握海明码的构成与计算。

海明码的构成方法是:在数据位之间插入k个校验码,通过扩大码距来实现检错和纠错。设数据位是n位,校验位是k位,则n和k必须满足以下关系2k1n+k2^k-1≥n+k

  1. 计算机体系结构
  2. 指令系统
  3. 存储系统
  • 主存的编址
  • 硬盘(磁盘) 存取时间=寻道时间+等待时间
  1. 总线系统
  • 三种类型:片内总线系统总线:数据总线/地址总线/控制总线通信总线
  1. 输入输出技术
  • 直接程序控制方式:无条件传送方式,程序查询方式
  • 中断方式
  • 直接存储器存储方式
  1. 可靠性
  • 串联部件的可靠度=各部件的可靠度的乘积
  • 并联部件的可靠度=1-部件失效率的乘积

2. 数据结构与算法基础

  1. 基本概念与三要素
  • 基本概念:数据元素数据项数据结构
  • 数据结构三要素:逻辑结构物理结构(存储结构)数据的运算
mindmap
      逻辑结构
          集合
          线性结构
          树形结构
          图状结构(网状结构)
mindmap
      物理结构(存储结构)
          顺序存储
          链式存储
          索引存储
          散列存储
  1. 算法
  • 五个特性:有穷性确定性可行性输入输出
  • 算法效率的度量:时间复杂度空间复杂度(掌握计算和简化)

函数递归调用带来的内存开销:S(n)=O(n) 空间复杂度 = 递归调用的深度

O(1) < O(log2n)(log_2n) < O(n) < O(nlog2n)(nlog_2n) <O(n2n^2) < O(n3n^3) < O(2n2^n) < O(n!) < O(nnn^n)

  1. 线性表
  • 定义,顺序存储和链式存储的区别(空间、时间性能);
  • 不同类型链表的插入删除操作是如何实现的?注意操作的先后顺序
mindmap
      线性表
          逻辑结构
          存储结构
              顺序表
              链表
                  双向链表
                  循环链表
                  静态链表
          插入删除操作
  1. 栈和队列
  • 栈和队列的定义
  • 循环队列:对空条件:head = tail; 队满条件:(tail+1)%size = head
  • 队列的输入输出顺序
  1. 串、数组、矩阵和广义表

(1)串:

  • 串的基本操作:赋值、连接、求串长、串比较、求子串
  • 串的存储结构:顺序存储(定长存储结构);链式存储(块链)
  • 子串的定位操作也叫串的模式匹配

(2)数组

  • 存储地址计算,二维数组a[m][n]

a[i][j]的存储地址(按行)为:a+(i*n+j)*len

a[i][j]的存储地址(按列)为:a+(j*m+i)*len

(3)矩阵

  • 上三角矩阵:在矩阵中下标分别为i和j的元素,对应的一维数组的下标计算公式为:(2n-i+1)xi/2+j
  • 下三角矩阵:在矩阵中下标分别为i和j的元素,对应的一维数组的下标计算公式为:(i+1)xi/2+j
  • 或者直接根据答案带进去计算

(4)广义表

  • 广义表是n个表元素组成的有限序列,是线性表的推广
  • 基本运算:取表头head(Ls)和取表尾tail(Ls)
  • 举例:LS1=(a,(b,c),(d,e))
  1. 树和二叉树
  • 结点的度、树的度、叶子结点、分支结点、内部结点、父结点、子结点、兄弟结点、层次
  • 二叉树的概念
  • 二叉树相关重要特性
  • 二叉树的遍历
    • 前序遍历(根左右)、中序遍历(左根右)、后序遍历(左右根)、层次遍历
    • 反向构造二叉树
  • 树转二叉树(第一个子结点为左结点,其余兄弟结点为右结点)
  • 查找二叉树(左孩子小于根,右孩子大于根),掌握插入删除时规范
  • 构造霍夫曼树(最优):左小右大,最小的两个节点相加。
  • 线索二叉树(引入遍历+指针的概念)
  • 平衡二叉树:任何结点的左右子树深度相差不超过1,每结点的平衡度只能为-1、0、1.
  • 有向图、无向图、完全图、度,入度与出度
  • 存储结构:邻接矩阵邻接表
  • 图的遍历
  • 拓扑排序:用顶点表示活动网络(AOV网络)
  • 最小生成树(普利姆算法):直接查找,多次查找权重比值的最小值
  • 最小生成树(克鲁斯卡尔算法):对权重排序后,再重新查找最小值实现
  1. 查找

image.png 9. 排序 -稳定排序/不稳定排序

image.png


3. 算法分析与设计

  1. 分治法
  • 递归技术,拆分为相同类型的子问题
  1. 回溯法
  • 探索和回退;迷宫问题
  1. 贪心法
  • 局部最优解
  1. 动态规划法
  • 最优子结构和递归式;划分的子问题不是同类型的;背包问题(0-1和完全)
  • 注意时间复杂度的计算

4. 操作系统基本原理

  1. 基本概念
  • 功能和目标
  • 特征:并发、共享、虚拟、异步
  • 操作系统的发展与分类
  1. 进程管理
  • 状态转换图:掌握五个状态之间的转换(主动、被动)
  • 前驱图
  • 进程同步机制:解决进程的异步性问题
  • 进程互斥机制;临界资源只能互斥的进行;四个原则
  • 信号量机制
  • PV操作:pv操作实现前驱操作
  • 死锁产生的必要条件(同时满足4个条件):互斥;不剥夺;请求和保持;循环等待
  • 死锁的处理策略:预防、避免、检测和解除
  1. 存储管理
  • 内存的分配与回收

image.png

  • 分页存储管理
  • 分段存储管理
  • 段页式存储管理(先段后页)
  • 页面置换算法:最佳置换(OPT):往后找最长时间内不会被访问、先进先出(FIFO)最近最久未使用置换算法(LRU):往前找最久没使用
  1. 文件管理

image.png

  • 文件目录:绝对/相对路径
  • 文件的结构:逻辑结构;物理结构(文件的分配方式):连续分配、链接分配、索引分配
  • 空闲存储空间管理:空闲区表位示图空闲块链成组链接法
  1. 设备管理

image.png

image.png 6. 微内核操作系统

image.png


5. 计算机网络基础

  1. 计算机网络的分类

  2. 七层网络体系结构

  3. 网络的设备

  4. TCP/IP协议簇

  5. IP地址和IPV6简介

  6. Internet服务


6. 数据库系统基础知识

7. 程序设计语言基础知识

8. 软件工程基础知识

9. 结构化开发方法-数据流图

10. UML建模

11. 面向对象技术

12. 信息安全与多媒体知识

13. 法律法规与标准化知识

14. 专业英语词汇知识