
算法学习系列
N_Sev7
Hello World
展开
-
算法学习系列之二章---KMP算法图解
一、简介KMP算法,首选域BF算法做比较…….(此处略去简介200字,至于哪200字,网上随便找一篇讲KMP算法的基本上都会先讲朴素算法);二、题外话记得大二的时候,DS课程设计就是实现KMP算法,当时也没弄太清楚(或者弄清楚了也忘记了),就知道在网上搜到了代码,然后就好用!然而这几天抱着深入学习的态度,反而有点晕,可能年纪大了吧!在网上找到很多资料把我看的直接拔电源了都!我想说的是,原创 2014-02-20 22:43:06 · 1325 阅读 · 0 评论 -
算法学习系列之初章---R-Tree
工作也有一段时间了,在完成工作的同时,自己也学到了很多的知识,今天答辩,正好对以前所做的东西,所学习到的知识做了一个总结,突然发现自己有很多东西都要忘记了,而且有些东西本来都是一些现有的算法,由于项目需求就直接“拿来主义”,根本没有吃透,所以,今天开始写blog,对以往的知识做一个记录,毕竟,有些东西自己理解的比别人讲述的更深刻,如果不能及时记下来,时间长了一样会忘记。废话了那么多,进原创 2014-02-17 23:41:57 · 4302 阅读 · 3 评论 -
大整数乘法(高精度)
对于超过20位的数的乘法问题,我们无法使用普通的方法!!!即使是longlong也会超出范围的!像这样的数,我们只能使用高精度的知识利用数组的方法解决问题!对于高精度乘法的问题,其实思路和高精度加法的思路差不多,都需要使用字符数组来存放每次算完的结果! 1 2 3 * 4 5 6 _______________转载 2015-10-10 09:47:05 · 616 阅读 · 0 评论 -
B-Tree的介绍与数据库中应用分析
在一个有100万条记录的数据表中,利用二分查找定位一条记录,大概需要20次操作,理论上也就是20次磁盘读操作,需要花费大概0.2秒,有没有办法将磁盘操作次数降到3次呢?下面我们就介绍一下如何将20次的操作降到3次。原创 2016-05-12 12:21:24 · 2149 阅读 · 0 评论 -
用进制思想解决组合问题
先对我们要解决的问题进行一个描述:如上图所示,原来有个字符串”123”,现在有个对应关系,可以把1换成”A”,”a”,”甲”,可以把2换成”B”,”b”,可以把3换成”C”,那么,有多少种组合字符串的方式呢(注意顺序不变),我们可以计算得到4*3*2 = 24种组合方式(包括原字符串”123”在内)。我们用0~23这24个数字来给所有原创 2016-07-30 20:51:36 · 759 阅读 · 0 评论 -
“挖坑填坑”理解快速排序
快速排序的基本思路:找一个基准元素,对数组进行调整,调整的标准是,这个基准元素的左边存放的都是比这个元素小的,右边都是比这个元素大的。然后分而治之,对左右两边的子数组利用同样的规则调整,调整到每一个子数组中都只有一个元素时结束。 基本思想很简单,主要是理解如何在确定基准元素之后,对数组(子数组)进行调整,下面举个例子,用“挖坑填坑”(拆了东墙补西墙)的比喻来理解一次调整的过程。一个无原创 2017-09-21 21:27:01 · 1881 阅读 · 0 评论 -
对比快速排序,理解归并排序
快速排序:先治后分归并排序:先分后治快排的治:将给定的元素调整到适当的位置,是的这个元素的左边都比它小,右边都比它大。归并的治:合并两个有序的数组。原创 2017-09-22 10:58:50 · 2203 阅读 · 0 评论