虽然是用python搞机器学习的大项目,还是要从零开始学习数据结构那一套理论。不知不觉数据结构及算法系列的学习及LeetCode刷题已经一大堆,现对此汇总。
1)数据结构与算法的理论,从线性表开始,链表,栈和队列,然后是数组和字符串的一些初级理论和题目,包括双指针,二分查找。
2)接下来打算学习树的算法那些东西;
3)然后学习动态规划/贪心/排序的一些问题;
4)最后学习图算法及一些高级的问题吧,很遥远的事情。
1 链表
1.2 python数据结构之链表——倒数第k结点及链表合并
1.3 python数据结构之链表——链表右移/链表分割/链表逆序
1.4 python数据结构之链表——移除重复项及带随机指针的链表复制
1.5 python数据结构之链表——带环链表及交叉链表(双指针法)
2 栈和队列
2.2 python数据结构之栈——应用(1)括号匹配及后缀表达式
2.3 python数据结构之栈——应用(2)中缀表达式计算与函数调用栈
2.4 python数据结构之栈——应用(3)Leetcode题目解析
3 数组
3.1 双指针
3.1.1 python数组双指针算法1——求和问题(LeetCode 2sum & 3sum & 4sum)
3.1.2 python数组双指针算法2——元素交换(LeetCode Remove Duplicates from Sorted Array & Remove Element)
3.1.3 python数组双指针算法3——滑动窗口(LeetCode Subarray Product Less Than K & Container With Most Water)
3.2 其他
3.2.1 LeetCode数组类题目选做(1)—— First Missing Positive & Majority Element & Product of Array Except Self
3.2.2 LeetCode数组类题目选做(2)—— Spiral Matrix & Rotate Image & Set Matrix Zeroes