算法类
双花诞
这个作者很懒,什么都没留下…
展开
-
时钟指针重合问题java实现
时钟指针重合问题java实现原创 2017-10-18 01:05:42 · 4059 阅读 · 0 评论 -
python全自动数据挖掘(预测)工具,从数据源到分类(或回归)最后结果
下面是个人使用的一个工具包,适合各类源数据,包括数据库和各种算法平台提供的数据,极少参数就能完成整个操作,其中最为重要的在与特征工作阶段,这个完成后再导入工具即可,一般默认算法就能观察出特征工程的效果,内在参数主要用于微调。https://github.com/unicord/Auto_Ml_Tool上面github有数据和demo,demo数据源来源于kaggle简单的预测比赛数据(泰坦...原创 2019-01-27 02:20:47 · 851 阅读 · 0 评论 -
python简单的五子棋ai训练(第一步,设计棋盘)
import numpy as npclass game: def __init__(self, **kwargs): self.wight = int(kwargs.get('wight', 15)) self.height = int(kwargs.get('height', 15)) '''棋盘原型 self.graphic 操作...原创 2018-06-06 23:36:33 · 8983 阅读 · 0 评论 -
Java400行代码的半科学计算机(括号+小数功能)【链表】
该代码是字符串输入字符串返回,本身开发是应用于安卓应用,所以没有设计图形界面,完全是逻辑计算,开始是打算一个方法写到底的,但是写起来不容易读,所以重构了一次,主要数据类型用的是链表(没有使用Stack运算),对是我故意的,虽然代码不怎么好,但每个单元还是做了单元测试的,暂时还没发现bug,但不保证没有。把注释去了刚好400行,我数过了,应该不算多,当然里面部分链表使用了for i循环,虽然影响原创 2018-01-04 12:50:45 · 510 阅读 · 0 评论 -
最简化随机数生成器(java)
生成随机数在JAVA中的Math类中有一个random方法可以生成,该方法生成的是一个double类型的小数,需要个位只需要*10,100以内就*100,为了保证随机数的分配均匀和尽量高的随机性,使用了多次的随机化,但总的来说效果不错但是有点麻烦,而且用法有限,对于特殊需求,比如说不需要0,或者需要35以内的随机数时就需要自己去写各种方法了,所以在这种需求下我对Math中的random方法还进行了原创 2017-11-15 22:25:43 · 827 阅读 · 0 评论 -
费波那契数列java两种实现+逼近黄金分割率功能
费波那契数列java两种实现+逼近黄金分割率功能累加)原创 2017-10-16 23:07:32 · 877 阅读 · 0 评论 -
java三种方式实现字符串反转(StringBuilder类,数组和栈)
这个没什么好说的package test;//字符反转的两种方式public class mathadd { String string = new String("Hello world"); int length = string.length(); //引用StringBuilder类的reverse方法直接实现,简单方便 public void sber() {原创 2017-10-19 14:44:49 · 3760 阅读 · 0 评论 -
数组的旋转java题目
当时看一个题想做一下,本来看起来是很简单的,觉得一个for就能解决的问题(当然肯定是能做出来的),最后的教训就是这种题下次记得用两个for。package test;import java.util.Arrays;//数组的旋转public class Rotate { //将数组前n个数旋转到末尾,主要理解循环的位置和次数, //这里使用了两个for,使用一个for需要进行原创 2017-10-26 23:14:07 · 267 阅读 · 0 评论 -
二分索引和斐波那契索引Java实现
对数据库来说索引是一个不可缺少的核心,索引方法中最简单的就是顺序索引,每次都从头读取一次,比如LinkedLsit链表的get()方法,所以一般建议使用foreach遍历,基本禁止使用for循环,因为随着循环次数增加,时间成倍增加。所以我们需要更高效的索引方式,当然我们知道有序数组的索引肯定更加容易,所以在日常工作中我们添加的元素看起来是无序的,其实每个值都会加入一个hash值,每次对数据进行查找原创 2017-10-26 22:15:30 · 627 阅读 · 0 评论 -
千万级别的希尔排序和快速排序性能测试
排序算法大家肯定都知道有什么了,时间复杂度也是到处都有,但是他们之间的差距并不直观,这里做个简单测试,仅供参考,一共测试了三个算法,直接插入排序,希尔插入排序,Arrays类自带的sort快速排序,分别做了千万级别的平均数测试和逆序数测试,对于最坏情况,对不起我做不到。。。这里建立数组的时间大概为300到400毫秒,这个主要是对比差距,绝对的数据并没有什么意义package test1;i原创 2017-11-01 22:51:04 · 3475 阅读 · 1 评论 -
最简化约瑟夫环问题的递归算法详细解析
这个问题可能每个学算法的同学都会遇见,我没那么聪明,第一次看见时做不出来,只发现一些规律,后面看到算法也挺久才看懂,这里是将别人的算法结果做一个解析,例子是暂时网上找的递归最简洁的例子:下面就以这个例子做一个解析,这个解法的实际问题就是n个东西围成一个圈,从一开始叫到m号的东西出去,求最后剩下的编号。(算法面试极为常见,就想知道你递归学的怎么样,就少用模拟法什么的了)我们肯定一眼是无法进行原创 2017-10-21 15:54:28 · 8659 阅读 · 3 评论 -
汉罗塔问题java数学模型(从数学原型到数学模型)
汉罗塔问题想必大家都知道了,然而今天我才第一次做,问题分类也很简单,递归,递归是很常用的算法,就是研究n项和n-1项的关系,下面算是自己以一个没有经验的人第一次做的思路。(又是学习记录做成教程系列)那先从简单的开始吧,首先我只用大脑只能推出前3组的移动过程,然后到4个盘子的时候基本就没有思路了,并不敢肯定之间的联系,过程一下想不出来,那就想结果吧。前几个都能推出来f(1)=1;f(2)=3原创 2017-10-28 23:56:19 · 1099 阅读 · 0 评论 -
清理字符串中的数字Java实现
package test;//清理字符串中的数字public class cleanint { //思路是用charat逐字符读取,对数字进行判读,发现有字符的用空格替代,最后删除空格 public static void main(String[] args) { // TODO Auto-generated method stub String str ="23f2br4b原创 2017-10-28 01:40:36 · 577 阅读 · 0 评论 -
任意二维矩阵的可视化打印和查询(java)
不熟悉二维数组的可以简单通过这个程序了解什么是二维数组package test;//二维矩阵的打印和查询public class double_dimension { // n为要查询的值,n1n2为矩阵的列数和行数 public static void view( int n,int n1,int n2) { int[][] ddsion = new int [n1][n2原创 2017-10-19 17:32:55 · 865 阅读 · 0 评论 -
对字符的替换的两种方式Java实现
对字符的替换的两种方式Java实现原创 2017-10-18 23:01:54 · 3379 阅读 · 0 评论 -
快速排序java实现(原址纯递归)
对于快速排序的原理就是每次选一个值,然后左边是小于这个值右边是大于这个值,但写程序做了大量的修改,最终性能与希尔插入排序和双轴快排做比较,都是不稳定排序,但从随机数来看总体慢于双轴快排,略等于希尔插入排序,现在逻辑还不够简练,有时间优化下的话性能应该还能有一定的提升。下面是代码和测试数据。 import java.time.LocalDateTime;import java.util...原创 2019-01-23 18:14:13 · 292 阅读 · 0 评论