博客专栏  >  编程语言   >  算法系列

算法系列

每一年秋季新学期的开始,新一轮招聘高峰即将来到。这不禁让人想起找工作的情形,人山人海.......尽可能的搜集各算法,为各个学子进入理想的IT公司做一些铺垫。

关注
11 已关注
33篇博文
  • [算法系列之三十三]杨氏矩阵

    编写一个有效的算法,搜索一个值在一个n x m表(二维数组)。这张表是沿着行和列进行--排序,也就是:                                                 ...

    2013-11-28 23:15
    1735
  • [算法系列之三十二]1的数目

    题目Given an integer n, count the total number of digit 1 appearing in all non-negative integers less ...

    2015-07-19 10:51
    1000
  • [算法系列之三十一]最近公共祖先(LCA)

    【简介】 对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。 另一种理解方式是把T理解为一个无向无环图,而LCA(T,u,v)即u...

    2015-02-02 12:58
    1396
  • [算法系列之三十]Dijkstra单源最短路径算法

    单源最短路径问题给定一个带权有向图 G=(V,E) ,其中每条边的权是一个非负实数。另外,还给定 V 中的一个顶点,称为源。现在我们要计算从源到所有其他各顶点的最短路径长度。这里的长度是指路上各边权之...

    2015-04-23 17:30
    1630
  • [算法系列之二十九]Bellman-Ford最短路径算法

    单源最短路径给定一个图,和一个源顶点src,找到从src到其它所有所有顶点的最短路径,图中可能含有负权值的边。Dijksra的算法是一个贪婪算法,时间复杂度是O(VLogV)(使用最小堆)。但是迪杰斯...

    2015-04-23 15:15
    1455
  • [算法系列之三]二叉树中序前序序列(或后序)求解树

    这种题一般有二种形式,共同点是都已知中序序列。如果没有中序序列,是无法唯一确定一棵树的。 已知二叉树的前序序列和中序序列,求解树。 1、确定树的根节点。树根是当前树中所有元素在前序遍历中最先出现的...

    2014-05-03 09:18
    1907
  • [算法系列之二]二叉树各种遍历

    树形结构是一类重要的非线性数据结构,其中以树和二叉树最为常用。 二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtre...

    2014-04-29 22:02
    5090
  • [算法系列之五]快速排序

    【分析】 【伪代码】 【运行过程】 【代码】 /********************************* * 日期:2014-04-01 * 作者:SJF011...

    2014-05-03 14:28
    1455
  • [算法系列之六]二叉查找树

    【简介】 二叉查找树是一种数据结构,它支持多种动态集合操作。 在二叉查找树上执行的基本操作的时间与树的高度成正比。对于一棵含有n个节点的完全二叉树,这些操作的最坏情况运行时间为O(n)。 【结构...

    2015-01-02 15:21
    1162
  • [算法系列之八]大数问题(高精度运算)

    【大数相加】 [cpp] view plaincopy #include   #include      char a[10001],b[10001],sum[10002]; ...

    2015-01-28 10:09
    2622
  • [算法系列之七]Manacher算法之最大回文子串

    回文串定义:“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。 回文子串,顾名思义,即字符串中满足回文性质的子串。 经常有一些题目围绕回文子串进行讨论,比如 ...

    2014-10-23 09:45
    2289
  • [算法系列之二十八]并查集(不相交集合)

    一 概述并查集(Disjoint set或者Union-find set)是一种树型的数据结构,常用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。有一个联合-查找算法(union...

    2015-03-14 22:29
    1887
  • [算法系列之二十七]Kruskal最小生成树算法

    简介求最小生成树一共有两种算法,一个是就是本文所说的Kruskal算法,另一个就是Prime算法。在详细讲解Kruskal最小生成树算法之前,让我们先回顾一下什么是最小生成树。我们有一个带权值的图,我...

    2015-03-14 17:33
    1487
  • [算法系列之九]Karatsuba快速相乘算法

    【概述】 Karatsuba乘法是一种快速乘法。此算法在1960年由Anatolii Alexeevitch Karatsuba 提出,并于1962年得以发表。 此算法主要用于两个大数相乘。普通乘法的...

    2015-01-28 18:45
    4872
  • [算法系列之四]优先级队列

    概念 优先级队列,顾名思义,就是一种根据一定优先级存储和取出数据的队列。它可以说是队列和排序的完美结合体,不仅可以存储数据,还可以将这些数据按照我们设定的规则进行排序。优先级队列是堆的一种常见应用。...

    2014-05-03 09:15
    1387
  • [算法系列之二十六]字符串匹配之KMP算法

    一 简介KMP算法是一种改进的字符串匹配算法,由D.E.Knuth与V.R.Pratt和J.H.Morris同时发现,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的关键是利用...

    2015-03-01 19:14
    1247
  • [算法系列之二十五]Ukkonen后缀树算法

    所以我们从左边开始,第一次只插入单字符”a”,通过创建一个从根节点到一个叶节点的边(根节点左边),并且标记这条边[0,#],意思是说这条边代表了从0开始到当前末尾的子串。我使用#来表示当前末尾,当前末...

    2015-02-28 15:30
    1751
  • [算法系列之二十四]后缀树(Suffix Tree)

    之前有篇文章([算法系列之二十]字典树(Trie))我们详细的介绍了字典树。有了这些基础我们就能更好的理解后缀树了。一 引言 模式匹配问题给定一个文本text[0…n-1], 和一个模式串 pat...

    2015-02-27 19:03
    2015
  • [算法系列之二十三]线段树(Interval Tree)

    一 背景在信息学竞赛中,我们经常会碰到一些跟区间有关的问题,比如给一些区 间线段求并区间的长度,或者并区间的个数等等。这些问题的描述都非常简单,但是通常情况下数据范围会非常大,而朴素方法的时间复杂度...

    2015-02-25 13:24
    3790
  • [算法系列之二十一]最短摘要的生成

    题目描述你我在百度或谷歌搜索框中敲入本博客名称的前4个字“结构之法”,便能在第一个选项看到本博客的链接,如下图2所示: 图2 谷歌中搜索关键字“结构之法”在上面所示的图2中,搜索结果“结构之法算...

    2015-02-23 16:36
    1156

ElasticSearch日记
1944010
MyBatis日记
811234
Spring实战系列
2042504
Maven实战
1018382
Java开发之路
3655375
华为机试练习题
73129596
ACM-UVA
2227371
LeetCode
160236666
剑指Offer
3774345

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部