美文网首页云莉的技术专题
数据结构与算法总览 & 刷题方法

数据结构与算法总览 & 刷题方法

作者: 云莉6 | 来源:发表于2020-03-02 22:20 被阅读0次

《异类:不一样的成功启示录》

精通一个领域

  • Chunk it up 切碎知识点
  • Deliberate Practicing 刻意练习
  • Feedback 反馈

分解数据结构和算法

数据结构(了解每个数据结构的原理和代码框架)

  • 一维:
    • 基础:数组 array (string), 链表 linked list
    • 高级:栈 stack, 队列 queue, 双端队列 deque, 集合 set, 映射 map (hash or map), etc
  • 二维:
    • 基础:树 tree,图 graph
    • 高级:二叉搜索树 binary search tree (red-black, AVL), 堆 heap,并查集 disjoint set, 字典树 Trie, etc
  • 特殊:
    • 位运算 Bitwise, 布隆过滤器 BloomFilter
    • LRU Cache

算法(在头脑中回忆上面每种算法的思想和代码模板)

  • If-else, switch -> branch
  • for, while loop -> Iteration
  • 递归 Recursion (Divide & Conquer, Backtrace)
  • 搜索 Search: 深度优先搜索 Depth first search, 广度优先搜索 Breadth first search, A*, etc
  • 动态规划 Dynamic Programming
  • 二分查找 Binary Search
  • 贪心 Greedy
  • 数学 Math, 几何 Geometry

反馈

  • 及时反馈
  • 主动型反馈
    • 高手代码(Github, LeetCode, etc.)
  • 被动式反馈
    • code review

切题四件套

  • Clarification
  • Possible solutions
    • compare (time/space)
    • optimal (加强)
  • Coding
  • Test cases

五步刷题法

  • 刷题第一遍
    • 5 分钟:读题 + 思考
    • 直接看解法:注意!多解法,比较解法优劣
    • 背诵、默写好的解法
  • 刷题第二遍
    • 马上自己写 -> LeetCode 提交
    • 多种解法比较、体会 -> 优化
  • 刷题第三遍
    • 过了一天后,再重复做题
    • 不同解法的熟练程度 -> 专项练习
  • 刷题第四遍
    • 过了一周:反复回来练习相同题目
  • 刷题第五遍
    • 面试前一周恢复性训练
数据结构.png 算法.png

相关文章

网友评论

    本文标题:数据结构与算法总览 & 刷题方法

    本文链接:https://www.haomeiwen.com/subject/tmpikhtx.html