
算法
Hsuxu
程序猿
展开
-
简单字符串匹配问题-——用哈希解决
Pattern matching is the most fundamental algorithmic operation on text strings.This algorithm implements the find command available in any web browser or text editor: Problem: Substring Pattern原创 2012-10-31 19:24:15 · 2572 阅读 · 0 评论 -
教你如何迅速秒杀掉:99%的海量数据处理面试题
作者:July 出处:结构之法算法之道blog 前言 一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的一般抽象性总结。 毕竟受文章和理论之限,本文将摒弃绝转载 2013-05-29 22:43:38 · 1207 阅读 · 0 评论 -
堆排序及其分析
前言 记得在学习数据结构的时候一味的想用代码实现算法,重视的是写出来的代码有一个正确的输入,然后有一个正确的输出,那么就很满足了。从网上看了许多的代码,看了之后貌似懂了,自己写完之后也正确了,但是不久之后就忘了,因为大脑在回忆的时候,只依稀记得代码中的部分,那么的模糊,根本不能再次写出正确的代码,也许在第一次写的时候是因为参考了别人的代码,看过之后大脑可以进行短暂的高清晰记忆,于是欺转载 2013-06-23 23:40:43 · 984 阅读 · 0 评论 -
经典数据结构-trie树详解
1、 概述 Trie树,又称字典树,单词查找树或者前缀树,是一种用于快速检索的多叉树结构,如英文字母的字典树是一个26叉树,数字的字典树是一个10叉树。 Trie一词来自retrieve,发音为/tri:/ “tree”,也有人读为/traɪ/ “try”。 Trie树可以利用字符串的公共前缀来节约存储空间。如下图所示,该trie树用10个节点保存了6个字符串tea,ten,转载 2013-07-10 18:57:41 · 1531 阅读 · 0 评论 -
线性排序算法
前言 插入,快速,合并,堆排序等基于比较的排序算法的最坏情况下界为Ω(nlogn),最坏情况下都要进行Ω(nlogn)次比较。假设有一n个元素组成的数组(假设每个元素都不相等),那么一共有n!排列组合,而且这n!排列组合结果都应该在决策树的叶子节点上(如图1),在图1中n = 3,所以有3! = 6种组合全都在决策树的叶子节点,对于高度为h的二叉树,叶子节点的个数最多为2h(当为满二转载 2013-06-23 23:41:38 · 1065 阅读 · 0 评论 -
后缀数组原理及应用详解
在pongba的讨论组上看到一道Amazon的面试题:找出给定字符串里的最长回文。例子:输入XMADAMYX。则输出MADAM。这道题的流行解法是用后缀树(Suffix Tree)。这坨数据结构最酷的地方是用它能高效解决一大票复杂的字符串编程问题: 1.在文本T里查询T是否包含子串P(复杂度同流行的KMP相当)。 2.文本T里找出最长重复子串。比如abcdabcefda里abc同da都重转载 2013-07-10 19:21:33 · 1238 阅读 · 0 评论 -
LCA问题解法
11-0412 算法之LCA与RMQ问题 Category: 数据结构与算法 View: 11,480 阅 Author: Dong 作者:Dong | 新浪微博:西成懂<span class="separator"> | 可以转载, 但必须以超链接形转载 2013-07-10 19:01:04 · 1146 阅读 · 0 评论