考点汇总

[toc]

题型

  • 判断题,对了得分,错了倒扣
  • 简答题
    • 概念、什么是平衡二叉树、什么是有向连通图
    • 给一个AVL树、SPlay,画出计算过程
    • 给一个函数判断是不是递归、这个递归有没有什么问题
      • 是否少了边界条件或者递归条件
    • P是不是NP的子集、你能解释是为什么吗?分别说出他们的概念
    • 解释什么是Worse-case和平均情况、什么时候用WC什么时候用AC、AC和平均分摊之间有什么区别
    • 排序算法的basic操作
    • 给一个数据写一下最近邻
    • 给一个图写出MST
    • 红黑树的判断、构造一个红黑树(只要写过程、不用实现)
    • splay tree 的时间复杂度

Lecture 1-2

P19.Optimizing and heuristic algorithms

  • 最优解(优化算法)和启发式的区别、原因

P20.Why heuristics?

  • 为什么选择启发式

P22.Constructive heuristics

  • 均匀分布,在某个范围内等概率生成某些数
  • 步骤、过程,step0-2、了解一下流程图

P26-.Huffman’s algorithm

  • 哈夫曼编码、文字压缩

P29.Graph

  • 图的定义

P31.Binary tree

  • 什么是二叉树

P35.Tries

  • 什么是Tries

P36.Definition - Prefix

  • 什么是前缀、后缀
  • 给出字符串、能够写出前缀后缀、注意不止一个、是有一系列的前缀

P42-.Huffmans’s algorithm

  • 给一个例子,然后画出过程

P58.Neighborhood search

  • 用来求解背包问题、把背包问题描述成数学的形式、自己写一遍算法、写出计算步骤
  • 1.x1
  • 2.求解x2(根据已知方法)写计算过程

P89.Tabu search (不确定会考)

  • 哪些要、哪些不要

P119.Mergesort

  • 先分解在合并排序的过程
  • 写出每步步骤

P133.Dynamic Programming

  • 动态规划找出最优解、相比贪心算法的优点

P138

  • 不选、选、画出图、动态规划要掌握该图
  • 背包问题的动态规划图

Lecture 3-4

P4-

  • 连通图、有向图、计算出度入度

P8.Cycle in directed graph

  • 回路存在即不能进行拓扑排序

P10.Connected undirected graph

  • 概念判断、什么是强连通图、连通图、判断这个图是不是强连通的、判断是不是完全图
  • 完全的无向图里面的边数的关系

P15.Tree

  • 什么是树、判断是不是树

P18.Graph representation

  • 图的两种存储方式、把选择的那一种画出来
  • 各自的优缺点
    • 矩阵索引快,但是空间消耗大
    • 链表慢,但是节省空间,没有无效存储、多次搜索(不知道是否正确具体参考ppt?)

P33.Prim’s algorithm

  • 根据这两个算法、画出MST、会画就可以了

P35.Topological ordering

  • 找出拓扑排序、并且解释为什么不能有环、彼此是彼此的依赖结点

Lecture 5-6

P2.What is complexity analysis?

  • 什么是算法复杂度

P4-5.Basic operations of an algorithm & What is a basic operation?

  • 不同算法的。。。排序中的遍历过程、merge比较

P7.Complexity as a function of the input - Examples

  • 常见算法的复杂度、最好的情况、最坏的情况、在什么情况下最好

P20.Average and Worst case analysis

  • 掌握最坏的情况、不用掌握平均的

P23.Relative growth rate of functions

  • 给出一个表达式,可以用Big O的形式表达出来、去掉常数项和低次项还有系数

P29.Example: O(n3), Ω(n3), and Θ(n3)

  • 上下界、O的上界、Ω的下界、Θ的确界

P36.P and NP

  • NP中N 的含义、NP是否等于P、一般是不等、说明原因

P46.How to show that a problem is N P complete I

  • 过于具体、可以简化

P47.How to show that a problem is N P complete II

  • 具体证明步骤、会证明
  • 把第二条分成两点

P48.Amortized analysis - Initial example

  • 只需要掌握基本概念、 a sequence of operations是关键词

P53.Amortized vs average-case analysis

  • 两者并不一样、AC是发生的概率,并不考虑多个步骤再平均

Lecture 7-8

P4.Binary tree

  • 二叉树的基本操作

P5.Binary search tree

  • 什么是balance search tree、大小关系、给出一个不平衡的->平衡

P20.Tree balance

  • 如何判断一棵树是否平衡

P29.Inserting

  • 要会操作、和splay tree 两个考一个

P30.Splay trees

  • 考步骤、会插入删除

P58.Red-black trees

  • 掌握四条定义、会判断是否是红黑树

最后一次复习内容

splay tree (肯定考)

  • 旋转目的是把新加入的节点放到根节点,使得方便。。。
  • 理由:因为新加入的节点很可能再次使用
  • 旋转方式:
    [图片上传失败...(image-462672-1547515591948)]

红黑树

  • 判断

    • Each node is colored either red or black.
    • The root and leaves(NIL's--叶子节点标示) are black.
    • If a node is red, its children must be black.
    • Every path from a node to a leaf must contain the same number of black nodes.
      • = Num_black(node)
  • 构造

    • Self-balancing BST
  • 插入

    • 新插入的是红色,保证第四条,并且保证BST性质
      [图片上传失败...(image-8296fb-1547515591949)]

    • 四种情况

      • z = root
        • 节点变为黑色
      • z.uncle = Red
        • Grandparent、Parent、Uncle 颜色转成相反的颜色
          [图片上传失败...(image-5e4ec7-1547515591949)]
      • z.uncle = Black(triangle)
        • 旋转Parent节点,变成线性
          [图片上传失败...(image-921444-1547515591949)]
      • z.uncle = Black(line)
        • 旋转Grandparent节点,Grandparent、Parent 颜色转成相反的颜色
          [图片上传失败...(image-1a34ff-1547515591949)]

suffix tree

  • suffix 有很多

    • s = abaaba$
      • $
      • a$
      • ba$
      • aba$
      • aaba$
      • baaba$
      • abaaba$
  • suffix trie 树

    • 可以得到三个信息
      • 有没有
      • 有几个
      • 分别从哪边开始
        [图片上传失败...(image-1f6fe5-1547515591949)]
  • 两个字符串判断公共的子串

    • 分别先往子串后面加上富豪
    • 最后标上每一层X or Y or XY,找XY层数最多的,字符最长的,把边读出来就是最长子串
      [图片上传失败...(image-43362e-1547515591949)]
      [图片上传失败...(image-e239eb-1547515591949)]

你可能感兴趣的:(考点汇总)