Skip to content

【713-Week 预习周】预习周的总结 #5

Description

@robinhoodzz

  • 最大误区: 只做一遍
  • 拆分知识点
  • 刻意练习 => 过遍数
    • 五遍刷题法则
    • 弱项,缺陷
    • 不舒服,不爽是成长的点
  • 寻求反馈

所有复杂的算法本质是找重复的单元是什么


数据结构

  • 一维
    • 基础
      • 数组 array
      • 链表 linked list
    • 高级
      • 栈 stack
      • 队列 queue
      • 双端队列 deque
      • 集合 set
      • 映射 hashmap
  • 二维
    • 基础
      • 树 tree
      • 图 graph
    • 特殊
      • 二叉搜索树 binary search tree
      • 堆 heap
      • 字典树 trie
      • 并查集 disjoint set
  • 特殊
    • 位运算 bitwise
    • 布隆过滤器 bloom filter
    • LRU cache

算法

  • if-else 逻辑切换
  • loop 循环
  • recursive 递归 -> 自己调用自己, 处理不当容易栈溢出
    • Divide & conquer 分治
    • backtrace 回溯
  • 搜索
    • DFS(deep first search) 深度优先搜索
    • BFS(breadth first search) 广度优先搜索
    • A* 启发式搜索
  • 动态规划 DP(Dynamic Programming)
  • 二分查找 binary search
  • 贪心 greedy
  • 数学 Math, 几何 Geometry

反馈

  • 主动式(自己寻找)
    • 高手代码(LeetCode, GitHub)
    • 第一视角直播
  • 被动式
    • 高手给你指点
    • code review

切题四件套 遇题四步思考方式

  • Clarification 明确题目
  • Possible Solutions 所有可能解题方法,分析时间/空间复杂度, 找最优化
  • Coding 编码
  • Test Cases 测试用例

五遍做题法

第一遍

  • 5分钟 读题+思考
  • 直接看解法: 多种解法, 比较优劣
  • 背诵&默写好的写法

第二遍

  • 马上自己写, LeetCode提交
  • 多种解法比较, 体会, 优化

第三遍

  • 过了24h之后再做一遍
  • 不同解法熟练程度的专项练习

第四遍

  • 过了一周之后再训练

第五遍

  • 面试前一周康复性训练

备注

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions