
算法导论
介绍一些经典的算法,并对其进行分析、证明
非典型废言
苯环碳碳键键能能否否定定论一
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
剑指Offer
1. 二维数组中的查找 分析:直接暴力就完事了,只有前面class定义的话是会报错的,加上后面的就不会了,我也不知道错在哪。 # -*- coding:utf-8 -*- class Solution: # array 二维列表 def Find(self, target, array): # write code here for i in ...原创 2019-07-26 21:06:41 · 250 阅读 · 0 评论 -
LeetCode——动态规划
目录 Easy难度 Medium难度 Easy难度 Easy难度的都是一维DP,前面几道都是我们在学习dp的时候经常会遇到的例题。我认为dp的关键在于最优子结构的选择,最优子结构选择好了对应的状态转移就可以很容易的求解。建议把一些常用的最优子结构背下来(就跟当初背快排一样),遇到类似的题目直接套用或者改变就好了。我的dp解题思路为 确定使用动态规划->确定最优子结构->确定状态...原创 2019-06-19 22:33:10 · 360 阅读 · 0 评论 -
分治法解决最大子数组(Maximum subarray)问题
目录 1最大子数组和定义 2 最大子数组和的算法 3 最大子数组和算法伪代码 4 算法性能分析 5 分治问题的特点 1最大子数组和定义 最大子数组是求在数组A中找到一个连续非空且子数组元素具有最大和值的问题。 举个例子,如图所示,有一个数组,其中包含有正数和负数(如果一个数组中只有正数或者只有负数,那么其最大子数组和没有意义),那么其中用红线圈出来的就是其最大子数组,其最大子数...原创 2019-03-10 13:28:20 · 4535 阅读 · 1 评论 -
动态规划解决最长公共子序列(Longest Common Subsequence, LCS)问题
目录 1 LCS定义 2 LCS的算法 3 LCS的算法的证明 4 LCS伪代码 5倒推法重构LCS 6 动态规划的特点 1 LCS定义 假设有两个序列 x[1,..., m] 和 y[1,...,n]分别为 x: A B C B D A B y: B D C A B A 很容易观察出X,Y的最长子序列为:BDAB,BCAB,BCBA。这里要说的是,子序列只要字符在原始序...原创 2019-02-28 11:30:52 · 692 阅读 · 0 评论