什么是P问题、NP问题和NPC问题

这或许是众多OIer最大的误区之一。   你会经常看到网上出现“这怎么做,这不是NP问题吗”、“这个只有搜了,这已经被证明是NP问题了”之类的话。你要知道,大多数人此时所说的NP问题其实都是指的NPC问题。他们没有搞清楚NP问题和NPC问题的概念。NP问题并不是那种“只有搜才行”的问题,NPC问题才是。好,行了,基本上这个误解已经被澄清了。下面的内容都是在讲什么是P问题,什么是NP问题,什么是N...
阅读(241) 评论(0)

动态规划之详细分析0-1背包问题

题目:   有 N 件物品和一个容量为 V 的背包。第 i 件物品的费用是 w[i],价值是 p[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。   本文按照动态规划的标准模式解析:http://blog.csdn.net/hearthougan/article/details/53749841  0-1背包问题,表示的是每个物品只有一件,每件物品不能分割...
阅读(312) 评论(0)

动态规划总结

动态规划(Dynamic Programming, DP)思想启发于分治算法的思想,也是将复杂问题化解若干子问题,先求解小问题,再根据小问题的解得到原问题的解。但是DP与分治算法不同的是,DP分解的若干子问题,往往是互相不独立的,这时如果用分治算法求解,那么会对重叠子问题重复进行求解,从而使得浪费大量的时间。那么如果我们保存已经计算过的子问题的解,这样当再次计算该子问题时,可以直接使用,这样可以节...
阅读(2230) 评论(0)

Logistic Regression-逻辑回归

logistic回归分类的主要思想:根据现有的数据对分类边界线建立回归公式,以此分类,这里“回归”源于最佳拟合,表示要找到最佳拟合参数集。训练分类器时就是寻找最佳拟合参数。   Sigmoid函数:   Sigmoid函数的输入记为z,且,向量W就是我们要寻找的参数,向量X是分类器的输入数据。   为了实现logistic回归分类器,我们可以在每个特征上乘以一个回归系数W,再把所有的相乘...
阅读(604) 评论(2)

最大似然估计

首先看两个例子:   例1:天上有乌云,问那么下雨的概率是多少?这是一个条件概率,也称为后验概率;如果现在正在下雨,那么天上有乌云的概率是多少?这就是似然,由结果去找原因。   例2:有两个人去打一只正在吃草的鹿,一个是猎手,另一个是菜鸟,砰一声,鹿死了,那么谁最有可能打死这只鹿?这就是最大似然估计(MLE),找出导致这个结果的最有可能的原因。   最大似然估计(Maximun Likeli...
阅读(451) 评论(0)

ID3decision tree-ID3决策树实现

创建简单的数据集: 根据下图创建数据集:   图表的意思是:表中5个海洋动物,特征包括两个:1、不浮出水面是否可以生存,2、是否有脚蹼。我们可以将这些动物分成两类: 鱼类和非鱼类。 #create data set and lebels def CreateDataset(): dataset = [[1, 1, 'yes'], [1, 1,...
阅读(637) 评论(0)

K-Means聚类算法原理及实现

由于个人理解有限,难免有错误之处,欢迎指正。 k-means 聚类算法原理:     1、从包含多个数据点的数据集 D 中随机取 k 个点,作为 k 个簇的各自的中心。     2、分别计算剩下的点到 k 个簇中心的相异度,将这些元素分别划归到相异度最低的簇。两个点之间的相异度大小采用欧氏距离公式衡量,对于两个点 T0(x1,y2)和 T1(x2,y2),T0 和 T1 之间的欧氏距离为...
阅读(1561) 评论(0)

Python基础语法笔记--xrange()与range()的区别、map、filter、reduce分析、lambda表达式

xrange与range的区别     在for循环中使用xrange与range函数,利用help函数,查的他们的用法如下: range: range(...) range(stop) -> list of integers range(start, stop[, step]) -> list of integers Return a list containin...
阅读(521) 评论(0)

Google 开源项目风格指南--C++ 风格指南

文档转自:http://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/naming/ 6. 命名约定 最重要的一致性规则是命名管理. 命名风格快速获知名字代表是什么东东: 类型? 变量? 函数? 常量? 宏 ... ? 甚至不需要去查找类型声明. 我们大脑中的模式匹配引擎可以非常可靠的处理这些...
阅读(291) 评论(0)

vs debug 调试 快捷键

F1:在线帮助 Ctrl+F:查找与替换 F3: 查找下一个 Shift+F3: 查找上一个 F4:属性 Ctrl+F4:关闭当前窗体 F6: 生成解决方案 Ctrl+F6: 生成当前项目 F7: 查看代码 Shift+F7: 查看窗体设计器 F5: 启动调试 Ctrl+F5: 开始执行(不调试) Shift+F5: 停止调试 Ctrl+Shift+F5: 重...
阅读(304) 评论(0)

Windows下PING程序实现

跟着网上的代码试着敲了一遍,熟悉Ping的过程。 Ping.h //Ping.h //Define the header of IP and ICMP #pragma pack(1) #define ICMP_ECHOREPLY 0 #define ICMP_ECHOREQ 8 typedef struct tagIPHDR//the header of IP { u_char VIHL;...
阅读(934) 评论(0)

端到端可用带宽变化范围估计

论文出处:http://download.csdn.net/detail/hearthougan/9504057     以往测量可用带宽只是估计平均可用带宽,却忽略了这种度量方式在不同时间范围内的会有显著的变化。而该算法思想展示了如何在用户规定的时间范围内估计某一可用带宽的分布。如果两个估计的可用带宽所占的百分比覆盖了大部分的分布(例如10%至90%),那么用户可以得到可用带宽变化范围的有效估计...
阅读(563) 评论(0)

TCP、UDP、IP 协议分析

互连网早期的时候,主机间的互连使用的是NCP协议。这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作系统,没有纠错功能。为了改善这种缺点,大牛弄出了TCP/IP协议。现在几乎所有的操作系统都实现了TCP/IP协议栈。 TCP/IP协议栈主要分为四层:应用层、传输层、网络层、数据链路层,每层都有相应的协议,如下图   所谓的协议就是双方进行数据传输的一种格...
阅读(339) 评论(0)

#if, #elif, #else, #endif 使用

有些程序在调试、兼容性、平台移植等情况下可能想要通过简单地设置一些参数就生成一个不同的软件,这当然可以通过变量设置,把所有可能用到的代码都写进去,在初始化时配置,但在不同的情况下可能只用到一部分代码,就没必要把所有的代码都写进去,就可以用条件编译,通过预编译指令设置编译条件,在不同的需要时编译不同的代码。 (一)条件编译方法  条件编译是通过预编译指令来实现的,主要方法有: 1、#if, #...
阅读(258) 评论(0)

std::string用法总结

在平常工作中经常用到了string类,本人记忆了不好用到了的时候经常要去查询。在网上摘抄一下总结一下,为以后的查询方便: string类的构造函数: string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化string类的字符操作: const char &operator[](int n)const;...
阅读(329) 评论(0)
490条 共33页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:254804次
    • 积分:7043
    • 等级:
    • 排名:第3348名
    • 原创:471篇
    • 转载:19篇
    • 译文:0篇
    • 评论:16条