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

51dev.com 技术开发者社区

B~树

B~树

1.前言:动态查找树主要有:二叉查找树(BinarySearchTree),平衡二叉查找树(BalancedBinarySearchTree),红黑树(Red-BlackTree),B-tree/B+-tree/B*-tree (B~Tree)。前三者是典型的二叉查找树结构,其查找的时间复...

验证码识别分析

验证码识别分析

   前几天抢火车票,自己抢到后又帮同事抢,抢的真是不亦乐乎,这是一个惊险和恐怖的过程。同时对于很多人来讲这也是一个非常具有时代特征的过程,从大环境来讲,现在春运一票难求,一张票千人抢,但这种情况肯定会逐渐缓解,相信在过几年春运车票会好买很多;同时随着大家收入逐渐增加,...

最小二乘法拟合直线

最小二乘法拟合直线

在科学实验和生产实践中,经常需要从一组实验数据出发寻求函数y=f(x)的一个近似表达式,也称为经验公式。从几何上看,就是希望根据给定的m个点,求曲线y=f(x)的一条近似曲线。因此这是个曲线拟合问题。当我们要求近似曲线严格通过给定的每个点时,这是插值算法。对于本文所述的直线拟合来说,如果用插值算法,...

动态规划 —— 回文串(数)

动态规划 —— 回文串(数)

今天是周日,看着身边的人都去踏青了,而我泡在实验室刷了将近10题回文数(串)相关的题目,这脑袋,也不知道被啥踢了。。但愿苦心人,天不负吧。。。回文串的相关题目,变化还是不少的。本博客一点点呈现。题目包括:(1)判断回文串(数)(2)统计回文个数(将两个字符串混合)(3)回文数猜想(4)回文链表(三种...

策梅洛定理 (博弈论): Zermelo s theorem

策梅洛定理 (博弈论): Zermelo s theorem

很有意思的一个定理。策梅洛定理(英语:Zermelo'stheorem)是博弈论的一条定理,以恩斯特·策梅洛命名。定理表示在二人的有限游戏中,如果双方皆拥有完全的资讯,并且运气因素并不牵涉在游戏中,那先行或后行者当中必有一方有必胜/必不败的策略。若应用至国际象棋,则策梅洛定理表...

位与,位或,位异或运算符的理解

位与,位或,位异或运算符的理解

1.位与符号是&真值表达式为: 1&1=1,1&0=0,0&1=0,0&0=0记忆方式:&&我们很容易理解..其实就是真真才为真,相当于&&必须两个条件为真时才为真,这样是不是很好理解.用途:一般用于位清零操作,和取位...

深入理解异或操作

深入理解异或操作

接触C语言有好多年了,工作中一直没用过位操作,所以也一直没有注意异或操作。突然发现自己对异或操作理解的并不是那么深刻。好吧,重新学习一下。位操作预算有以下几种位操作运算功能   符号   用法位求反   ~&n...

异或的性质

异或的性质

异或运算^。是个很重要的位运算。简单的说:0^0=01^0=11^1=0并且有A^0=A  A^A=0并且B^A^A=B 因为B^A^A=B^(A^A)=B^0=B 然后可以利用他来交换AB的值只要这样A^=BB^=AA^=B运用距离:1-1000放在含有10...

深入理解 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实现,毕竟来看博客的都不想和看书一样把)    首先,堆是一...