随笔分类 -  算法

摘要:今天偶尔看到了一个算法问题(八皇后问题),回想一下还是在算法课上学习过的,于是,自己总结了一下,写了这篇日志算法提出:在国际象棋棋盘上(8*8)放置八个皇后,使得任意两个皇后之间不能在同一行,同一列,也不能位于同于对角线上。问共有多少种不同的方法,并且指出各种不同的放法。算法思路: 首先我们分析一下问题的解,我们每取出一个皇后,放入一行,共有八种不同的放法,然后再放第二个皇后,同样如果不考虑规则,还是有八种放法。于是我们可以用一个八叉树来描述这个过程。从根节点开始,树每增加一层,便是多放一个皇后,直到第8层(根节点为0层),最后得到一个完全八叉树。 紧接着我们开始用深度优先遍历这个八叉... 阅读全文
posted @ 2012-04-11 17:11 雪狼的程序故事 阅读(36191) 评论(1) 推荐(6)
摘要:排序是计算机应用中的一个非常重要的操作。平常我们总会听到一些算法,但是我们总是似懂非懂的写着代码,今天我将一般常见的排序算法进行一个总结。本次总结只涉及内部排序(所谓内部排序是指在内存中进行的排序)首先说一个概念:稳定排序与非稳定排序如果一个序列中原来相同的元素,排序完成后,仍然保持着原来的顺序,那么就成为稳定排序,反之就是非稳定排序。 插入排序 (1).直接插入排序(Straiht Insertion Sort) 算法描述:如果有一个已经排好序的序列 {R(20),R(35),R(88)},当要插入一个R(66)时,需要与各... 阅读全文
posted @ 2012-03-23 18:20 雪狼的程序故事 阅读(4685) 评论(2) 推荐(2)
摘要:#define MAX(a,b) (abs((a)-(b))==((a)-(b))?(a):(b))#define MAX4(a,b) (((a)-(b)) & 0x80000000 ) ? (b) : (a) 若a > b ,则a-b的二进制最高位为0,与上任何数还是0,所以大数为a;否则,a-b为负数,二进制最高位为1,与上0x80000000(最高位为1其他为0)之后为1,所以此时的大数为b.#defineCMP(a,b)((long)((a)-(b)))>>31//两数作差,结果右移31位,即,将结果的首位(符号位)作为返回值#define MAX(a,b) 阅读全文
posted @ 2011-08-01 09:08 雪狼的程序故事 阅读(1015) 评论(0) 推荐(0)
摘要:正则表达式(二)前言:本文是前一片文章《正则表达式(一)》的续篇,在本文中讲述了正则表达式中的组与向后引用,先前向后查看,条件测试,单词边界,选择符等表达式及例子,并分析了正则引擎在执行匹配时的内部机理。 本文是Jan Goyvaerts为RegexBuddy写的教程的译文,版权归原作者所有,欢迎转载。但是为了尊重原作者和译者的劳动,请注明出处!谢谢!9. 单词边界 元字符<<\b>>也是一种对位置进行匹配的“锚”。这种匹配是0长度匹配。有4种位置被认为是“单词边界”:1) 在字符串的第一个字符前的位置(如果字符串的第一个字符是一个“单词字符”)2) 在字符串的最后一个 阅读全文
posted @ 2011-07-29 10:12 雪狼的程序故事 阅读(186) 评论(0) 推荐(0)
摘要:今天看一个处理字符串的类转载自摩诘博客园正则表达式(一)前言:半年前我对正则表达式产生了兴趣,在网上查找过不少资料,看过不少的教程,最后在使用一个正则表达式工具RegexBuddy时发现他的教程写的非常好,可以说是我目前见过最好的正则表达式教程。于是一直想把他翻译过来。这个愿望直到这个五一长假才得以实现,结果就有了这篇文章。关于本文的名字,使用“深入浅出”似乎已经太俗。但是通读原文以后,觉得只有用“深入浅出”才能准确的表达出该教程给我的感受,所以也就不能免俗了。 本文是Jan Goyvaerts为RegexBuddy写的教程的译文,版权归原作者所有,欢迎转载。但是为了尊重原作者和译者的劳动,请 阅读全文
posted @ 2011-07-29 10:11 雪狼的程序故事 阅读(299) 评论(0) 推荐(0)
摘要:#include <iostream.h>#include <stdlib.h>#define LIST_INIT_SIZE 100#define OK 1#define OVERFLOW -2#define ERROR 0typedef int Status;typedef int ElemType;typedef struct LNode{ ElemType data; struct LNode *next;} LNode,*LinkList;Status InitList_L(LinkList &L){ L=new LNode; if(!L) exit(O 阅读全文
posted @ 2011-04-10 11:29 雪狼的程序故事 阅读(733) 评论(0) 推荐(0)