原理冒泡排序(Bubble
Sort),又被称为气泡排序或泡沫排序。它是一种较简单的排序算法。它会遍历若干次要排序的数列,每次遍历时,它都会从前往后依次的比较相邻两个数的大小;如果前者比后者大,则交换它们的位置。这样,一次遍历之后,最大的元素就在数列的末尾!
采用相同的方法再次遍历时,第二大的元素就...
分类:
其他好文 时间:
2014-05-04 10:13:02
阅读次数:
197
假定我们让 a 除以 b,商为 q,余数为 r: q = a / b;r = a %
b;这里,不妨假定 b 大于 0。我们希望 a、b、q、r 之间维持怎样的关系呢?1.最重的一点,我们希望 q * b + r ==
a,因为这是定义余数的关系。2.如果我们改变 a 的正负号,我们希望这会改变 q...
分类:
编程语言 时间:
2014-05-04 10:07:45
阅读次数:
320
http://algs4.cs.princeton.edu/21elementary/排序算法分析:比较(Compare),交换(Exchange),如果没有使用选择排序:首先,找到最小的元素然后和第一个数做交换,然后在剩下的元素里找最小的,和第二个数做交换,一直下去。选择排序用了:
~N2/2 次...
分类:
其他好文 时间:
2014-05-04 09:59:02
阅读次数:
355
题目链接题意 :
有n个饭店,要求建k个供应点,要求每个供应点一定要建造在某个饭店的位置上,然后饭店都到最近的供应点拿货,求出所有饭店到最近的供应点的最短距离。思路 :
一开始没看出来是DP,后来想想就想通了。预处理,如果要在下标为 i 到 j 的饭店建一个供应点,那一定是在下标为(i+j)/2的位...
分类:
其他好文 时间:
2014-05-04 09:54:50
阅读次数:
208
造成的原因主要有两个:
1. 程序(*.c,*.h)中使用了中文的标点符号(全角),比如;,},+。
改成英文的标点半角符号就行了。
甚至有时候空格也会出现类似错误,删掉该空格 重新输入。
vim里面做类似替换还是很容易的。
如何看到报错的符号?
od -c hello.c > log.txt
在log中就能看到符号了
2.
如果替换成了英文标点还出错的话,还报此错误,...
分类:
其他好文 时间:
2014-05-04 09:46:17
阅读次数:
285
红黑树的性质
红黑树是一棵二叉搜索树,它在每个节点上增加了一个存储位来表示结点的颜色,可以是RED或者是BLACK,红黑树确保没有一条路径会比其它路径长2倍,因而是近似平衡的。
树中的每个结点包含5个属性:color、key、left、right、parent,如果一个结点没有子结点或者是父结点,则该结点相应指针属性的值为NIL。可以把NIL视为指向二叉搜索树
的也结点的指针...
分类:
其他好文 时间:
2014-05-04 09:39:36
阅读次数:
579
std::priority_queue
场景:
1. 对于一个任务队列,任务的优先级由任务的priority属性指明,这时候就需要优先级越高的先执行。而queue并没有排序功能,这时priority_queue是比较好的选择.
2 对于异步的task也是一样,在不断添加新的task时,当然希望优先级越高的先执行.
解析:
1. 如果需要把优先级最高的先pop,那么comp比较时需要返回false....
分类:
编程语言 时间:
2014-05-04 09:33:44
阅读次数:
382
计数排序
条件:要排序的数组的元素必须是在一定范围的,比如是1~100。在排序之前我们必须知道数组元素的范围。
思路:顾名思义:就是用一个数组来计数的。
步骤:
1、用一个数组来计数count[ ],将要排序的数组arr[ ]的元素记为数组count[ ]数组的下标,如果数组arr[]中有两个数相同就在count[]++.如count[arr[i]]++.
2、 再一次遍历数组count...
分类:
其他好文 时间:
2014-05-04 09:16:45
阅读次数:
219
6.5 继承
当然,一门语言特性如果不支持继承那么名称类就失去了价值。子类继承父类的方法如下:
class DerivedClassName(BaseClassName):
.
.
.
名称BaseClassName必须定义在一个包含派生类定义的作用域中。在基类名称的位置上,其他随意表达式都是允许的、例如,当基类定义在其他模块中,这也是可用的。
class DerivedCl...
分类:
编程语言 时间:
2014-05-04 08:59:32
阅读次数:
364
做web项目时,经常会遇到修改了代码,但浏览器端没有生效,原因是多种多样的,我会根据我遇到的情况逐步更新解决办法
1.运行的时候采用debug模式,一般情况下使用项目部署按钮右边那个按钮下的tomcat7中的run就行,如果使用的是serves中的run serves,这种情况貌似不会自动编译
2.点击project菜单下的clean选项,在打开的窗口中选择你使用的项目,ok,这样会删...
分类:
Web程序 时间:
2014-05-04 08:52:42
阅读次数:
302