Giter Site home page Giter Site logo

algo-practice's Introduction

记录一些算法实践

目录

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. 《算法导论》

algo-practice's People

Contributors

qcer avatar ltinyho avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.