Skip to content

算法实践(JavaScript & Java),排序,查找、树、两指针、动态规划等

Notifications You must be signed in to change notification settings

qcer/Algo-Practice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

记录一些算法实践

目录

Java篇

一、基础算法

  1. 七种基础排序
  2. 二叉堆
  3. K选取问题
  4. 链表判环问题
  5. N皇后问题
  6. 两指针扫描算法举例
  7. 位运算(求首个bit1,求bit1的个数,寻找奇数项)
  8. 最小栈的实现
  9. 横纵有序二维数组之元素查找
  10. A*算法
  11. 同时寻找序列的最大最小值

二、字符串

  1. 蛮力字符串匹配
  2. KMP
  3. 逆波兰表达式

三、DP和贪心算法专题

  1. 钢条切割问题
  2. 最大借书量问题
  3. 硬币收集问题
  4. 找零问题
  5. 矩阵链乘法问题
  6. 最长公共子序列(LCS)
  7. 最短编辑距离问题
  8. 最长回文子序列(LPS)
  9. 0-1背包问题
  10. DNA序列对齐问题
  11. 活动选择问题
  12. 赫夫曼编码

JavaScript篇

一、排序

  1. 冒泡排序
  2. 选择排序
  3. 插入排序
  4. 希尔排序
  5. 归并排序
  6. 快速排序
  7. 堆排序

二、查找

  1. 二分查找

三、其他

  1. 求区间问题
  2. 求第K大元素
  3. 寻找两数之和为sum的元素
  4. 平移数组
  5. 两数组第K值
  6. 数组去重
  7. 三色排序
  8. 盛水问题
  9. 数组分界值
  10. 买股票问题
  11. 随机红包问题

四、DP问题

Repost

  1. 数字三角形问题
  2. 最长递增子序列
  3. 0-1背包问题
  4. 连续子序列最大和
  5. 数字矩形最大路径和
  6. 爬楼梯
  7. 最长公共子串
  8. 最长公共子序列

五、字符串

  1. 字符判重

六、树

  1. 遍历(前、中、后序,层次遍历)
  2. 二叉搜索树
  3. 二叉搜索树最近公共祖先
  4. 二叉树最近公共祖先(一)
  5. 二叉树最近公共祖先(二)
  6. 随机构造二叉树
  7. AVL树
  8. 红黑树
  9. 左倾红黑树
  10. 翻转二叉树
  11. 中序遍历下的前驱和后继
  12. 二叉搜索树最邻近结点
  13. 二叉树路径和

参考资料

  1. 《进军硅谷》
  2. 《算法设计与分析基础》
  3. 《算法导论》

About

算法实践(JavaScript & Java),排序,查找、树、两指针、动态规划等

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages