课程设计:光城 、LeoLRH
组队学习说明:利用自己所熟知的编程语言,具有一定基础,讨论在面试中可能出现的数据结构问题,一起学习重温经典数据结构
任务路线:数组->链表->栈->队列->递归->排序->二分查找->哈希表->字符串->二叉树->堆->图->回溯->分治->动态规划
组队学习周期:14天甚至往上大概16天左右(周末进行整体整理讨论)(每天任务时间具体看任务情况)
定位人群:有一门语言基础和算法基础的同学, 每个任务完成大概所需时间:平均每天学习时间在1个小时左右,晚上统一,半个小时进行集体讨论总结打卡。
难度系数:高,小白慎入!!!
【数组】
- 实现一个支持动态扩容的数组
- 实现一个大小固定的有序数组,支持动态增删改操作
- 实现两个有序数组合并为一个有序数组
- 学习哈希表思想,并完成leetcode上的两数之和(1)及Happy Number(202)!(要求全部用哈希思想实现!)(选做)(注意:在第四天会进行继续学习)
- 练习:
Three Sum(求三数之和)
Majority Element(求众数)
Missing Positive(求缺失的第一个正数)
【链表】
- 实现单链表、循环链表、双向链表,支持增删操作
- 实现单链表反转
- 实现两个有序的链表合并为一个有序链表
- 实现求链表的中间结点
- 练习:
Linked List Cycle I(环形链表)
Merge k Sorted Lists(合并 k 个排序链表)