冒泡排序从名字上就可以看出它的特点就像水里的气泡一样每一个气泡一步一步网上冒 一图胜前言 冒泡的基本思想就是讲两两相邻的数字进行大小比较,大的数字放在后面。 ...
分类:
编程语言 时间:
2016-08-02 06:31:41
阅读次数:
120
一、问题 咱们先不管什么KMP,来看看怎么匹配两个字符串。 问题:给定两个字符串,求第二个字符串是否包含于第一个字符串中。 为了具体化,我们以 ABCAXABCABCABX 与 ABCABCABX为例。 正所谓:暴力出奇迹,枚举是真知。(大雾)先把代码敲出来再说,后面的事后面再考虑。 暴力/朴素匹配 ...
分类:
编程语言 时间:
2016-08-01 12:06:08
阅读次数:
136
递归:在定义自身的过程中,直接或间接调用自身的一种算法 最简单的递归示例: 阶乘 求n! 分析: n!等价于 n(n-1)! 这是一个典型的递归算法题 public int recursion(int n){ if(n==0){ return 1; }else{ return n*recursion ...
分类:
编程语言 时间:
2016-07-31 20:33:18
阅读次数:
152
方法一:增量构造法 理解递归必须得理解函数到底是做什么的。 方法二:位向量法 枚举每一位选或者不选,复杂度比方法一略高但更好理解,因为与输出全排列思路差不多,满n位就输出。 缺点是输出不是按照字典序。 方法三:二进制法 稍加思考就会发现,方法二其实与二进制是对应的。 这个方法优点就是代码简单。 注意 ...
分类:
编程语言 时间:
2016-07-30 14:53:34
阅读次数:
519
A*算法思想容易理解,但要想设计出好的A*算法,则必需要全面深入了解它。在本文章中接下来的内容中,将全面深入探讨该话题。如果对该算法还没有理解的话,则请先查阅上篇文章《A*算法入门》,然后再看该文章。 一:理论篇 探讨:估值函数 A*算法之所以效率高是因为它是启发式的搜索算法。它是在Dijkstra ...
分类:
编程语言 时间:
2016-07-14 21:28:19
阅读次数:
205
一:概述 A*算法在游戏中应用是十分广泛的,许许多多的游戏在寻路方面都会考虑使用该算法(当然除该算法外,前辈们也想出很多其他办法),它是一种启发式的寻路搜索算法。今天这边重点全面分析探讨A*算法。 二:术语 此处对接下来将要讨论的内容中的相关术语约定如下: start-node :起始节点。即:用户 ...
分类:
编程语言 时间:
2016-07-12 21:29:19
阅读次数:
222
感觉写的很好,尤其是底下的公式,易懂,链接:http://www.cnblogs.com/mypride/p/4950245.html 举个例子 模式串S:a s d a s d a s d f a s d 匹配串T:a s d a s d f 如果使用朴素匹配算法—— 1 2 3 4 5 6 7 ...
分类:
编程语言 时间:
2016-07-11 13:59:20
阅读次数:
230
数学渣渣愉快的玩了一把数论,来总结一下几种常用的算法入门,不过鶸也是刚刚入门,
所以也只是粗略的记录下原理,贴下模板,以及入门题目(感受下模板怎么用的)
一、同余定理
简单粗暴的说就是:若 a-b == m 那么 a%m == b%m
这个模运算性质一眼看出。。。直接上入门水题:
Reduced ID Numbers
附AC代码(这个也没啥模板。。。。知道就好)
#includ...
分类:
其他好文 时间:
2016-07-09 20:56:07
阅读次数:
516
转载自:http://blog.csdn.net/hsqlsd/article/details/7862903 有n个点,有m条有向边,有一个点很特殊,只出不进,叫做源点,通常规定为1号点。另一个点也很特殊,只进不出,叫做汇点,通常规定为n号点。每条有向边上有两个量,容量和流量,从i到j的容量通常用 ...
分类:
编程语言 时间:
2016-07-05 23:57:07
阅读次数:
245
写给嵌入式程序员的循环冗余校验(CRC)算法入门引导 http://blog.csdn.net/liyuanbhu/article/details/7882789 前言 CRC校验(循环冗余校验)是数据通讯中最常采用的校验方式。在嵌入式软件开发中,经常要用到CRC 算法对各种数据进行校验。因此,掌握 ...
分类:
编程语言 时间:
2016-06-13 11:08:54
阅读次数:
334