第1课-如何有效学习和训练算法和数据结构
文章目录
- 1 精通一个领域
- 1.1 Chunk it up 切碎知识点
- 1.2 Deliberate Practicing 刻意练习
- 1.3 Feedback 反馈
- 1.4 切题四件套
- 1.5 五步刷题法
- 刷题第一遍
- 刷题第二遍
- 刷题第三遍
- 刷题第四遍
- 刷题第五遍
- 2 分解数据结构和算法
- 2.1 数据结构
- 一维:
- 二维:
- 特殊:
- 2.2 算法
- 2.3 算法脑图
- 2.4 数据结构脑图
1 精通一个领域
1.1 Chunk it up 切碎知识点
- 庖丁解牛
- 脉络连接
1.2 Deliberate Practicing 刻意练习
职业化运动
基本功是区别业余和职业选手的根本
基础动作的分解训练和反复练习刻意练习 — 过遍数(五毒神掌)
练习缺陷、弱点地方
不舒服、不爽、枯燥
生活中例子:乒乓球、台球、游戏等等
1.3 Feedback 反馈
即时反馈
主动型反馈(自己去找)
高手代码 (GitHub, LeetCode, etc.)第一视角直播
被动式反馈(高手给你指点)
code review教练看你打,给你反馈
1.4 切题四件套
Clarification 明确题目意思
Possible solutions 所有可能的解
- compare(time/space)
- optimal(加强)
Coding(多写)
Test cases 测试案例
1.5 五步刷题法
刷题第一遍
5分钟:读题 + 思考
直接看解法:注意!多解法,比较解法优劣
背诵、默写好的解法
刷题第二遍
马上自己写 —> LeetCode 提交
多种解法比较、体会 —> 优化
刷题第三遍
过了一天后,再重复做题
不同解法的熟练程度 —> 专项练习
刷题第四遍
- 过了一周:反复回来练习相同题目
刷题第五遍
- 面试前一周恢复性训练
2 分解数据结构和算法
2.1 数据结构
一维:
基础:数组 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
注意:了解每个数据结构的原理和代码框
2.2 算法
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
注意:在头脑中回忆上面每种算法的思想和代码模板
2.3 算法脑图
https://naotu.baidu.com/file/0a53d3a5343bd86375f348b2831d3610?token=5ab1de1c90d5f3ec
2.4 数据结构脑图
https://naotu.baidu.com/file/b832f043e2ead159d584cca4efb19703?token=7a6a56eb2630548c
第1课-如何有效学习和训练算法和数据结构相关推荐
- 第十一课 区块链常用共识算法介绍
上一节课我们学习了共识算法理论基础,今天我们继续深入学习区块链共识算法,通过这节课我们将了解工作量证明.权威证明.权威授权证明.实用拜占庭容错等相关内容. 在学习课程的时候,你也可以领取BaaS平台为 ...
- AI一分钟 | 教育部公布高中新课标,编程、算法思维成必修内容;李彦宏否认百度会“All in AI”
一分钟AI 李彦宏表示自己做事一向留有余地,否认百度会"All in AI". 教育部发布最新高中课程改革方案,对学生在编程.算法.人工智能和开源硬件方面的要求大幅度提升. 罗永浩 ...
- 深度学习模型训练的一般方法(以DSSM为例)
向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程 公众号:datayx 本文主要用于记录DSSM模型学习期间遇到的问题及分析.处理经验.先统领性地提出深度学习模型训练 ...
- 算法与数据结构简单启蒙,我当年学习算法走过的坑
1.碎碎念 我的算法启蒙来自于紫书算法竞赛入门经典,但是不得不说从语言过度到算法,紫书并不是一个很好的开始.当时整本书除了数学和图论其实是看完了的,但真的有印象的大约只有暴力枚举法中枚举排列,子集生成 ...
- 北大AI公开课第五课--深度学习处理器by寒武纪陈云霁
当我们想要养成一个习惯,只要不管不顾地坚持21天就可以了,不敢说这个习惯养成之后我们可以一辈子不失去,但事实是,生活就是会不断地处于各种状态,而任何状态的存在都是一种共存和和解,一开始会不适应,但是慢 ...
- 计算机新课标学习心得体会,【精品】新课标学习心得体会模板锦集10篇
[精品]新课标学习心得体会模板锦集10篇 在平日里,心中难免会有一些新的想法,马上将其记录下来,这样可以记录我们的思想活动.很多人都十分头疼怎么写一篇精彩的心得体会,下面是小编收集整理的新课标学习心得 ...
- 信息学奥赛学习、训练、测试的顺序,思路及方法
信奥学习的方法其实很简单 和学其他的学科是差不多的思路.方法和过程 1.预习(在上课的时候可以带着问题来听课) 2.课上认真听讲 良好的开端是成功的一半 3.教师讲完了相关的知识点后课上会带着学生做一 ...
- 系统回顾深度强化学习预训练,在线、离线等研究这一篇就够了
关注公众号,发现CV技术之美 本文转载自机器之心. 本文中,来自上海交通大学和腾讯的研究者系统地回顾了现有深度强化学习预训练研究,并提供了这些方法的分类,同时对每个子领域进行了探讨. 近年来,强化学习 ...
- 《Android开发高手课》学习笔记
最近在学习张绍文老师的<Android开发高手课>课程,学习到了很多的干货,特别是在处理问题的策略和知识的广度方面给了我很多的启发,对未来的学习也提供了方向. 目前,技术的发展有两个趋势. ...
- 深度学习模型训练过程
深度学习模型训练过程 一.数据准备 基本原则: 1)数据标注前的标签体系设定要合理 2)用于标注的数据集需要无偏.全面.尽可能均衡 3)标注过程要审核 整理数据集 1)将各个标签的数据放于不同的文件夹 ...
最新文章
- gdi按钮重绘背景黑色_PS快速抠图换背景教程 PS怎么抠图放在另一张图 这个方法简单万能...
- python语言入门m-Python2 教程
- centos下配置gitosis服务器
- c语言在win8系统不兼容,Win8系统中存在不兼容软件如何解决?
- python中字典长度可变吗_python中列表长度可变吗
- idea使用jar包依赖,替换掉项目依赖
- The 2014 ACM-ICPC BeiJing D - Dire Wolf HDU - 5115 区间dp
- 库存系统 代码 java_商品库存管理系统java源代码
- 重庆市中职计算机一级考试,重庆市计算机一级考试题库答案
- java刷题--69x的平方根
- 完善计算机 实践性教学,计算机基础实践性教学分析论文
- faster-RCNN tensorflow-gpu环境配置及安装出现的问题
- 还原/修改XP任务栏
- R语言学习笔记:主成分分析及因子分析
- 基本数据类型有哪些?
- 基于C#制作一个音乐播放器
- 投CVPR过程中惊险的Rebuttal环节
- Charles 抓包工具 报You may need to configure your browser or application to trust the Ch......错误
- 17. 监测 web 网站的可用性
- 防封号低风险,跨境电商必须了解的WhatsApp Business API指南