这里开始学习 数据结构与算法相关知识,这个主要是基于 极客时间 大佬  覃超老师的 算法训练营 和  王争老师的 数据结构与算法之美。这里再次感谢两位老师,下面文章内容主要是自己作为复习使用的笔记,如果有笔误请见谅。很多内容都是出自两位老师课程ppt中的内容。

一、学习思路

在学习算法之前,先要明确学习的步骤。下面主要是 覃超老师 算法训练营 总结

精通一个领域

  1. Chunk it up 切碎知识点

    • 庖丁解牛
    • 脉络链接
  2. Deliberate Practicing 刻意练习
  3. Feedback 反馈
  • 职业化运动

  • 基本功是区别业余和职业化选手的根本
  • 基础动作的分解训练和反复练习 ——> 最大的误区

Deliberate Practicing

  • 刻意练习 —— 过遍数(五毒神掌)
  • 练习缺陷、弱点地方

    Feedback

  • 即时反馈
  • 主动型反馈(自己去找)
    • 高手代码(Github,Leetcode,etc)
    • 第一视角直播
  • 被动式反馈(高手给你指点)
    • code review

切题四件套

  • Clarification
  • Possible Solutions
    • compare (time/space)
    • optimal (加强)
  • Coding(多写)
  • Test cases

五毒神掌

第一遍

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

第二遍

  • 马上自己写 ——> Leetcode提交
  • 多种解法比较、体会 ——> 优化!

第三遍

  • 过了一天后,再重复做题
  • 不同解法的熟练程度——>专项练习

第四遍

  • 过了一周后:反复回来练习相同的题目

第五遍

  • 面试前一周恢复性训练

小结

  • 职业训练:拆分知识点、刻意练习、反馈
  • 五步刷题法
  • 做算法题最大的误区:只做一遍

数据结构与算法简单介绍:

数据结构

  • 一维:

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

算法

  • if-else,switch ——> branch
  • for,while loop ——> literation
  • 递归 Recursion (Divide & Conquer ,Backtrace)

所有高级算法或数据结构最后都会转换成以上三种

  • 搜索 Search:深度优先搜索 Depth first search, 广度优先搜索 Breadth first search,A*,etc
  • 动态规划 Dynamic Programming

  • 二分查找 Binary Search

  • 贪心 Greedy

  • 数学 Math,几何 Geometry

从零学习数据结构与算法---基础与课前准备笔记相关推荐

  1. 如何正确学习数据结构、算法这门课?

    你是否曾跟我一样,因为看不懂数据结构和算法,而一度怀疑是自己太笨?实际上,很多人在第一次接触这门课时,都会有这种感觉,觉得数据结构和算法很抽象,晦涩难懂,宛如天书.正是这个原因,让很多初学者对这门课望 ...

  2. 【超全汇总】学习数据结构与算法,计算机基础知识,看这篇就够了【ZT帅地】2020-3-7

    https://blog.csdn.net/m0_37907797/article/details/104029002 由于文章有点多,并且发的文章也不是一个系列一个系列发的,不过我的文章大部分都是围 ...

  3. 数据结构与算法基础-学习-19-哈夫曼解码

    一.个人理解 哈夫曼树和哈夫曼编码相关概念.代码.实现思路分享,请看之前的文章链接<数据结构与算法基础-学习-17-二叉树之哈夫曼树>.<数据结构与算法基础-学习-18-哈夫曼编码& ...

  4. 数据结构与算法基础(青岛大学-王卓)(1)

    士别三日当刮目相待,不好意思鸽了好久了,因为学习的时间不连续,所以我一直攒着,我又回来继续更新了 没有继续学习浙大的数据结构了,对比了青岛大学的王老师的这个教程我觉得更适合我一些,更入门,更详细. 课 ...

  5. 第六章.数据结构与算法基础

    目录 第六章.数据结构与算法基础(重点) 第一节.数组与矩阵 数组 稀疏矩阵 第二节.数据结构的定义 第三节.线性表 链表详解 顺序存储与链式存储对比 队列与栈 第四节.广义表 第五节.树与二叉树 树 ...

  6. 数据结构稀疏矩阵的加法十字链表_学习数据结构和算法的框架思维

    ----------- 通知:如果本站对你学习算法有帮助,请收藏网址,并推荐给你的朋友.由于 labuladong 的算法套路太火,很多人直接拿我的 GitHub 文章去开付费专栏,价格还不便宜.我这 ...

  7. 在Object-C中学习数据结构与算法之排序算法

    笔者在学习数据结构与算法时,尝试着将排序算法以动画的形式呈现出来更加方便理解记忆,本文配合Demo 在Object-C中学习数据结构与算法之排序算法阅读更佳. 目录 选择排序 冒泡排序 插入排序 快速 ...

  8. 学习数据结构和算法前瞻

    我并非计算机科班出身,以前只对C.java.Matlab.Python语言有粗略的了解,以前写代码的时候只会考虑功能能实现就行了,并不考虑性能方面的问题,对数据结构与算法从未学习过,更不了解什么时间复 ...

  9. 02如何抓住重点,系统高效地学习数据结构与算法?

    以下内容总结自极客时间王争大佬的<数据结构与算法之美>课程,本文章仅供个人学习总结. 什么是数据结构?什么是算法? 从广义上讲,数据结构就是指一组数据的存储结构.算法就是操作数据的一组方法 ...

最新文章

  1. Debugging Ruby in VS Code
  2. 用 Python 画圣诞树的 N 种玩法
  3. Sqoop(三)将关系型数据库中的数据导入到HDFS(包括hive,hbase中)
  4. ConcurrentHashMap的源码分析-tabAt
  5. UVALive 6257 Chemist's vows --一道题的三种解法(模拟,DFS,DP)
  6. Android有道词典查询功能
  7. ASP.NET中的Eval()和DataBinder.Eval()方法
  8. 04.卷积神经网络 W1.卷积神经网络
  9. SaaS 客户生命周期(逐字稿+PPT)
  10. Datawhale数据挖掘项目之task2
  11. 通达信 移动平均算法_涨停板这样选!首次公开通达信超级选股法使用流程(建议收藏)...
  12. div垂直居中和水平居中的多种方式
  13. ubuntu查看磁盘分区使用情况命令df
  14. 大数据智能营销笔记本人工智能下引入新的交互方式
  15. php 获取windows进程,PHP获取python进程并终止它。Xamp/Windows
  16. 【MySQL】MySQL的四种事务隔离级别
  17. 聚会通知html文件,同学聚会通知范文 聚会邀请词精美语句
  18. Db2插入数据溢出报错测试
  19. 设置硬件时间和系统时间
  20. 实验9-10 平面向量加法 (15 分)

热门文章

  1. python数字分割
  2. 压测、压力测试分析、UV、PV、通用性能提高、并发
  3. 现代化物流对应术语解释
  4. Xshell的使用方法(初学者)
  5. 无线鼠标时好时坏怎么办
  6. Arduino/stm32 智能小车设计(二)
  7. 指数、对数以及根式的运算【初级中阶辅导】
  8. JAVA客户端调用SAP提供的接口(保姆级教程)
  9. MySQL 之JDBC编程
  10. pdf分割合并工具下载和使用