Skip to content

Latest commit

 

History

History
106 lines (65 loc) · 3.75 KB

学习记录.md

File metadata and controls

106 lines (65 loc) · 3.75 KB

DataStructure

数据结构资源

书籍

课程

其他

学习记录

基本数据结构:

  • 数组
  • 链表(单向链表、单向循环链表、双向链表)
  • 栈&队列(队列双端队列、优先队列)
  • 图(最短路径的几种算法)
  • 散列表

算法:

  • 排序(~~冒泡排序、选择排序、插入排序、希尔排序、快速排序、归并排序、~~堆排序)
  • 查找(顺序查找、二分查找、二叉树查找、哈希查找)
  • 贪心算法
  • 分治算法
  • 动态规划算法
  • 回溯算法 数据结构与算法知识点思维导图

如何学好

  • 知乎答案

    • 按知识点来,一个知识点一个知识点去攻克,哪个教材某个知识点讲的好用哪个。

    • 只靠书是不够的,要善于搜索,会有很多博客分享一些例子。

    • 浙江大学、清华大学的课程好好看

    • 需要练习做题以及需要做题来检验自己

  • 左程云:程序员该如何学习算法?

    • 刷完一道题其实是一件很难的事情,因为普通解法很容易,但是最优解真得去耐着性子研究好久,去查资料,去做优化,这个过程很漫长但是足够迷人。刷题一定要追求完美

精通一个领域

  • Chunk it up (切碎知识点)

    • 要注重每块之间的脉络和联系(如下所示是数据结构之间的脉络联系)

  • Deliberate practicing (刻意练习)

    • 把每一个单独的模块拿出来重复练习
    • 练习缺陷、弱点的地方
    • 挑战不舒服、不爽、枯燥
  • Feedback(反馈)

    • 主动型反馈(自己去找比你做的更好的人)

      • 对于编程来说,去github看高手的代码
      • 看leetcode上高手是怎么写的
    • 被动型反馈(高手给你指点)

      • Code review

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

切题四件套

  • Clarification 明确题目意思

  • Possible Solutions 把所有可能的解都弄出来,用最佳解

    • compare(time/space)
    • optimal(加强)
  • Coding (多写)

  • Test Cases