python 数据结构与算法学习笔记day1:
1.为什么要学算法和结构:
区块链结构:
最上层区块连成表
每个区块是一个树 每个trasection(交易)就是一个叶子节点
如何有效学习算法和结构
一万个小时定律
Chunk it up 切碎知识点
知识体系分成小块 庖丁解牛
数据结构:
数据结构: 栈,队列,set, map
Priority queue 堆
Trie 字母树
Deliberate practicing 刻意练习
枯燥
feedback 反馈
及时反馈
主动反馈:主动去看高手的代码
被动反馈:code review 高手指点
2.切题4件套
Clarification
Possible solutions
-compare (time/space)
-optimal
Coding
test cases
3.时间和空间复杂度
只看最高复杂度的运算
O1
上面循环N次
下面循环N^2次
针对于海量用户高并发,节省时间提高效率
举例:斐波拉契数列
O(2^n) 时间复杂度 指数级
如何通过Leetcode刷题
注意切题四件套
Clarification
有没有我没注意到的corner case
Possible solutions
-compare (time/space)
-optimal