码迷,mamicode.com
首页 >  
搜索关键字:算法系列    ( 410个结果
白话经典算法系列之六 高速排序 高速搞定
高速排序因为排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被採用,再加上高速排序思想----分治法也确实有用,因此非常多软件公司的笔试面试,包含像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也经常出现高速排序的身影。总的说来,要直接默写出高速排序...
分类:编程语言   时间:2015-02-28 20:05:30    阅读次数:203
[算法系列之二十四]后缀树(Suffix Tree)
之前有篇文章([算法系列之二十]字典树(Trie))我们详细的介绍了字典树。有了这些基础我们就能更好的理解后缀树了。一 引言 模式匹配问题给定一个文本text[0…n-1], 和一个模式串 pattern[0…m-1],写一个函数 search(char pattern[], char text[]), 打印出pattern在text中出现的所有位置(n > m)。这个问题已经有两个经典的算法:...
分类:编程语言   时间:2015-02-27 20:16:41    阅读次数:192
一步一步写算法(之 算法总结)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 自10月初编写算法系列的博客以来,陆陆续续以来写了几十篇。按照计划,还有三个部分的内容没有介绍,主要是(Dijkstra算法、二叉平衡树、红黑树)。这部分会在后面的博客补充完整。这里主要是做一个总...
分类:编程语言   时间:2015-02-26 14:39:46    阅读次数:213
[算法系列之二十二]包含T全部元素的最小子窗口
题目描述给定一个包含一系列字符的集合T和字符串S,请在字符串S中找到一个最小的窗口,这个窗口中必须包含T中的所有字符。 例如, S = “ADOBECODEBANC” T = “ABC”最小窗口是“BANC”分析这是一个有趣的问题,这个有趣的问题有多种方法来解决,最好的方法是非常简单,美丽的。 在这篇文章中,我首先说明了一个方法,是我第一次遇见这个问题时想到的。我的第一个方法有点复杂,同时也...
分类:编程语言   时间:2015-02-24 12:37:07    阅读次数:203
[算法系列之二十]字典树(Trie)
又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。二 优点利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希表高。三 性质(1)根节点不包含字符,除根节点外每一个节点都只包含一个字符; (2)从根节点到某一节点,路径上经过的字符连接起来,为...
分类:编程语言   时间:2015-02-21 23:28:58    阅读次数:589
白话经典算法系列之六 高速排序 高速搞定
高速排序因为排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被採用,再加上高速排序思想----分治法也确实有用,因此非常多软件公司的笔试面试,包含像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也经常出现高速排序的身影。总的说来,要直接默写出高速排序...
分类:编程语言   时间:2015-02-19 15:06:05    阅读次数:199
[算法系列之十九]最长公共子序列
有两个字符串S1和S2,求一个最长公共子串,即求字符串S3,它们同时是S1和S2的子串,且要求它们的长度最长,并确定这个长度。这个问题我们称之为最长公共子序列问题。 与求最长递增子序列一样,我们首先将原问题分割成一些子问题,我们用dp[i][j]表示S1中前i个字符和S2中前j个字符分别组成的两个前缀字符串的最长公共子串长度。显然的,当i,j较小时我们可以直接给出答案,如dp...
分类:编程语言   时间:2015-02-12 16:22:43    阅读次数:178
白话经典算法系列之中的一个 冒泡排序的三种实现
冒泡排序是很easy理解和实现,,以从小到大排序举例:设数组长度为N。1.比較相邻的前后二个数据,假设前面数据大于后面的数据,就将二个数据交换。2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。3.N=N-1,假设N不为0就反复前面二步,否则排序完毕...
分类:编程语言   时间:2015-02-11 10:44:52    阅读次数:127
[算法系列之十八]海量数据处理之BitMap
所谓的BitMap就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了bit为单位来存储数据,因此在存储空间方面,可以大大节省。二:基本思想我们用一个具体的例子来讲解,假设我们要对0-7内的5个元素(4,7,2,5,3)排序(这里假设这些元素没有重复)。那么我们就可以采用BitMap的方法来达到排序的目的。要表示8个数,我们就只需要8个bit(1Bytes)。...
分类:编程语言   时间:2015-02-07 17:30:08    阅读次数:3307
子图同构算法系列(1)
取自 1976 Ullmann Part2Naive alogrithm for Subgraph Isomorphism.1. 如何判定子图同构。 有个Gα和Gβ, Gα有pa个点,qa条边,Gβ有pb个点,qb条边。A是Gα的邻接矩阵,相应的B是Gβ的邻接矩阵。那么如何判断同构呢。设A是子图,....
分类:编程语言   时间:2015-02-07 00:28:18    阅读次数:263
410条   上一页 1 ... 28 29 30 31 32 ... 41 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!