Algorithm
文章平均质量分 93
jofranks
这个作者很懒,什么都没留下…
展开
-
【啊哈!算法】之三、交换排序
作者:jofranks 原创作品,转载请标明出处!版权所有,侵权必究!来源:http://blog.csdn.net/jofranks交换排序的基本思想是:两两比较待排序的数据,发现两个数据的次序相反则进行交换,直到没有反序的数据为止。本文交换排序有:冒泡排序,快速排序~!一、冒泡排序冒泡排序是一种稳定的排序算法,他的时间复杂度是O(n^2) 当然,当原创 2012-08-02 15:41:49 · 1293 阅读 · 2 评论 -
【啊哈,算法】之十、后缀数组,求最长重复子串
转自:http://blog.csdn.net/hackbuteer1/article/details/7968623直观的解法是,首先检测长度为 n - 1 的字符串情况,如果不存在重复则检测 n - 2, 一直递减下去,直到 1 。这种方法的时间复杂度是 O(N * N * N),其中包括三部分,长度纬度、根据长度检测的字符串数目、字符串检测。利用后缀数组后缀数原创 2013-09-21 18:14:06 · 1848 阅读 · 0 评论 -
【啊哈,算法】之九、后缀数组,字符串中连续出现最多的字串
转载自:http://blog.csdn.net/ysu108/article/details/7795479字符串“abababc”,最多连续出现的为ab,连续出现三次。要和求一个字符串中的最长重复子串区分开来,还是上面的字符串,那么最长的重复子串为abab。两个题目的解法有些类似,都用到了后缀数组这个数据结构。求一个字符串中连续出现的次数最多的子串,首先生成后缀数组例如上面的字符串为:原创 2013-09-21 17:08:37 · 1570 阅读 · 0 评论 -
【啊哈,算法】之八、串和kmp算法
字符串大家应该不陌生了!个人代码积累:先来看看串的结构定义:#includeusing namespace std;typedef char Type;#define MAXSIZE 100typedef struct String{ Type data[MAXSIZE]; int length;}String;串有许多操作,如:初始化,创建串,清空串,插入,复原创 2013-08-02 16:46:27 · 1398 阅读 · 1 评论 -
【数据结构】之一、二叉树创建,前中后序遍历
代码积累日志!http://zh.wikipedia.org/wiki/%E4%BA%8C%E5%8F%89%E6%A0%91 这里都有介绍二叉树的基本概念!下面看二叉树数据结构:#define Type chartypedef struct BiTNode{ Type data; struct BiTNode *lchild, *rchild;}BiTNode, *B原创 2013-08-02 15:45:43 · 1153 阅读 · 0 评论 -
【啊哈!算法】之二、插入排序
作者:jofranks 原创作品,转载请标明出处!版权所有,侵权必究!来源:http://blog.csdn.net/jofranks插入排序包括:直接插入排序,折半插入排序,希尔排序~!OK,下面我们就来逐个讲解!一、直接插入排序直接插入排序属于稳定的排序,时间复杂性为O(n^2),空间复杂度为O(1)。它的基本思想是: 假设待排序数据存放在原创 2012-07-31 11:59:14 · 3196 阅读 · 4 评论 -
【啊哈!算法】之七、动态规划---矩阵l链乘
在学习矩阵链乘之前,先要知道矩阵之间是如何进行乘法运算的,如果你对这个还不是很了解,那么先去看一下线性代数中矩阵的乘法这一节!OK,我们来说矩阵链乘,这是动态规划算法中的一个基础问题,在算法导论15章中也详细介绍了此算法,本文也是主要参考算法导论。我们来看一下问题: 给你N个矩阵,{A1,A2,A3,A4,......,AN},这一组矩阵必须是可以相乘的,我们要计算这N个矩阵的乘积,即:A原创 2012-10-03 18:30:33 · 3465 阅读 · 0 评论 -
【啊哈!算法】之六、动态规划简介
动态规划(dynamic programming)是通过组合子问题的解而解决整个问题的。类似于分治策略。他是运筹学的一个分支,是一种在数学和计算机科学中使用的,用于求解包含重叠子问题的最优化问题的方法。动态规划算法对每个子问题只求解一次,将其结果保存在一张表中,从而避免每次遇到各个子问题时重新计算答案。动态规划算法的设计分为四个步骤:1、描述最优解的结构。2、递归定义最原创 2012-10-01 14:06:06 · 2875 阅读 · 0 评论 -
【啊哈!算法】之一、排序算法比较
作者:jofranks 原创作品,转载请标明出处!版权所有,侵权必究!来源:http://blog.csdn.net/jofranks啊哈!算法ok我们开始,我学习东西比较喜欢对比着来学习,记得以前学习历史的时候我就是这样,将知识点通过每一个线路联系起来,列成一个表或者线路图来记忆。学习算法也来这样,但是要知道,学习的时候我们还必须要不断的去练习!原创 2012-07-28 15:58:05 · 2692 阅读 · 3 评论 -
【啊哈!算法】之五、归并排序
归并排序是利用"归并"技术来进行排序。归并是指将若干个已排序的子文件合并成一个有序的文件。这是采用分治算法的一个典型的应用!这里要讲两种:两路归并排序,归并排序~!归并排序是一种稳定的排序算法;他用顺序存储结构。也易于在链表上实现。算法复杂度: 比较操作的次数介于和。 赋值操作的次数是。最优时间复杂度O(n),最差时间复杂度O(nlogn),平均原创 2012-08-14 12:32:47 · 2523 阅读 · 0 评论 -
【啊哈!算法】之四、选择排序
选择排序的基本思想是:每一趟从待排序的数据中选出最小元素,顺序放在已排好序的数据最后,直到全部数据排序完毕。选择排序包括:简单选择排序,堆排序~!一、简单选择排序简单选择排序时一种不稳定的算法,他的时间复杂度是:O(n^2),空间复杂度就需要一个中间单元A【0】的空间!来根据图看一下排序的过程!根据图大家应该能看出来,算法的思想是:对于这一组数据,如上面的待原创 2012-08-08 14:33:21 · 1078 阅读 · 1 评论 -
贝叶斯规则
贝叶斯基本概念贝叶斯原理解析贝叶斯推导贝叶斯基本应用原创 2017-10-25 16:42:00 · 3516 阅读 · 0 评论