Skip to content

bsh00699/data-structure-algorithm-leetcode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 

Repository files navigation

data-structure-leetcode

十周掌握数据结构与算法的运用,所有题解在代码仓库中

说明

week_1

数组

过滤模式处理数组保序问题

设计变长数组

方案
  • 初始一个空数组arr,分配常输空间,记录实际长度(size)和容量(capacity)
  • push: 向数组尾部添加元素,如果空间不够,申请2倍大小的连续空间,拷贝到新空间,释放旧空间
  • pop: 删除数组尾部最后一个元素,若空间利用率(size / capacity)不到25%,释放一半空间
注意(思考点)
  • 均摊复杂度O(1)
  • 扩容为什么要申请执之前空间的2倍
  • 收缩空间利用率为什么是不到25%

结论

  • 保证均摊复杂度O(1),防止连续push和pop操作,,导致连续copy数组元素

链表

链表反转

链表合并

环形链表

栈与队列

单调栈

单调队列

week_2

无序集合与映射

无序集合

LRU

前缀和

双指针扫描

week_3

递归、分治、树、图

递归

分治

树的遍历

树的序列化

week_4

深度优先搜索、广度优先搜索、二叉堆、二叉搜索树

DFS(深度优先搜索)

BFS(广度优先搜索)

二叉堆

二叉搜索树

week_5

二分、排序

二分查找

三分查找

二分答案

排序

week_6

贪心、动态规划

贪心

动态规划

week_7

动态规划

week_8

字典树、并集、图论算法

字典树

并集

最短路径

week_9

字符串处理

搜索剪枝

数独

week_10

位运算

About

10 Weeks to Learn Data Structures and Algorithms

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published