
算法
爱喝可乐的loser
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
选择 | 插入排序 | C++实现
1. 选择排序初始最小值为数组第一位,向后寻找比它小的,有的话更换下标,退出本次循环后,让最小值与第第一位交换,随后直至最后一位。原创 2020-03-09 19:51:45 · 145 阅读 · 0 评论 -
归并 | 快排 C++实现
1.归并排序1.1 算法原理将一组数据一分为二。对两组数据不断递归排序,直至每组数据为最下规模。将排序好的两组数据进行合并。1.2 实现代码#include <iostream>#include <vector>void Merge(std::vector<int>&a,int left, int right, int mid){...原创 2020-03-06 18:24:57 · 170 阅读 · 0 评论 -
动态规划(一):从Fibonacci数列谈起
一.什么是动态规划动态规划其实是一种分治算法思想的延申,在将大问题化解为小问题的分治过程中,保存对这些小问题已经处理好的结果,并供后面处理更大规模的问题时直接使用这些结果。二.动态规划的特点 1.重叠子问题 2.保存子问题的解 3.所有子问题只需解决一次三.如何使用动态规划解决问题 1.定义状态 2.状态转移方程 3.状态初始化 4.返回结果A. Fibonacci问...原创 2019-07-25 16:30:12 · 321 阅读 · 0 评论 -
动态规划(二):更为复杂的状态方程
在前面我们谈到了一些简单的用动态规划解决的问题:动态规划(一):从Fibonacci数列谈起但是,在DP问题里,我们很多时候对于状态方程的递推,往往更加复杂,我们看以下几道题:A.字符串分割题目难度:Medium题目来源:牛客网题目描述:Given a string s and a dictionary of words dict, determine if s can be seg...原创 2019-07-27 17:10:01 · 311 阅读 · 0 评论 -
动态规划(三): 更为隐蔽的状态推断
前面我们探讨了dp问题的一些常见情况:动态规划(一): 从Fibonacci数列谈起动态规划(二): 更为复杂的状态方程但是DP问题很多时候初始值,状态,状态方程是非常隐蔽的,我们来看以下几道题:A.回文串分割题目难度:Hard题目来源:牛客网题目描述:Given a string s, partition s such that every substring of th...原创 2019-07-28 18:38:57 · 159 阅读 · 0 评论