51dev.com IT技术开发者社区

51dev.com 技术开发者社区

深入理解 hashcode 和 hash 算法

深入理解 hashcode 和 hash 算法

摘要二进制计算的一些基础知识为什么使用hashcodeString类型的hashcode方法为什么大部分hashcode方法使用31HashMap的hash算法的实现原理(为什么右移16位,为什么要使用^位异或)HashMap为什么使用&与运算代替模运算?HashMap的容量为什么建议是2的...

计算hashCode通用计算公式

计算hashCode通用计算公式

1.java计算公式@OverridepublicinthashCode(){//设置初始值intresult=17;//假设有效域为:name,age,idCardNo,incomeAnnual,sex,brithDayintc=0;//计算name(String为对象类型,他的计算直接调用本身的...

T检验与F检验的区别(通俗理解)

T检验与F检验的区别(通俗理解)

1,T检验和F检验的由来一般而言,为了确定从样本(sample)统计结果推论至总体时所犯错的概率,我们会利用统计学家所开发的一些统计方法,进行统计检定。 通过把所得到的统计检定值,与统计学家建立了一些随机变量的概率分布(probabilitydistribution)进行比较,我们可以知道...

算法入门之一循环与递归

算法入门之一循环与递归

递归与循环理论上,任何循环都可以重写为递归的形式 有时候,为栈限制,需要尾递归java不支持尾递归有些语言没有循环语句只能使用递归改为递归的关键是发现逻辑“相似性”不能忘记递归的出口例:从0打印到n可以使用循环的语句我负责打印最后一个n 但是我前面的人负责...

用java实现快速排序算法

用java实现快速排序算法

1、算法思想     快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。(1)分治法的基本思想     分治...

KMP算法简介

KMP算法简介

KMP算法求解什么类型问题字符串匹配。给你两个字符串,寻找其中一个字符串是否包含另一个字符串,如果包含,返回包含的起始位置。讲道理 大串A(长度n)小串B(长度m) 一般匹配字符串,一个一个比,当前字符对了则比对下一个,不对了再从B的头开始比,移动一个位置;这样的时间复杂度是O(...

堆排序Heap Sort——浅显易懂+Java实现

堆排序Heap Sort——浅显易懂+Java实现

最近在恶补一些计算机基础内容,看到了堆排序,想想以前常说堆栈堆栈,但我竟然连堆有哪些应用都记不得了,所以,重温了堆排序后,我来给大家分享一下,希望能对大家有所帮助。(代码实现不采用伪代码,使用java实现,毕竟来看博客的都不想和看书一样把)    首先,堆是一...

堆排序 最大堆 最小堆 Java实现

堆排序 最大堆 最小堆 Java实现

堆排序啊,其实是一种数据结构,二叉树,二叉树分为是满二叉树和完全二叉树。一棵深度为k,且有2k-1个节点称之为满二叉树,完全二叉树:深度为k,有n个节点的二叉树,当且仅当其每一个节点都与深度为k的满二叉树中序号为1至n的节点对应时,称之为完全二叉树。话收回来,堆呢,有最大堆,最小堆,最大堆是子节点没...

快速排序原理及Java实现

快速排序原理及Java实现

1、基本思想:快速排序是我们之前学习的冒泡排序的升级,他们都属于交换类排序,都是采用不断的比较和移动来实现排序的。快速排序是一种非常高效的排序算法,它的实现,增大了记录的比较和移动的距离,将关键字较大的记录从前面直接移动到后面,关键字较小的记录从后面直接移动到前面,从而减少了总的比较次数和移动次数。...

堆排序原理及Java实现

堆排序原理及Java实现

堆是一种特殊的树形数据结构,其每个节点都有一个值,通常提到的堆都是指一颗完全二叉树,根结点的值小于(或大于)两个子节点的值,同时,根节点的两个子树也分别是一个堆。 堆排序就是利用堆(假设利用大顶堆)进行排序的方法。它的基本思想是,将待排序的序列构造成一个大顶堆。此时,整个序列的最大值就是堆...

三个故事学递归

三个故事学递归

大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘.百度百科上关于这个问题,提到了递归,但得出结论其实却是用归纳的方法,通过...

顺序主子式

顺序主子式

设有矩阵:[a  b  c d  e  f g  h  i]则一阶顺序主子式:[a]二阶顺序主子式:[a  b d  e]三阶顺序主子式:[a  b  c d  e  f g  h  i]  若n阶方阵A的顺序主子式均≠0,...

递归算法与迭代算法的区别

递归算法与迭代算法的区别

举个例子:我想求1+2+3+4+..+100的值。迭代的做法:从1到100,顺着往下累加。1+2=3,3+3=6,6+4=10,10+5=15……程序表示,inti=1,sum=0;while(i<=100){sum=sum+i;}递归的做法:我要求1到100的累加...

决策树和信息增益的理解

决策树和信息增益的理解

决策树   通俗来说,决策树分类的思想类似于找对象。现想象一个女孩的母亲要给这个女孩介绍男朋友,于是有了下面的对话:      女儿:多大年纪了?     &n...

信息增益的特征选择方法

信息增益的特征选择方法

正如我前面提到的,了开方检验(CHI)以外,信息增益(IG,InformationGain)也是非常有效的特征选择方法。但凡是特征选择,总是在将特征的重要程度量化之后再进行选择,而怎样量化特征的重要性,就成了各种方法间最大的不同。开方检验中使用特征与类别间的关联性来进行这个量化。关联性越强。特征得分...