
算法
Foools
这个作者很懒,什么都没留下…
展开
-
指数平滑法,二次指数平滑法(Holt’s linear trend method),季节性预测算法(Holt-Winters’ seasonal method)
指数平滑法概念:对过去的观察值得加权平均值进行预测的一种方法,适用于水平历史数据一次指数平滑法:Ft+1 =aYt+(1-a)FtFt表示t时预测值,Yt表示t时观察值。t取1时,F1=Y1。a为平滑系数,介于0到1之间。最终的式子展开为平滑系数接近1:越近的值影响越大,模型对时间序列的反应越及时,适合随机波动较大的数列平滑系数接近0:更适合时间序列比较平稳的序列实际应用时,应该用均方误差来判断预测误差的大小。但是如果数据是有整体趋势的,指数平滑法并不适用(因为无论如何调整参数都是误差极大的原创 2021-06-18 14:51:03 · 11886 阅读 · 0 评论 -
递归 解决八皇后问题(java语言)
递归-解决八皇后问题在8*8的二维数组上放置8个棋子,每个棋子之间不在同一行,不在同一列,不在同一斜线,求有多少种摆法。思路:1) 第一行棋子从第一列开始摆放2) 第二行棋子从第二行第一列开始摆放,分别判断是否可行,不可行的话,就继续尝试第二行第二列,第三列,第四列……3) 继续摆放第三行的皇后,重复这个过程4) 得到一个正确的解,继续这个过程,知道第一行第一列的棋子的所有正确解都得到5) 移动第一个皇后,直至将所有列遍历package com.dataStructure;import原创 2021-03-04 21:02:38 · 378 阅读 · 1 评论 -
递归 递归解决迷宫问题
递归本质上就是自己调用自己,每次调用的时候传入不同的变量。递归调用规则:程序每执行到一个方法时,就会开辟一个独立的空间(栈)每个空间的数据(局部变量),是独立的一个方法执行完毕之后,或者遇到return,就会返回,谁调用,结果返回给谁。递归迷宫问题我们要使用递归的方法将下列map[1] [1]走到map[5] [4]。思路分析:数组中,1代表墙,2代表走过的路径,3代表死胡同,不要走1) 创建一个二维数组作为map2) 创建一个boolean类型的递归 a)原创 2021-03-04 21:01:48 · 488 阅读 · 2 评论 -
用栈实现综合计算器(加减乘除)
用栈实现综合计算器(加减乘除)输入一串字符串,输出这一串算式的计算结果。例如输入“3 + 1 * 4 % 4“;输出:4思路:1) 创建两个栈2) 按顺序遍历输入,如果是数字 a) 将数字存在一个字符串中 b) 查看下一个字符是不是数字,是的话继续存在这个字符串中 c) 遇到字符了,将拼接好的字符串push入数字栈,将临时字符串清空3) 如果是字符 a) 字符栈为空,直接入栈; b) 字符栈已有字符,则进行比较 i. 新操作符优先级原创 2021-03-04 20:56:36 · 493 阅读 · 1 评论 -
单向环形链表解决joseph约瑟夫环问题(java实现)
单向环形链表 joseph环问题Joseph问题:n个小孩坐成一圈,编号为k的小孩从1开始报数,数到m的小孩出列,下一个小孩再从1开始报数,数到m出列,直到所有人出列为止,求出列的编号队列。单向环形链表构建思路:构建:1) 先创建第一个节点,用first指向它,与自己形成环形队列。2) 每创建一个新的节点,就把该节点加入到已有的环形列表中。遍历:1) 让辅助指针cur指向first2) 通过while循环直到cur.next = first结束约瑟夫问题:1) 创建一个原创 2021-03-04 20:53:43 · 280 阅读 · 1 评论