算法
文章平均质量分 95
liuyukuan
擅长RDA(Robotic Desktop Automation)、数据处理、工具优化;致力于简化工作、提高效率!Geek
展开
-
那些惊艳的算法—时间轮任务调度(sunwind整理)
戳这⾥下载:[《Hashed and Hierarchical Timing Wheels》](http://oss.lanjingdejia.com/file/2018/9/3361e5c57df44e719eadd68759017dac-twheel.ps)论⽂中的思路很简单但也⼗分巧妙,对算法不断的改进对⽐,各种操作系统,框架中的基于时间的调度算法都是基于时间轮的思想实现的。下⾯我们来看看,这个神奇的时间轮到底是怎样实现定时任务的调度的。...原创 2022-07-01 09:17:33 · 1215 阅读 · 0 评论 -
中缀表达式转后缀表达式
2.1)规则中缀表达式a + b*c + (d * e + f) * g,其转换成后缀表达式则为a b c * + d e * f + g * +。转换过程需要用到栈,具体过程如下:1.从左到右进行遍历2.运算数(操作数), 直接输出.3.左括号,直接压入堆栈 , (括号是最高优先级,无需比较) (入栈后优先级降到最低,确保其他符号正常入栈)4.右括号,(意味着括号已结束) 不断弹出栈顶运算符并输出直到遇到左括号 (弹出但不输出)5.运算符(操作符),将该运算符与栈顶运算符进...转载 2020-06-12 17:06:45 · 547 阅读 · 0 评论 -
[AHK]正则表达式提取匹配的多个内容
提问:如何提取表达式14 *(2+3)+5中的数字和运算符?在网站https://regexper.com 测试\d+|\+|\-|\*|\/|\(|\) 可以正确匹配数字和运算符Haystack:="14 *(2+3)+5"NeedleRegEx:="O)(\d+|\+|\-|\*|\/|\(|\))"Match := {Len: {0: 0}}, FoundPos := 1While (FoundPos := RegExMatch(Haystack, Needle...原创 2020-06-10 22:37:40 · 1565 阅读 · 0 评论 -
决策树算法
一、决策树原理决策树是用样本的属性作为结点,用属性的取值作为分支的树结构。 决策树的根结点是所有样本中信息量最大的属性。树的中间结点是该结点为根的子树所包含的样本子集中信息量最大的属性。决策树的叶结点是样本的类别值。决策树是一种知识表示形式,它是对所有样本数据的高度概括决策树能准确地识别所有样本的类别,也能有效地识别新样本的类别。 决策树算法ID3的基本思想:转载 2017-05-22 13:58:00 · 768 阅读 · 0 评论 -
隐马尔可夫模型(HMM)攻略
隐马尔可夫模型 (Hidden Markov Model,HMM) 最初由 L. E. Baum 和其它一些学者发表在一系列的统计学论文中,随后在语言识别,自然语言处理以及生物信息等领域体现了很大的价值。平时,经常能接触到涉及 HMM 的相关文章,一直没有仔细研究过,都是蜻蜓点水,因此,想花一点时间梳理下,加深理解,在此特别感谢 52nlp 对 HMM 的详细介绍。 考虑下面交通灯的转载 2017-05-22 14:00:44 · 591 阅读 · 0 评论 -
Python实现HMM(隐马尔可夫模型)
HMM的代码,这次用Python写了一遍,依据仍然是李航博士的《统计学习方法》由于第一次用python,所以代码可能会有许多缺陷,但是所有代码都用书中的例题进行了测试,结果正确。这里想说一下python,在编写HMM过程中参看了之前写的MATLAB程序,发现他们有太多相似的地方,用到了numpy库,在python代码过程中最让我头疼的是数组角标,和MATLAB矩阵角标从1开始不转载 2017-05-22 14:03:29 · 9977 阅读 · 2 评论 -
隐马尔科夫模型与维特比算法
` \ pythonHMM Forward algorithminput Matrix A,B vector piimport numpy as npA=np.array([[0.5,0.2,0.3],[0.3,0.5,0.2],[0.2,0.3,0.5]])B=np.array([[0.5,0.5],[0.4,0.6],[0.7,0.3]])O转载 2017-05-22 14:04:55 · 609 阅读 · 0 评论 -
单层感知器就能够实现 逻辑与运算、逻辑或运算和逻辑非运算,不能实现逻辑异或运算
之前学习神经网络,说道感知机不能解决异或问题,当时记住了,但是没有深入的思考,不能就不能呗,记住得了。后来仔细想了一下,原来是这样,现在记下来。所谓异或问题,就是就是说两个不一样,就是真(1),如果把异或问题表现为二维的分布,就是这样这样就很直观的把异或问题表现为点在二维平面上分布的问题。那么感知机有什么作用?我的理解就是在一个超平面上画一条线,线的转载 2017-06-07 09:33:39 · 12993 阅读 · 1 评论 -
[FUNC]数组反向输出
反转 逆序 反向输出数组arr := ["b", "a", "c"]Msgbox, % arr.join("|")Msgbox, % arr.reverse().join("`n")Array(p*){ p.base := Object("join", "Array_Join", "reverse", "Array_Reverse") Return p}Array_Reve原创 2017-07-06 08:51:31 · 858 阅读 · 1 评论 -
决策树入门示例(Python)
作者 Tankerdream http://www.jianshu.com/p/c8f1f516e9ea笔者刚开始接触数据挖掘,入门参考书籍为Peter Harrington编著的《机器学习》,文章代码亦大量借鉴于书中。信息增益导入模块:from math import logimport operator计算给定数据集的香农熵:def calc转载 2017-05-22 13:54:45 · 878 阅读 · 0 评论 -
为啥四年一闰,百年不闰,四百年又一闰
首先,讲下“四年一闰”地球绕太阳运行周期为365天5小时48分46秒(合365.24219天)即一回归年(tropical year)。为了方便,平年按365天计算,比回归年短5小时48分46秒(约0.2422 日),这样每四年就少算5小时48分46秒×4=23小时15分4秒,接近一天。因此在第四年的二月里增加一天,这一年叫做闰年(366天),像1988年、1992年、……都是闰年,每四年转载 2017-05-18 20:03:42 · 11003 阅读 · 0 评论 -
时间复杂度为O(n)的排序算法,你会吗?——其实很简单的
看上去似乎任何已知的算法都无法做到,如果谁做到了,那么所有的排序方法:QuickSort,ShellSort,HeapSort,BubbleSort等等等等,都可以扔掉了,还要这些算法干吗阿,呵呵。我们平常知道是排序算法都是O(n),最好的情况也就是O(nlogn),怎么会有O(n)的呢。不过实际上,在数字范围有限制的情况下,(必须是数字才行的吧)是有一个这样的算法的,只需要用一个数组转载 2016-12-21 22:15:48 · 4832 阅读 · 1 评论 -
[AHK]圆生成算法
在画图板中选好,笔、颜色,鼠标移到圆心,按热键win+z开始画圆#z::半径:=100pi:= 4 * ATan(1)MouseGetPos,x0,y0Loop,360{ x:=x0+Round(半径*Cos(A_Index*pi/180),0) y:=y0+Round(半径*Sin(A_Index*pi/180),0) MouseClick,L,x,y,1}ret原创 2017-01-05 14:31:52 · 909 阅读 · 0 评论 -
[AHK]仅识别八个方向的简版鼠标手势实现
CoordMode, Mouse, Screen;建立 浏览器 程序组,方便排除这些程序GroupAdd, Browser, ahk_class IEFrame ; 添加 Internet Explorer 窗口到这个组.GroupAdd, Browser, ahk_class MozillaWindowClass ; 添加 Mozilla窗口到这个组.GroupAdd, Browser,转载 2016-12-20 23:47:53 · 2592 阅读 · 2 评论 -
[AHK]「迭代」和「递归」示例
;迭代:是将输出做为输入,再次进行处理。比如将摄像头对着显示器;比如镜子对着镜子;比如KTV中将麦克对着音箱;比如机关枪扣动扳机发射子弹后,利用后座力继续扣动扳机。iteration(x){ sum:=1 Loop { if (x>=1) { sum*= x x-- } else break } return sum}MsgBox %原创 2017-01-23 20:12:51 · 1410 阅读 · 0 评论 -
24点为什么一共1820种组合
52张牌选4,共有(52*51*50*49)/(4*3*2*1)=270725种组合,但是这270725种组合中,包括了点数一样但花色不一样的组合,如红桃A234算一种,但黑桃A234也算一种,但实际上它们的算法是一样的,比如(1+2+3)*4=24等,如果除去这种因素的话,又共有多少种组合呢?可以这样计算:4张牌数字都相同的组合共有13种(AAAA,2222,3333.QQQQ,转载 2017-01-31 20:54:06 · 6832 阅读 · 0 评论 -
m•AAA+n•ABC+DD
如何学会打麻将? - 生活 - 知乎 https://www.zhihu.com/question/20327419转载 2017-02-02 15:55:56 · 3459 阅读 · 2 评论 -
[FUNC]求最小值
求数列的最小值min(params*){ for index,param in params { if (index=1) { ans:=params[1] if isObject(ans) ans:=params[1][1] } if IsObject(param) { for index,val in param if (a原创 2017-05-27 15:26:25 · 476 阅读 · 0 评论 -
常用排序算法的Python实现
常用的时间复杂度为O(n^2)的排序算法有冒泡排序,插入排序和选择排序,时间复杂度为O(nlog2(n))的算法有快速排序,归并排序和堆排序,这里的快速排序的初始比较值partition是随机给定的,在用python进行编写时能更清楚的理解整个排序算法的过程。import randomdef BubbleSort(num): n=len(num) for i in转载 2016-12-13 22:16:28 · 493 阅读 · 0 评论