算法归类和总结

一、DP问题:

1、字符串编辑距离。

http://www.cnblogs.com/litao-tech/p/4121878.html

2、字符串的组合个数。

http://www.cnblogs.com/litao-tech/p/4160368.html

3、求一维数组中不重叠的两个子数组的最大和。

http://www.cnblogs.com/litao-tech/p/4163576.html

4、The Painter‘s Partition Problem Part I。

http://www.cnblogs.com/litao-tech/p/4175401.html

第一步:抽象出公式;

第二步:申请存储空间,初始化BASE CASE;

第三步:Bottom-Up填充。

在抽象出公式后,也可以用brute-force写递归,通常时间复杂度较差。

二、回溯方法:

时间: 2024-08-06 21:41:23

算法归类和总结的相关文章

归纳整理Linux下C语言常用的库函数----时间日期数学及算法

在没有IDE的时候,记住一些常用的库函数的函数名.参数.基本用法及注意事项是很有必要的. 参照Linux_C_HS.chm的目录,我大致将常用的函数分为一下几类: 1. 内存及字符串控制及操作 2. 字符串转换 3. 字符测试 4. 文件操作 5. 时间日期 6. 常用数学函数 7. 文件内容操作 8. 文件权限控制 9. 进程操作 10. 线程操作 11. Socket操作 12. 信号处理 13. 数据结构及算法 时间函数归类 /*时间函数归类 * * 函数名 用法 备注 * *1.char

协同过滤算法简介

协同过滤算法简介 协同过滤算法在推荐系统算法领域中也已经被研究了许多年,提出了不少的方法,我们就来把这些算法归类一下. 协同过滤方法的一个基本假设就是,如果用户A和用户B在一些物品偏好上,具有相似的历史标注模式或者行为习惯,那么他们在其余项目上都具有一定相似的兴趣. 协同过滤算法主要分为两大类:基于内存的方法.基于模型的方法.而协同过滤算法的难点就在于用户评价矩阵非常稀疏,缺省的值较多,存在共同评价的物品非常少. 1. 基于内存的协同过滤算法 基于内存的协同过滤算法主要就是两个代表:基于用户和基

理解一致性哈希算法

场景分析 在分布式缓存的伸缩性设计中,最主要的目标就是在新加入缓存服务器后,应该使整个服务器集群中已经缓存的数据尽可能还被访问到.对于服务器集群管理,路由算法至关重要,它决定着客户端究竟该访问集群中的哪台服务器. 余数Hash 简单的路由算法可以使用余数Hash: 用服务器数目除缓存数据key的Hash值,余数为服务器列表下标编号. 该思路的简单代码实现如下: class RemainderHash { private List<String> serverNodes; private int

那些年,曾经被我们误读的大数据 - Agenda - 世界经济论坛

body { font-family: Microsoft YaHei UI,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5; } html, body { } h1 { font-size:1.5em; font-weight:bold; } h2 { font-size:1.4em; font-weight:bo

一文让你看懂人工智能、机器学习、深度学习和强化学习的关系

如果说信息技术是第三次工业革命的核心,那么人工智能所代表的智能则是下一次工业革命的核心力量. 2016年,谷歌阿尔法围棋以4:1战胜围棋世界冠军.职业九段棋手李世石,不仅让深度学习为人们所知,而且掀起了人工智能的"大众热".此后,人工智能越来越热,从机器人开发.语音识别.图像识别.自然语言处理到专家系统等不断推陈出新. 同时,人工智能技术越来越多地融入到我们的生活中,出现了智能音箱.智能助理.智能机器人等. 根据应用领域的不同,人工智能研究的技术也不尽相同,目前以机器学习.计算机视觉等

【学习笔记】K近邻归类算法

# -*- coding:utf-8 -*- __author__ = 'Ghostviper' """ K近邻归类算法 """ from numpy import * import operator def createDataset():     group = array([         [1.0, 1.1],         [1.0, 1.0],         [0, 0],         [0, 0.1]     ])    

[转]算法的简单归类。大数据常用算法

无论是机器学习.模式识别.数据挖掘.统计学习.计算机视觉.语音识别.自然语言处理都涉及到算法. 1.树:决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法.由于这种决策分支画成图形很像一棵树的枝干,故称决策树.在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系.Entropy = 系统的凌乱程度,使用算法ID3, C4.5和

【机器学习实战】第2章 K-近邻算法(k-NearestNeighbor,KNN)

第2章 k-近邻算法 <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script> KNN 概述 k-近邻(kNN, k-NearestNeighbor)算法主要是用来进行分类的. KNN 场景 电影可以按照题材分类,那么如何区分 动作片 和 爱情片 呢? 动作片:打斗次数更多 爱情片

【转】 聚类算法-Kmeans算法的简单实现

1. 聚类与分类的区别: 首先要来了解的一个概念就是聚类,简单地说就是把相似的东西分到一组,同 Classification (分类)不同,对于一个 classifier ,通常需要你告诉它"这个东西被分为某某类"这样一些例子,理想情况下,一个 classifier 会从它得到的训练集中进行"学习",从而具备对未知数据进行分类的能力,这种提供训练数据的过程通常叫做 supervised learning (监督学习),而在聚类的时候,我们并不关心某一类是什么,我们需