E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
经典算法学习
经典算法学习
——归并排序
归并排序算法采用的是分治算法,即把两个或两个以上的有序表合并成一个新的有序表的过程。首先把待排序的序列分成若干个子序列,每个子序列都是有序的,然后把有序子序列合并成整体有序序列,这个过程也称为2路归并。实现代码已经上传至:https://github.com/chenyufeng1991/MergeSort 。 基本思想如下:将待排序序列R[0...n-1]看成是n个长度为1的有序序
CHENYUFENG1991
·
2016-02-16 17:00
归并排序
经典算法学习
——快速找出数组中两个数字,相加等于某特定值
这个算法题的描述如下:快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值。目前我假设数组中的都是各不相等的整数。这道题是我在一次面试中被问到的,由于各种原因,我没回答上来,十分尴尬。其实这道题十分简单,我们使用相对巧妙的方法来实现下。注意不使用两层循环的元素遍历。示例代码上传至:https://github.com/chenyufeng1991/SumTo100。算法描述如下:(0)首
乞力马扎罗的雪CYF
·
2016-02-05 16:49
算法设计
经典算法学习
经典算法学习
——快速找出数组中两个数字,相加等于某特定值
这个算法题的描述如下:快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值。目前我假设数组中的都是各不相等的整数。这道题是我在一次面试中被问到的,由于各种原因,我没回答上来,十分尴尬。其实这道题十分简单,我们使用相对巧妙的方法来实现下。注意不使用两层循环的元素遍历。示例代码上传至:https://github.com/chenyufeng1991/SumTo100。算法描述如下:
CHENYUFENG1991
·
2016-02-05 16:00
算法
经典算法学习
——希尔排序
希尔排序的实质就是分组插入排序,该方法又称为缩小增量排序。基本思想为:先将整个带排元素序列分割成若干个子序列(由相隔某个增量的元素组成),分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的。因此希尔排序在时间效率上比前两种方法有较大提高。示例代码上传至:
乞力马扎罗的雪CYF
·
2016-02-05 14:40
算法设计
经典算法学习
经典算法学习
——希尔排序
希尔排序的实质就是分组插入排序,该方法又称为缩小增量排序。基本思想为:先将整个带排元素序列分割成若干个子序列(由相隔某个增量的元素组成),分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的。因此希尔排序在时间效率上比前两种方法有较大提高。示例代码
CHENYUFENG1991
·
2016-02-05 14:00
算法
希尔排序
经典算法学习
——交换两个整型数据
交换两个数是在编程中经常会用到的,当然我们可以用很常见的方式来实现,也可以各种稀奇古怪的方法来做。这里我们用三种比较常规的方式来做,太过古怪的方法个人觉得没有太大必要。实例代码上传至:https://github.com/chenyufeng1991/SwapFunction(1)使用指针实现如下:////main.c//SwapFunc////Createdbychenyufengon16/2/
乞力马扎罗的雪CYF
·
2016-02-03 22:54
算法设计
经典算法学习
经典算法学习
——交换两个整型数据
交换两个数是在编程中经常会用到的,当然我们可以用很常见的方式来实现,也可以各种稀奇古怪的方法来做。这里我们用三种比较常规的方式来做,太过古怪的方法个人觉得没有太大必要。实例代码上传至:https://github.com/chenyufeng1991/SwapFunction(1)使用指针实现如下:// //main.c //SwapFunc // //Createdbychenyufen
CHENYUFENG1991
·
2016-02-03 22:00
算法
交换函数
经典算法学习
——直接选择排序
直接选择排序和直接插入排序类似,都将数据分为有序区和无序区,所不同的是直接插入排序是将无序区的第一个元素直接插入到有序区以形成一个更大的有序区;而直接选择排序是从无序区选一个最小的元素直接放到有序区的最后。示例代码上传至:https://github.com/chenyufeng1991/SelectSort算法描述如下:(1)初始时,数组全为无序区为a[0...n-1]。令i=0。(2)在无序区
乞力马扎罗的雪CYF
·
2016-02-03 20:01
算法设计
经典算法学习
经典算法学习
——直接选择排序
直接选择排序和直接插入排序类似,都将数据分为有序区和无序区,所不同的是直接插入排序是将无序区的第一个元素直接插入到有序区以形成一个更大的有序区;而直接选择排序是从无序区选一个最小的元素直接放到有序区的最后。示例代码上传至:https://github.com/chenyufeng1991/SelectSort算法描述如下:(1)初始时,数组全为无序区为a[0...n-1]。令i=0。(2)
CHENYUFENG1991
·
2016-02-03 20:00
算法
选择排序
经典算法学习
——直接插入排序
直接插入排序也是比较简单的排序,基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。示例代码上传至https://github.com/chenyufeng1991/InsertSort。具体描述如下:设数组为a[0...n-1],(1)初始时,a[0]自成为一个有序区,无序区为a[1...n-1].令i=1;(2)将a[i]并入到
乞力马扎罗的雪CYF
·
2016-02-03 18:07
算法设计
经典算法学习
经典算法学习
——直接插入排序
直接插入排序也是比较简单的排序,基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。示例代码上传至https://github.com/chenyufeng1991/InsertSort。具体描述如下:设数组为a[0...n-1],(1)初始时,a[0]自成为一个有序区,无序区为a[1...n-1].令i=1;(2)将a[i]
CHENYUFENG1991
·
2016-02-03 18:00
算法
插入排序
经典算法学习
——堆排序
堆排序是相对其他排序稍微麻烦的排序,是一种利用堆的性质进行的选择排序。堆其实是一棵完全二叉树,只要任何一个非叶节点的关键字不大于或者不小于其左右孩子节点,就可以形成堆。堆分为大顶堆和小顶堆。由上述性质可知大顶堆的堆顶的关键字是所有关键字中最大的,小顶堆的堆顶的关键字是所有关键字中最小的。堆排序同快速排序一样都是不稳定排序。示例代码上传至:https://github.com/chenyuf
乞力马扎罗的雪CYF
·
2016-02-03 13:49
算法设计
经典算法学习
经典算法学习
——堆排序
堆排序是相对其他排序稍微麻烦的排序,是一种利用堆的性质进行的选择排序。堆其实是一棵完全二叉树,只要任何一个非叶节点的关键字不大于或者不小于其左右孩子节点,就可以形成堆。堆分为大顶堆和小顶堆。由上述性质可知大顶堆的堆顶的关键字是所有关键字中最大的,小顶堆的堆顶的关键字是所有关键字中最小的。堆排序同快速排序一样都是不稳定排序。示例代码上传至:https://github.com/chenyuf
CHENYUFENG1991
·
2016-02-03 13:00
算法
堆排序
经典算法学习
——求数组里面第N大的数
关于快速排序的实现,可以参考《
经典算法学习
——快速排序》这篇博客。示例代码上传至:https://github.com/chenyufeng1991/Front-N。
乞力马扎罗的雪CYF
·
2016-02-03 12:30
算法设计
经典算法学习
经典算法学习
——求数组里面第N大的数
关于快速排序的实现,可以参考《
经典算法学习
——快速排序》这篇博客。示例代码上传至:https://github.com/chenyufeng1991/Front-N。
CHENYUFENG1991
·
2016-02-03 12:00
算法
经典算法学习
——快速排序
快速排序应该算是在面试笔试中最常用的算法了,各位面试官都非常喜欢。排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,其中的思想也是用了分治法和递归的思想。示例代码上传到:https://github.com/chenyufeng1991/QuickSort算法的基本思想是:(1)先从数列中取出一个数作为基准数(常常选第一个数);(2)分区过程,小于或等于的数全放到它的左边,
乞力马扎罗的雪CYF
·
2016-02-03 10:15
算法设计
经典算法学习
经典算法学习
——快速排序
快速排序应该算是在面试笔试中最常用的算法了,各位面试官都非常喜欢。排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,其中的思想也是用了分治法和递归的思想。示例代码上传到:https://github.com/chenyufeng1991/QuickSort算法的基本思想是:(1)先从数列中取出一个数作为基准数(常常选第一个数);(2)分区过程,比这个数大的数放到它的
CHENYUFENG1991
·
2016-02-03 10:00
算法
快速排序
经典算法学习
——冒泡排序
冒泡排序是我们学习的第一种排序算法,应该也算是最简单、最常用的排序算法了。不管怎么说,学会它是必然的。今天我们就用C语言来实现该算法。示例代码已经上传至:https://github.com/chenyufeng1991/BubbleSort算法描述如下:(1)比较相邻的前后两个数据,如果前面数据大于后面的数据,就将两个数据交换;(2)这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个
乞力马扎罗的雪CYF
·
2016-02-03 10:42
算法设计
经典算法学习
经典算法学习
——冒泡排序
冒泡排序是我们学习的第一种排序算法,应该也算是最简单、最常用的排序算法了。不管怎么说,学会它是必然的。今天我们就用C语言来实现该算法。示例代码已经上传至:https://github.com/chenyufeng1991/BubbleSort算法描述如下:(1)比较相邻的前后两个数据,如果前面数据大于后面的数据,就将两个数据交换;(2)这样对数组的第0个数据到N-1个数据进行一次遍历后,最大
CHENYUFENG1991
·
2016-02-03 10:00
算法
冒泡排序
Javascript
经典算法学习
1:产生随机数组的辅助类
辅助类 在几个经典排序算法学习部分,为方便统一测试不同算法,新建了一个辅助类,主要功能为:产生指定长度的随机数组,提供打印输出数组,交换两个元素等功能,代码如下: function ArraySortUtility(numOfElements) { this.dataArr = []; this.pos = 0; this.numOfElemen
·
2015-10-23 08:54
JavaScript
数据挖掘十大
经典算法学习
之K均值(K-means)聚类算法
基本概念• 监督学习vs.无监督学习Ø 监督学习:发现数据属性与类别属性之间的关联模式。– 通过利用这些模式来预测未知数据实例的类别属性。Ø 无监督学习:没有类别属性.– 希望探索数据以发现其中的内在结构。无监督学习包括聚类、关联规则等。• K-均值聚类算法是最著名的划分聚类算法。Ø 设实例的集合D为{x1,x2,…,xn},xi=(xi1,xi2,…,xir)
vshadow
·
2012-12-05 09:00
算法
数据挖掘
数据挖掘十大
经典算法学习
之C4.5决策树分类算法及信息熵相关
Definition决策树学习时应用最广的归纳推理算法之一。[1]它是一种逼近离散值函数的方法,对噪声数据有很好的健壮性且能够学习析取表达式。CLS,ID3,C4.5,CART均是决策树学习算法。[1]归纳学习成立存在一个基本假设:任一假设如果在足够大的训练样例集中很好地逼近目标函数,它也能在未见实例中很好地逼近目标函数。“泛化能力”决策树学习的归纳偏置是优先选择较小的树。决策树通过把实例从根节点
vshadow
·
2012-11-29 21:00
算法
数据挖掘
数据挖掘十大
经典算法学习
之Adaboost自适应增强学习算法
定义Thestrongandweaklearnabilityareequivalent.--KearnsandValiant(1989)强分类器和弱分类器是相同的,多个弱分类器组合可以达到强分类器的效果。通过迭代生成一列分类器,每个分类器都依赖于之前的一个,之前分类器错分的样本被赋予更高的权重。训练数据集D为{(x1,y1,w1),(x2,y2,w2),…,(xn,yn,wn)}。xi是输入向量,
vshadow
·
2012-11-26 22:51
数据挖掘学习笔记
数据挖掘十大
经典算法学习
之Adaboost自适应增强学习算法
定义Thestrongandweaklearnabilityareequivalent.--KearnsandValiant(1989)强分类器和弱分类器是相同的,多个弱分类器组合可以达到强分类器的效果。通过迭代生成一列分类器,每个分类器都依赖于之前的一个,之前分类器错分的样本被赋予更高的权重。训练数据集D为{(x1,y1,w1),(x2,y2,w2),…,(xn,yn,wn)}。xi是输入向量,
vshadow
·
2012-11-26 22:00
数据挖掘十大
经典算法学习
之Naive Bayes朴素贝叶斯
贝叶斯方法的提出:正概率问题:假如袋子里有M个黑球、N给白球,你伸手进去摸一个,摸出黑球的概率有多大?摸出白球的的概率有多大?解答:黑球概率P(A)=M/(M+N),白球概率P(B)=N/(M+N)。——(1)逆概率问题:事先不知道袋子里有多少个黑球、多少个白球,你怎样通过实验,预测黑白球的比例?解答:采用不放回地摸取,摸出k个球,其中m个黑球,n个白球,通过计算m、n占k的比例,来推断袋子里黑球
vshadow
·
2012-11-22 16:00
上一页
1
2
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他