从零学习数据结构与算法---基础与课前准备笔记
这里开始学习 数据结构与算法相关知识,这个主要是基于 极客时间 大佬 覃超老师的 算法训练营 和 王争老师的 数据结构与算法之美。这里再次感谢两位老师,下面文章内容主要是自己作为复习使用的笔记,如果有笔误请见谅。很多内容都是出自两位老师课程ppt中的内容。
一、学习思路
在学习算法之前,先要明确学习的步骤。下面主要是 覃超老师 算法训练营 总结
精通一个领域
- Chunk it up 切碎知识点
- 庖丁解牛
- 脉络链接
- Deliberate Practicing 刻意练习
- 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
从零学习数据结构与算法---基础与课前准备笔记相关推荐
- 如何正确学习数据结构、算法这门课?
你是否曾跟我一样,因为看不懂数据结构和算法,而一度怀疑是自己太笨?实际上,很多人在第一次接触这门课时,都会有这种感觉,觉得数据结构和算法很抽象,晦涩难懂,宛如天书.正是这个原因,让很多初学者对这门课望 ...
- 【超全汇总】学习数据结构与算法,计算机基础知识,看这篇就够了【ZT帅地】2020-3-7
https://blog.csdn.net/m0_37907797/article/details/104029002 由于文章有点多,并且发的文章也不是一个系列一个系列发的,不过我的文章大部分都是围 ...
- 数据结构与算法基础-学习-19-哈夫曼解码
一.个人理解 哈夫曼树和哈夫曼编码相关概念.代码.实现思路分享,请看之前的文章链接<数据结构与算法基础-学习-17-二叉树之哈夫曼树>.<数据结构与算法基础-学习-18-哈夫曼编码& ...
- 数据结构与算法基础(青岛大学-王卓)(1)
士别三日当刮目相待,不好意思鸽了好久了,因为学习的时间不连续,所以我一直攒着,我又回来继续更新了 没有继续学习浙大的数据结构了,对比了青岛大学的王老师的这个教程我觉得更适合我一些,更入门,更详细. 课 ...
- 第六章.数据结构与算法基础
目录 第六章.数据结构与算法基础(重点) 第一节.数组与矩阵 数组 稀疏矩阵 第二节.数据结构的定义 第三节.线性表 链表详解 顺序存储与链式存储对比 队列与栈 第四节.广义表 第五节.树与二叉树 树 ...
- 数据结构稀疏矩阵的加法十字链表_学习数据结构和算法的框架思维
----------- 通知:如果本站对你学习算法有帮助,请收藏网址,并推荐给你的朋友.由于 labuladong 的算法套路太火,很多人直接拿我的 GitHub 文章去开付费专栏,价格还不便宜.我这 ...
- 在Object-C中学习数据结构与算法之排序算法
笔者在学习数据结构与算法时,尝试着将排序算法以动画的形式呈现出来更加方便理解记忆,本文配合Demo 在Object-C中学习数据结构与算法之排序算法阅读更佳. 目录 选择排序 冒泡排序 插入排序 快速 ...
- 学习数据结构和算法前瞻
我并非计算机科班出身,以前只对C.java.Matlab.Python语言有粗略的了解,以前写代码的时候只会考虑功能能实现就行了,并不考虑性能方面的问题,对数据结构与算法从未学习过,更不了解什么时间复 ...
- 02如何抓住重点,系统高效地学习数据结构与算法?
以下内容总结自极客时间王争大佬的<数据结构与算法之美>课程,本文章仅供个人学习总结. 什么是数据结构?什么是算法? 从广义上讲,数据结构就是指一组数据的存储结构.算法就是操作数据的一组方法 ...
最新文章
- Debugging Ruby in VS Code
- 用 Python 画圣诞树的 N 种玩法
- Sqoop(三)将关系型数据库中的数据导入到HDFS(包括hive,hbase中)
- ConcurrentHashMap的源码分析-tabAt
- UVALive 6257 Chemist's vows --一道题的三种解法(模拟,DFS,DP)
- Android有道词典查询功能
- ASP.NET中的Eval()和DataBinder.Eval()方法
- 04.卷积神经网络 W1.卷积神经网络
- SaaS 客户生命周期(逐字稿+PPT)
- Datawhale数据挖掘项目之task2
- 通达信 移动平均算法_涨停板这样选!首次公开通达信超级选股法使用流程(建议收藏)...
- div垂直居中和水平居中的多种方式
- ubuntu查看磁盘分区使用情况命令df
- 大数据智能营销笔记本人工智能下引入新的交互方式
- php 获取windows进程,PHP获取python进程并终止它。Xamp/Windows
- 【MySQL】MySQL的四种事务隔离级别
- 聚会通知html文件,同学聚会通知范文 聚会邀请词精美语句
- Db2插入数据溢出报错测试
- 设置硬件时间和系统时间
- 实验9-10 平面向量加法 (15 分)