数据结构和算法这道坎,我们总归是要迈过去的,为什么不是现在呢?
## 第一题思路
...
## 第一题代码实现
// 语言不限
...
## 第一题分析复杂度看是否有优化空间
// 能优化最好
做为刷题过程的辅助工具,配套数据结构以及基础算法的详解以及实现。
- 栈 - Stack
- 使用hash实现栈
- 使用数组实现栈
- 使用symbol+数组实现栈
- 队列 - queue
- 使用数组实现队列
- 使用hash实现队列
- 使用两个栈实现队列
- 优先队列
- 循环队列的运用-击鼓传花
- 火车车厢重排问题
- 链表 - linked-list
- 单向链表
- 双向链表
- 循环单向链表
- 如何反转单向链表
- 集合 - set
- 树 - tree
- 实现二叉搜索树
- 反转二叉树
- 字典 - dictionary
- 图 - graph
-
- 冒泡排序
- 选择排序
- 插入排序
- 归并排序
- 快速排序
- 堆排序
- 计数排序
- 桶排序
- 基数排序
-
- 求一个数组的子集
- 回溯算法
- 老鼠逃出迷宫
- 斐波那契数列的尾递归优化
- 深度优先搜索和广度优先搜索
- 组合问题
- 从一个数组中取出多个元素
- 重复子问题优化
- 斐波那契数列优化
- 斐波那契数列复杂版(上台阶/爬楼梯)优化
- 求一个数组中N个数字和为M的解
- N皇后
-
- 解析URL字符串
- 数网格中的路径
-
- 汉诺塔
- 无他术,唯勤读书而多为之,自工