问题 : 能不能在一个标准的国际象棋棋盘上放8个皇后,使她们相互之间不能互吃
具体点就是,在一个8*8的棋盘上放皇后,皇后是所有方向上都可以移动的,现在要
让她们不能互吃的话就要使得她们不会在同一条线上
具体解法:从第一行第一列的位置开始放棋子(假定列优先),然后记录其占用的
行斜直线的编号,然后放第二个棋子,在排除前面所有棋子的所占的编号的情况下
选择到有效位置,然后继续,直到放满8个棋子为止
Author Archives: 李大仁
求在10000范围内的所有质数,要求其的值等于两个质数的平方和
K= A^2 + B^2 这个要求,其中A,B是质数,K当然是要求的质数,那好解法可以这
样求一个质数,然后再求出另一个不同的,为什么不同,要是相同 K>2的话,K肯
定不质数了,好然后再平方啊,再来相加,最后再验证所得的K是不质数了,结果
出来,说实话,当你等待了N秒之后发现结构仍然没有出来之后的时候你会觉得自己
的算法该优化了,其实我开始是这么想的,
[算法]用两种求质数的算法(穷举法,筛选法),C语言实现
求质数的算法,相信很多人还是记得当年的穷举法了吧,就是不断的
让每一个数除以一个小于他的数最大到sqrt(N),然后得出结果,算法时间复杂度
O(N^2),优化过的算法O(N * sqrt(N)),经典的算法我就不讲了,初学者如果
不懂的话,可以留言,或者跟我联系
[算法]字符串匹配算法之BM算法,C语言实现
字符串匹配算法之BM算法,BM可以说是继KMP算法之后更加
优秀的字符串匹配算了,BM 是 所以称BM算法,相比KMP算法效率提高了不少,
在空间上BM算法需要一个跟匹配字符集相同的辅助空间,已存放不同的匹配字符,
比KMP要浪费不少,但是这也是BM的特色,可以在不同的字符集使用,两个字符集的
话那就放一个字符集同大小的辅助空间就好,最复杂字符就很好了,目前大部分的
高级语言比如C#都使用了BM及其改进算法(AB-BM算法)
分享几条来自微软(Microsoft)的算法设计笔试试题
今天晚间上网转了转,看到了,几条来自微软(Microsoft)的几条笔试试题,主要是针对微软学生中心的实习机会的,诸位如果想到微软实习的话,可以考虑自己做做看,感觉上对初学者比较困难,本人目前是没时间写代码了,最近忙者考试,诸位如果有想法的话,直接留言,或者可以跟我联系吧,
[算法]两种字符串匹配算法(索引法,KMP算法)对比,C语言实现
今天做了个一个简单的字符对比程序,功能是实现从A串删除包含B最多的字符的操作,比如A=“aaaaabbbbbbabababa” B=“aaccbaab”,应当删除“aab”的,不是aa,相信知道搜索引擎的朋友肯定是知道的吧,这种算法主要用于去除页面中无效的关键字,来减少收录的计算消耗的一种方法,好了,具体算法明天拿出来吧,不过今天要讲的是两种比较常用的字符串匹配算法,KMP算法,索引法
KMP算法 是Knuth, Morris, Pratt三位前人提出的字符串快速匹配算法,简称KMP算法,典的算法了,还有以后发展的BM 和AB-BM算法,KMP增加额外的数值记录索引匹配的次数
[SQL]两条学校索迪杯软件大赛预赛试卷SQL语句考试试题
今天参加了学校的索迪杯预赛考试,结果看到试卷上的日文就懵了,考这玩意要
考日文?就跟美国GRE考试要考《论语》一样,反正很变态!!
不过还有两条比较经典的SQL题目值得跟大家分享,适合SQL的初学者学习,好像俺
也就是算个初学者吧,好了,看题目。
第一题 用SQL判断今年或者某一年是否是闰年。
第二题 现有学生的课程成绩表(SCG)的包含学生ID(SID, int)、课程ID(CID ,int)、
成绩(grade ,int)这几列,求这些学生成绩中每门学科成绩的前两名,按学号排序,
不考虑成绩并列情况