数据结构与算法JavaScript (五) 串(经典KMP算法)KMP算法和BM算法KMP是前缀匹配和BM后缀匹配的经典算法,看得出来前缀匹配和后缀匹配的区别就仅仅在于比较的顺序不同前缀匹配是指:模式串和母串的比较从左到右,模式串的移动也是从 左到右后缀匹配是指:模式串和母串的的比较从右到左,模式串...
分类:
编程语言 时间:
2015-12-02 18:03:33
阅读次数:
308
国际权威的学术组织the IEEE International Conference on Data Mining (ICDM) 2006年12月评选出了数据挖掘领域的十大经典算法:C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, N...
分类:
编程语言 时间:
2015-11-28 10:23:04
阅读次数:
139
题目说明: 二分查找法是对一组有序的数字中进行查找,传递相应的数据,进行比较查找到与原数据相同的数据,查找到了返回对应的数组下标,失败返回-1。 题目解析: 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动...
分类:
编程语言 时间:
2015-11-25 00:23:07
阅读次数:
206
题目说明: 归并排序是建立在归并操作上的一种有效的排序算法。该算法也是采用分治法(Divide and Conquer)的一个非常典型的应用。算法复杂度为O(N*logN)。 题目解析: 归并排序是利用递归和分而治之的技术将数据序列划分成为越来越小的半子表,再对半子表排序,最后再用递归步骤将排好序的...
分类:
编程语言 时间:
2015-11-24 20:13:49
阅读次数:
186
题目说明: 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效...
分类:
编程语言 时间:
2015-11-24 12:28:32
阅读次数:
204
译者:July二零一一年一月十五日-----------------------------------------参考文献:国际权威的学术组织ICDM,于06年12月年评选出的数据挖掘领域的十大经典算法:C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaB...
分类:
编程语言 时间:
2015-11-22 23:18:20
阅读次数:
223
本文地址:http://blog.csdn.net/morewindows/article/details/12684497转载请标明出处,谢谢。欢迎关注微博:http://weibo.com/MoreWindows首先看看题目要求:数组A中,除了某一个数字x之外,其他数字都出现了三次,而x出现了一...
分类:
编程语言 时间:
2015-10-15 22:18:59
阅读次数:
254
不想废话,直接上代码,代码都是调试过的。实现的算法有:冒泡,直接选择,直接插入,归并,二叉堆,快速排序这六种。对于后三种的理解方法,请百度这个系列的文章“白话经典算法系列 ”,个人感觉作者讲的特别不错!下面贴代码#include #include //冒泡排序void BubbleSort(int ...
分类:
编程语言 时间:
2015-09-30 23:25:02
阅读次数:
464
题目说明: 给定一组数字或符号,按照字典序产生所有可能的集合(包括空集合),例如给定1 2 3,则可能的集合为:{}、{1}、{1,2}、{1,2,3}、{1,3}、{2}、{2,3}、{3}。 题目解析: 如果要产生字典顺序,例如若有4个元素,则: {} => {1} => {1,2} => {1...
分类:
编程语言 时间:
2015-09-25 16:28:21
阅读次数:
142
题目说明: 假设有个集合拥有m个元素,任意的从集合中取出n个元素,则这n个元素所形成的可能子集有那些? 题目解析: 假设有5个元素的集合,取出3个元素的可能子集如下: {1 2 3}、{1 2 4 }、{1 2 5}、{1 3 4}、{1 3 5}、{1 4 5}、{2 3 4}、{2 3 5}、{...
分类:
编程语言 时间:
2015-09-25 12:58:03
阅读次数:
163