Learning algorithem the hard way begining (part 1)

简介: 10000 小时法则 根据《异类-不一样的成功启示录》一书中的描述,要想在任何一个领域当中称为专家,都必须经过 10000 小时的刻意练习。具体的方法包括: Chunk it up将待学习的领域切分为细化的知识点。

10000 小时法则
1

根据《异类-不一样的成功启示录》一书中的描述,要想在任何一个领域当中称为专家,都必须经过 10000 小时的刻意练习。具体的方法包括:

Chunk it up
将待学习的领域切分为细化的知识点。在数据结构和算法领域,必须掌握的包括:

数据结构
Array
LinkedList
Stack/Queue
PriorityQueue
HashTable
Tree/Binary Tree/Binary Search Tree
Heap
Skip List
Graph
Trie Tree
BloomFilter
LRU Cache

算法
递归
排序
二分查找
搜索
哈希算法
贪心算法
分治算法
回溯算法
动态规划
字符串匹配算法
Deliberate practicing
刻意练习。刻意地,反复地练习相关领域的知识点。在初期地时候,它可能带给你的直接感受是:不舒服、不爽、枯燥,但是只要能够坚持下来长期练习,必定能够获得成功。

Feedback
获得反馈。学习相关领域时,在获取反馈时需要注意如下的几点:

及时地获取反馈
主动型反馈(主动获取)
阅读别人写的代码(Github、Leetcode)
Gogole
被动型反馈 (等待高人给予指点)
Code Review
Big-O Complexity Chart
如下图,可以直观得看到不同的时间复杂度的渐进关系:
2

Common Data Structure Operations

下图展示了常见的数据结构中,对应的常见时间和空间复杂度:
3

Array Sorting Algorithms

下图展示了常见的排序算法的时间和空间复杂度:
4

All in one

5

相关文章
|
8月前
|
机器学习/深度学习 自然语言处理 算法
ACL 2022:Graph Pre-training for AMR Parsing and Generation
抽象语义表示(AMR)以图形结构突出文本的核心语义信息。最近,预训练语言模型(PLM)分别具有AMR解析和AMR到文本生成的高级任务。
95 0
|
11月前
CF706C Hard problem
CF706C Hard problem
39 0
|
自然语言处理 算法 数据可视化
Re21:读论文 MSJudge Legal Judgment Prediction with Multi-Stage Case Representation Learning in the Real
Re21:读论文 MSJudge Legal Judgment Prediction with Multi-Stage Case Representation Learning in the Real
Re21:读论文 MSJudge Legal Judgment Prediction with Multi-Stage Case Representation Learning in the Real
|
异构计算
Re12:读论文 Se3 Semantic Self-segmentation for Abstractive Summarization of Long Legal Documents in Low
Re12:读论文 Se3 Semantic Self-segmentation for Abstractive Summarization of Long Legal Documents in Low
Re12:读论文 Se3 Semantic Self-segmentation for Abstractive Summarization of Long Legal Documents in Low
|
机器学习/深度学习 计算机视觉
Re14:读论文 ILLSI Interpretable Low-Resource Legal Decision Making
Re14:读论文 ILLSI Interpretable Low-Resource Legal Decision Making
Re14:读论文 ILLSI Interpretable Low-Resource Legal Decision Making
|
机器学习/深度学习 边缘计算 人工智能
Re0:读论文 PPNP/APPNP Predict then Propagate: Graph Neural Networks meet Personalized PageRank
Re0:读论文 PPNP/APPNP Predict then Propagate: Graph Neural Networks meet Personalized PageRank
Re0:读论文 PPNP/APPNP Predict then Propagate: Graph Neural Networks meet Personalized PageRank
|
存储 容器
Data Structures and Algorithms (English) - 7-18 Hashing - Hard Version(30 分)
Data Structures and Algorithms (English) - 7-18 Hashing - Hard Version(30 分)
192 0
Data Structures and Algorithms (English) - 7-18 Hashing - Hard Version(30 分)
|
C# C语言
|
机器学习/深度学习 人工智能 搜索推荐
Sequential Recommendation with Self-Attentive Multi-Adversarial Network
回顾推荐系统的发展,离不开模型、数据、训练方式三个维度的创新。模型层面,基于内容的推荐系统到协同过滤的矩阵分解,以及神经网络带来的序列化建模,使得用户表征和商品表征刻画越来越精细;数据层面,长短期行为的切分,基于session的推荐[1],跨场景行为的引入,数据的丰富和建模为用户兴趣的挖掘提供更多的可能;训练方式上,分布式训练框架,在线学习,高维稀疏特征处理,优化器设计,从而支撑商业化推荐系统。然而,性能提升的同时,我们也看到推荐系统的可解释性逐渐变成黑盒。用户的兴趣偏好如何表征,兴趣如何演变,不同时间点的历史行为由哪种因素主导,这一系列的问题都对现代化推荐系统的解释提出了挑战。
Sequential Recommendation with Self-Attentive  Multi-Adversarial Network
|
存储 Java 索引
Learning algorithem the hard way array (part 2)
数组(Array)是一种线性表数据结构。它用一组连续的内存空间来存储一组具有相同数据类型的数据。 上述定义当中有有几个较为关键的概念: 线性表 (Linear List)线性表是指数据排成一个线型的结构。