/leetcode-1

算法笔记总结。包括《剑指offer》《程序员笔试面试指南》《Leetcode》相关题目

Primary LanguageJava

算法笔记

介绍:

本项目是算法学习过程中的代码部分。目前分为四个模块:

  • 第一部分:《剑指offer》题解,共67道题已完结。

  • 第二部分:《LeetCode》题解,更新中。

  • 第三部分:《程序员笔试面试指南》题解,更新中。

  • 第四部分:《算法题型分类总结》,更新中。

关于学习笔记总结部分,请移步另一项目: 学习笔记传送门

剑指offer:

LeetCode:

LeetCode专题训练

回溯法:

链表 :

动态规划:

排序专题:

程序员代码面试指南 :

chapter2 : 链表部分题目:

LeetCode官方算法精选

初级算法49题: 初级算法文档

数组系列:

字符串系列

链表系列

二叉树系列

排序系列

动态规划系列

设计系列

数学系列

其它系列

算法题型分类总结

1.冒泡排序: 原地排序,稳定排序(相邻元素大小相等时不交换),最好O(N),最坏O(N^2),平均O(N^2)
2.插入排序: 原地排序,稳定排序(可以将后面出现的元素,插入到前面出现元素的后面),最好O(N),最坏O(N^2),平均O(N^2) 3.选择排序: 原地排序,不稳定排序(每次查找剩余未排序元素最小值和前面元素交换位置,破坏稳定性),最好、最坏、平均O(N^2)
4.归并排序: 非原地排序(空间O(N)),稳定排序(子数组合并时候,将pq的放前面,q+1r放后面),最好、最坏、平均O(NLog(N))
5.快速排序: 原地排序,稳定排序(子数组合并时候,将pq的放前面,q+1r放后面),最好O(NLog(N))、最坏O(N^2、平均O(NLog(N))

注:Readme文档更新较慢,一般在一个系列完成后才会更新,具体以代码为准。