自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xiazdong

本博客已停,移至 xiazdong.me

  • 博客(486)
  • 资源 (7)
  • 收藏
  • 关注

原创 【NPC】10、无向汉密尔顿回路规约到有向汉密尔顿回路

2012-12-10 08:42:03 3255

原创 【NPC】9、顶点覆盖规约到无向汉密尔顿回路

一、问题描述  二、证明

2012-12-10 07:53:17 5901

原创 【NPC】8、3SAT规约到MAX2SAT

2012-12-05 21:56:21 5246 1

原创 【NPC】7、3维匹配规约到三元集合恰当覆盖

由于这个规约比较容易,过程略,直接写结果。3DM(X,Y,Z,T){    X3C(X∪Y∪Z,T)}

2012-12-05 09:33:36 3140

原创 【NPC】6、3SAT规约到三维匹配

一、问题描述  二、证明

2012-12-05 09:32:31 12834

原创 【NPC】5、顶点覆盖规约到独立集、团问题

一、问题描述    二、证明

2012-12-04 23:31:23 12984

原创 【NPC】4、3SAT规约到独立集

一、问题描述  二、证明

2012-12-04 23:28:33 12060 2

原创 【NPC】3、3SAT规约到顶点覆盖

一、问题描述  二、证明

2012-12-04 23:25:08 7572

原创 【NPC】2、SAT规约到3SAT

一、SAT、3SAT问题描述  二、证明

2012-12-04 23:21:14 29685 6

原创 【NPC】1、NP、P、NPC概念介绍

一、P、NP、NPC概念1971年,Stephen Cook提出了第一个NPC问题:布尔可满足性问题。1973年,Leonid Levin提出了21个经典的NPC问题。1979年,Garey和Johnson出版了一本书:“Computers and Intractability: A Guide to NP-Completeness”,中文版是“计算机和难解性”,在这本书中提出

2012-12-04 23:16:22 13613 1

原创 第二数学归纳法

一般我们都是使用第一数学归纳法,但是对于第二数学归纳法,在算法导论中也是经常使用,比如22.4-2中证明算法正确性时会用到。第二数学归纳法原理是设有一个与自然数n有关的命题,如果:  (1)当n=1时,命题成立;  (2)假设当n≤k时命题成立,由此可推得当n=k+1时,命题也成立。那么,命题对于一切自然数n来说都成立。还有二元数学归纳法:在

2012-12-02 15:58:58 15677

原创 Dijkstra、Bellman_Ford、SPFA、Floyd算法复杂度比较

Dijkstra:适用于权值为非负的图的单源最短路径,用斐波那契堆的复杂度O(E+VlgV)BellmanFord:适用于权值有负值的图的单源最短路径,并且能够检测负圈,复杂度O(VE)SPFA:适用于权值有负值,且没有负圈的图的单源最短路径,论文中的复杂度O(kE),k为每个节点进入Queue的次数,且k一般但此处的复杂度证明是有问题的,其实SPFA的最坏情况应该是O(VE).Flo

2012-11-17 13:56:41 39625 3

原创 堆排序的最坏运行时间和最优运行时间

1964年Williams发明的,1992年Sedgewick发表了堆排序性能分析 "The analysis of heapsort"。所以求堆排序的最优运行时间比较难。一、最坏运行时间由于前面已经证明了:在n个元素的堆中,MAX-HEAPIFY的最坏运行时间为Ω(lgn)。如果要求堆排序的最坏运行时间,则可以假设每次MAX-HEAPIFY都是最坏

2012-11-17 13:23:39 19365 1

原创 割点、割边、双连通分支

一、割点、割边、双连通分支概念挂接点(Articulation point)就是割点(Cut Vertex)桥(Bridge)就是割边(Cut Edge)割点:v为割点,则去掉v后,图的连通分支增加。割边:v为割边,则去掉v后,图的连通分支增加。割点形式化的定义:a是割点当且仅当存在两个点u,v使得u到v的每条路径都会经过a。(去掉a后,u到v没有路径)边双

2012-11-06 13:26:18 5306

原创 第六章:堆排序

一、堆的基本概念一般我们讲的堆都是二叉堆。二叉堆简单地来说就是一个完全二叉树。完全二叉树:从左到右、从上到下塞满的一颗二叉树。满二叉树:每层都塞满的二叉树。堆分为大根堆(每个父亲都比儿子大,其中根为最大的元素)、小根堆(每个父亲都比儿子小,其中根为最小的元素)。某个节点的高度为从该节点到叶子节点经过的路径的长度,比如叶子节点的高度为0。d叉堆:一

2012-11-04 20:43:42 1608

原创 【入门算法】思维导图

图是在其他地方找到的,感觉还挺好,就拿来,虽然里面我感觉还是比较基础,但是还是有借鉴作用的。

2012-11-04 14:41:02 5865 2

原创 \r与\n的区别

\r : return 到当前行的最左边。\n: newline 向下移动一行,并不移动左右。Linux中\n表示回车+换行;Windows中\r\n表示回车+换行。Mac中\r表示回车+换行。历史:回车”(Carriage Return)和“换行”(Line Feed)这两个概念的来历和区别。 在计算机还没有出现之 前,有一种叫做电传打字机(Teletype

2012-11-04 14:16:41 79092 2

原创 Java实现内联函数

C++是否为内联函数由自己决定,Java由编译器决定。Java不支持直接声明为内联函数的,如果想让他内联,则是由编译器说了算,你只能够向编译器提出请求。final除了不能被override外,还可能实现内联。如果函数为private,则也可能是内联的。总的来说,一般的函数都不会被当做内联函数,只有声明了final后,编译器才会考虑是不是要把你的函数变成内联函数。

2012-11-03 15:46:12 5980

原创 ArrayList 源码分析

在我们刚学Java时老师一定会说ArrayList是很好用的变长数组,你只要尽管插入删除就可以了,比C++的数组控制简单多了,ArrayList是典型的自增长数组。private int size;  //数组中实际元素的数量capacity表示数组的总大小,比如arr = new int[5],则capacity=5.//initialCapacity为初始的数组大小

2012-11-03 13:10:46 2046

原创 第二十二章:图的基本算法

关于此章节的习题解答,请查阅 :https://sites.google.com/site/algorithmssolution/home/c22一、图的概念图的分类: 是否有环是否有重边是否有有向边Simple Undirected Graph(简单无向图)×××Mul

2012-10-31 14:17:09 4523

原创 分治法寻找最邻近的点对

问题描述:在二维平面内给定n个点,寻找这些点中举例最近的两个点;思路:我们发现如果要将全部的点两两比较,则最起码需要O(n^2),因此我们的思路是如果要求与某个点A距离最近的点,则需要缩小范围,不用每个点都比较;我们需要使用分治法来求解;首先我们需要定义一些变量:Px:对于点按照x坐标排序;Py:对于点按照y坐标排序;Qx:对于左部分

2012-09-25 15:56:48 9621

原创 Eclipse插件:FindBugs

FindBugs用于找出代码的bug;安装方法:进入Eclipse MarketPlace 查询FindBugs即可安装;Perspective:FindBugsView:Bug Explorer、Bug Info、Bug ReviewsBug Explorer用来显示全部的错误概览;Bug Info用来显示每个Bug的具体信息;如果要使用FindBugs,

2012-09-19 14:37:14 2520

原创 Eclipse:保存时执行format code 和 organize import动作

window --> preferences --> java --> Editor --> Save Actions选中 Perform the selected actions on save 选中 Format source code选中 organize imports这样,在保存时就能够执行 SHIFT+CTRL+O 和 CTRL+SHIFT+F

2012-09-19 13:53:19 3456 3

原创 递归解决全排列生成算法

排列:从n个元素中任取m个元素,并按照一定的顺序进行排列,称为排列;全排列:当n==m时,称为全排列;比如:集合{ 1,2,3}的全排列为:{ 1 2 3} { 1 3 2 }{ 2 1 3 }{ 2 3 1 }{ 3 2 1 }{ 3 1 2 }方法一:我们可以将这个排列问题画成图形表示,即排列枚举树,比如下图为{1,2,3

2012-09-16 23:49:07 48250 7

原创 Linux入门:使用Telnet远程登录Linux

我们前面讲过安装putty、ssh远程登录Linux,其实telnet的原理也是类似;注意点:(1)Linux端安装好并开启telnet服务;(2)windows中开启telnet服务;我们在Linux端执行:(1)yum install telnet-server(2)ntsysv开启telnet服务(3)service xinetd restart

2012-09-10 21:37:00 10466

原创 Linux入门:VIM

练习vim按键的小游戏:http://vim-adventures.com/wiki:文本编辑器的比较:http://zh.wikipedia.org/wiki/%E6%96%87%E4%BB%B6%E7%BC%96%E8%BE%91%E5%99%A8%E6%AF%94%E8%BE%83joe download:http://sourceforge.net/projects/joe-edi

2012-09-09 08:14:39 31420 2

原创 机器学习实战:多变量线性回归的实现

多元线性回归其实方法和单变量线性回归差不多,我们这里直接给出算法:computeCostMulti函数function J = computeCostMulti(X, y, theta) m = length(y); % number of training examples J = 0; predictions = X * theta; J = 1/(2*m)*

2012-09-06 14:01:34 9738 2

原创 机器学习实战:单变量线性回归的实现

一、算法实现由前面的理论,我们知道了用梯度下降解决线性回归的公式:梯度下降解决线性回归思路:算法实现:ComputeCost函数:function J = computeCost(X, y, theta) m = length(y); % number of train

2012-09-06 11:41:08 17345 7

原创 机器学习入门:Linear Regression与Normal Equation

本文会讲到: (1)另一种线性回归方法:Normal Equation;(2)Gradient Descent与Normal Equation的优缺点;前面我们通过Gradient Descent的方法进行了线性回归,但是梯度下降有如下特点:(1)需要预先选定Learning rate;(2)需要多次iteration;(3)需要Feature Scal

2012-09-06 11:35:40 28535 2

原创 机器学习入门:线性回归及梯度下降

本文会讲到:(1)线性回归的定义(2)单变量线性回归(3)cost function:评价线性回归是否拟合训练集的方法(4)梯度下降:解决线性回归的方法之一(5)feature scaling:加快梯度下降执行速度的方法(6)多变量线性回归Linear Regression  注意一句话:多变量线性回归之前必须要Feature Scaling

2012-09-06 11:33:10 134551 43

原创 机器学习入门:机器学习概论

什么是机器学习? 在1959年,Arthur Samuel:不用编程去指定机器做什么,而是让机器有能力自己学习;在1998年,Tom Mitchell:首先定义任务T,经验E,表现P,如果机器有一个任务T,随着经验E的增多,表现P也会变好,则表示机器正在经验E中学习; 以上就是对机器学习的两个定义;  机器学习在生活中也处处可见,比如:(1)在gmail

2012-09-06 11:18:02 15298 6

原创 Linux入门:操作目录和文件的命令

$PATH每个用户的PATH都是不一样的;PATH中不包含“当前目录”;(1)echo $PATH:显示PATH环境变量;(2)PATH = "$PATH":/home/xiazdong:添加路径到PATH中;配置环境变量PATH:在/etc/profile文件中配置;根据命令查询文件which命令根据PATH环境变量查询

2012-09-01 21:06:33 2800

原创 Linux入门:常用目录介绍

一、目录结构Linux的总体目录结构是遵循FHS(Filesystem Hierachy Standard);/bin:存放开机会使用到的指令以及单用户维护模式下能够使用的指令;/boot:开机会使用到的文件,包括Linux内核文件等;/dev:任何设备;/etc:配置文件;/home:用户主目录;/lib:开机时会用到的函数库;/media

2012-08-30 22:45:47 1503

原创 Linux入门:文件权限、用户、用户组

单个文件名或目录名长度不超过255字符;文件或目录的绝对路径长度不超过4096字符;一、文件所有者与用户组一个文件有很多属性,包括文件类型、文件权限、文件隐藏权限、文件所有者、用户组、文件大小、创建日期、修改日期、访问日期等,比如下面是/etc/inittab文件的属性:1.文件类型(1)d:目录;find / -type d

2012-08-30 20:10:10 15481 4

原创 Linux入门:文本编辑器(nano)

nano是GNU开发的一个Linux的最简单的文本编辑器;初始界面如下:nano test.txt  即可打开或创建文件;(1)CTRL+X:退出;(2)CTRL+O:保存;(3)CTRL+W:查询,每次CTRL+W,则查询一个,比如查询a,但是有两个a,则第一次CTRL+W查询到第一个a,第二次CTRL+W查询到第二个a;(4)F1:help;

2012-08-30 19:48:47 2768

原创 Linux入门:定制“Icon”样式

原始的Icon样式为: 我们进入http://art.gnome.org/themes/icon选择如下Icon样式:1. 点击“系统”-->“首选项”--> “主题”2.点击“主题细节”3.切换到“图标”,并选择“安装”安装后的效果如下:

2012-08-27 20:55:11 1520

原创 Linux入门:定制“window border”样式

原始window border样式如下: 如果要修改边框,则需要进入:http://art.gnome.org/themes/metacity如果我们选择:下载完后,第一步是点击“系统”-->“首选项”-->“主题”; 点击“主题细节”点击“安装”安装后的效果:

2012-08-27 20:48:39 1221

原创 Linux入门:定制“资源管理器”样式

资源管理器默认样式如下: 如果要修改,只需要到 http://art.gnome.org/themes/gtk2 下载即可;1. 点击“系统”-->“主题” 2.点击“安装主题”,并选择安装文件安装后,资源管理器的样式如下:

2012-08-27 20:34:21 1438

原创 Linux入门:定制“console ” 样式

大家是不是觉得默认的终端不好看呢?接下来我们就来改造终端:点击“编辑”-->“当前配置文件” 修改系统默认字体:  点击“颜色”,将内置方案设置为“黑底白字”点击“效果”,选择“透明背景” 效果如下,是不是漂亮一点了

2012-08-27 20:21:12 1334

原创 Linux入门:定制“登录界面”样式

初始的登录界面样式为: 如果想要更改登录样式,只需要进入:http://art.gnome.org/ ,并进入“Login window”比如我下载了:怎样安装此主题呢?步骤1:“系统”-->“管理”-->“登录屏幕” 步骤2:点击“添加”步骤3:找到安装包并安装重新登录

2012-08-27 20:16:55 3649

传智播客方立勋JDBC的ppt

这个是JDBC的ppt,挺好的;很有用!

2012-01-28

JUDE/Community

网上下不下来,好不容易找到一个。能用的。 这是一个比较小的UML建模工具; 很好用!

2012-01-28

Struts国际化源代码

这个资源是对应我的博客的源代码,免费资源,分享 http://blog.csdn.net/xiazdong/article/details/7215909

2012-01-27

黎活明 struts2 ppt

挺好的一个struts2的ppt,黎活明老师的ppt非常好

2012-01-26

JUnit chm文档

JUnit的chm的文档,方便查看; 帮助大家

2011-11-06

计算方法的总结资料~简洁但是全面

计算方法自己整理的东西!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1

2011-05-07

Source insight 3.5

编辑器~很好用~附了序列号~~能用的~放心~

2011-04-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除