数学专业。擅数据分析,涉stock、lotto。了解随机过程分析、神经网络。涉web前端、后端。了解vba、js,稍擅python
我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。
这是我的vue.js 2.0的学习笔记,采取了将官方文档中的代码集中到一个文件的形式。目的是保存下来,方便自己查阅。 !官方文档:https://cn.vuejs.org/v2/guide/ 01. vue 介绍 vue 介绍 ...
本文摘录自知乎的一个问题的答案,作为我的一篇笔记。感谢原作者。 作者:李乐丁 链接:https://www.zhihu.com/question/60577602/answer/178077799 来源:知乎 著作权归作者所有。
版本一 版本二 版本三 版本四
本文地址:http://www.cnblogs.com/hhh5460/p/7397006.html 说明 以前的那个例子的思路是后端监控数据存入数据库;前端ajax定时查询数据库。 这几天在看websocket。
说明 搞了一个最新版本的雷达图,比以前那个美观。 不多说,代码奉上: 完整代码 ''' matplotlib雷达图 ''' import numpy as np import matplotlib.pyplot as plt # 雷达图 def plot_radar(labels, data, score): ''' 用法: >>> labels = np.
说明 本文参考了这里 由于数据是连续的,因此使用了高斯隐马尔科夫模型:gaussianHMM 一、stock代码 import tushare as ts import pandas as pd import numpy as np from hmmlearn.
说明 本文受知乎陈小米启发而写。有兴趣的朋友可以移步这里。 本文的代码完全是本人所撸。 问题描述 假想一个游戏。赢的概率是60%,输的概率40%。入场费随意交。如果赢了获得2倍的入场费金额(1赔1),输则输掉入场费。
1. 不带参数的多重继承 # 作者:hhh5460 # 时间:2017.07.18 class A(object): def show_x(self): print('A') class B(object): def show_y...
利用上一篇的框架,再写了个翻转棋的程序,为了调试minimax算法,花了两天的时间。 几点改进说明: 拆分成四个文件:board.py,player.py,ai.py,othello.py。使得整个结构更清晰,更通用,更易于维护。
说明 用python实现了井字棋,整个框架是本人自己构思的,自认为比较满意。另外,90%+的代码也是本人逐字逐句敲的。 minimax算法还没完全理解,所以参考了这里的代码,并作了修改。 特点 可以选择人人、人机、机人、机机四种对战模式之一 电脑玩家的AI使用了minimax算法,带apha-beta剪枝 电脑玩家在思考时,时时刻刻都有一个“假想敌”。
来源:https://xkcd.com/832/ 解读:http://www.guokr.com/article/4754/
问题 在河的左岸有N个传教士、N个野人和一条船,传教士们想用这条船把所有人都运过河去,但有以下条件限制: (1)修道士和野人都会划船,但船每次最多只能运M个人; (2)在任何岸边以及船上,野人数目都不能超过修道士,否则修道士会被野人吃掉。
1. 准备数据 import pandas as pd from io import StringIO csv_txt = '''"date","player1","player2","score1","score2" "2017-06-05","张继科","林思远",3,2 "2017-06...
上一篇笔记的pygame游戏对敌人和白云的移动速度使用了随机函数randint(),游戏体验不是太好。如果是按概率随机选取设置速度的话,游戏体验会好一些。 据我了解,random.choice(seq)是等概率选取一个,不是我想要的。
本文基于win7(64) + py3.5(64)环境。 本文是这里的一篇学习笔记。加入了自己的理解。 本文最终目的是实现一个飞机躲避导弹的游戏。 1、核心概念 pygame 的核心概念有: Surface 对象(一个容器,一个载体,可以是空白的矩形区域,亦可是图片) Surface 对象的矩形区域...
问题 将马放到国际象棋的8*8棋盘board上的某个方格中,马按走棋规则进行移动,走遍棋盘上的64个方格,要求每个方格进入且只进入一次,找出一种可行的方案。 分析 说明:这个图是5*5的棋盘。 图片来源:这里 类似于迷宫问题,只不过此问题的解长度固定为64 每到一格,就有[(-2,1),(-1,2),(1,2),(2,1),(2,-1),(1,-2),(-1,-2),(-2,-1)]顺时针8个方向可以选择。
问题 有面额10元、5元、2元、1元的硬币,数量分别为3个、5个、7个、12个。现在需要给顾客找零16元,要求硬币的个数最少,应该如何找零?或者指出该问题无解。 分析 元素——状态空间分析大法:四种面额的硬币看作4个元素,对应的数目看作各自的状态空间,遍历状态空间,其它的事情交给剪枝函数。
问题 某楼梯有n层台阶,每步只能走1级台阶,或2级台阶。从下向上爬楼梯,有多少种爬法? 分析 这个问题之前用分治法解决过。但是,这里我要用回溯法子集树模板解决它。 祭出元素-状态空间分析大法:每一步是一个元素,可走的步数[1,2]就是其状态空间。
作者:hhh5460 时间:2017年6月3日 用回溯法子集树模板解决了这么多问题,这里总结一下使用回溯法子集树模板的步骤: 1、确定元素及其状态空间(精髓) 对每一个元素,遍历它的状态空间,其它的事情交给剪枝函数!!!(正是这一点,使得它无愧于“通用解题法”这个称号!) 2、确定解的编码及解的长度是否固定 若解的长度固定,那么x[k] = i 若解的长度不固定,那么x.
问题 输入 第1行:字符串A 第2行:字符串B (A,B的长度
问题 给定 n 个作业,每一个作业都有两项子任务需要分别在两台机器上完成。每一个作业必须先由机器1 处理,然后由机器2处理。 试设计一个算法找出完成这n个任务的最佳调度,使其机器2完成各作业时间之和达到最小。
问题 从n个元素中挑选m个元素进行排列,每个元素最多可重复r次。其中m∈[2,n],r∈[1,m]。 如:从4个元素中挑选3个元素进行排列,每个元素最多可重复r次。 分析 解x的长度是固定的,为m。 对于解x,先排第0个位置的元素x[0],再排第1个位置的元素x[1]。
问题 实现 'a', 'b', 'c', 'd' 四个元素的全排列。 分析 这个问题可以直接套用排列树模板。 不过本文使用子集树模板。分析如下: 一个解x就是n个元素的一种排列,显然,解x的长度是固定的,n。
问题 图的m-着色判定问题 给定无向连通图G和m种不同的颜色。用这些颜色为图G的各顶点着色,每个顶点着一种颜色,是否有一种着色法使G中任意相邻的2个顶点着不同颜色? 图的m-着色优化问题 若一个图最少需要m种颜色才能使图中任意相邻的2个顶点着不同颜色,则称这个数m为该图的色数。
问题 旅行商问题(Traveling Salesman Problem,TSP)是旅行商要到若干个城市旅行,各城市之间的费用是已知的,为了节省费用,旅行商决定从所在城市出发,到每个城市旅行一次后返回初始城市,问他应选择什么样的路线才能使所走的总费用最短? 分析 此问题可描述如下:G=(V,E)是带权的有向图,找到包含V中每个结点一个有向环,亦即一条周游路线,使得这个有向环上所有边成本之和最小。
问题 一个图: A --> B A --> C B --> C B --> D B --> E C --> A C --> D D --> C E --> F F --> C F --> D 从图中的一个节点E出发,不重复地经过所有其它节点后,回到出发节点E,称为一条路径。
本来想用回溯法实现 算24点。题目都拟好了,就是《python 回溯法 子集树模板 系列 —— 7、24点》。无奈想了一天,没有头绪。只好改用暴力穷举法。 思路说明 根据四个数,三个运算符,构造三种中缀表达式,遍历,计算每一种可能 显然可能的形式不止三种。
问题 某乡村小学有六个年级,每个年级有一个班,共六个班。 周一到周五,每天上6节课,共计30节课。 开设的课程 一年级:语(9)数(9)书(2)体(2)美(2)音(2)德(2)班(1)安(1) 二年级:语(9)数(9)书(2)体(2)美(2)音(2)德(2)班(1)安(1) 三年级:语(8)数(8)...
问题 有5件不同的上衣,3条不同的裤子,4顶不同的帽子,从中取出一顶帽子、一件上衣和一条裤子作为一种搭配,问有多少种不同的搭配? 分析 换个角度看,现有头、身、腿三个元素,每个元素都有各自的几种状态。 头元素有['帽1', '帽2', '帽3', '帽4']共4种状态,身元素有['衣1', '衣2', '衣3', '衣4', '衣5']共5种状态,腿元素有['裤1', '裤2', '裤3']共3种状态 从头开始,自上而下,遍历每个元素的所有状态。
问题 找出从自然数1、2、3、...、n中任取r个数的所有组合。 例如,n=5,r=3的所有组合为: 1,2,3 1,2,4 1,2,5 1,3,4 1,3,5 1,4,5 2,3,4 2,3,5 2,4,5 3,4,5 分析 换个角度,r=3的所有组合,相当于元素个数为3的所有子集。
问题 给定N个物品和一个背包。物品i的重量是Wi,其价值位Vi ,背包的容量为C。问应该如何选择装入背包的物品,使得放入背包的物品的总价值为最大? 分析 显然,放入背包的物品,是N个物品的所有子集的其中之一。
问题 给定一个迷宫,入口已知。问是否有路径从入口到出口,若有则输出一条这样的路径。注意移动可以从上、下、左、右、上左、上右、下左、下右八个方向进行。迷宫输入0表示可走,输入1表示墙。为方便起见,用1将迷宫围起来避免边界问题。
问题 8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 分析 为了简化问题,考虑到8个皇后不同行,则每一行放置一个皇后,每一行的皇后可以放置于第0、1、2、...、7列,我们认为每一行的皇后有8种状态。
一直不是太理解回溯法,这几天集中学习了一下,记录如下。 回溯法有“通用的解题法”之称。 1.定义: 也叫试探法,它是一种系统地搜索问题的解的方法。 2.基本思想: 从一条路往前走,能进则进,不能进则退回来,换一条路再试。
分治法所能解决的问题一般具有以下几个特征: 1) 该问题的规模缩小到一定的程度就可以容易地解决 2) 该问题可以分解为若干个规模较小的相同问题,即该问题具有最优子结构性质。 3) 利用该问题分解出的子问题的解可以合并为该问题的解; 4) 该问题所分解出的各个子问题是相互独立的,即子问题之间不包含公共的子子问题。
# 例1. 按照元素出现的次数来排序 seq = [2,4,3,1,2,2,3] # 按次数排序 seq2 = sorted(seq, key=lambda x:seq.count(x)) print(seq2) # [4, 1, 3, 3, 2, 2, 2] # 改进:第一优先按次数,第二优先按值 seq3 = sorted(seq, key=lambda x:(seq.count(x), x)) print(seq3) # [1, 4, 3, 3, 2, 2, 2] ''' 原理: 先比较元组的第一个值,值小的在前。
''' 两个乒乓球队进行比赛, 各出三人。 甲队为 a,b,c 三人, 乙队为 x,y,z 三人。 已 抽签决定比赛名单。 有人向队员打听比赛的名单。 a 说他不和 x 比, c 说他不和 x,z 比, 请 编程序找出三队赛手的名单。
频率 所属类型 模式名称 模式 简单定义 5 创建型 Singleton 单件 保证一个类只有一个实例,并提供一个访问它的全局访问点。 4 创建型 Abstract Factory 抽象工厂 提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。
python3 的 round 函数感觉很别扭,其运算结果与习惯不相符。特记录下来: 代码 ''' python 3的 round 函数 是“四舍六入五成双”的 https://www.zhihu.
如果不考虑作图,这里的两个例子可以改写成下面的样子: 求圆周率 import random ''' 蒙特卡罗模拟 投点法计算圆周率 ''' # 投点游戏 def play_game(): # 圆 r = 1.
本文使用蒙特卡罗方法验证蒙提霍尔游戏的结论。 以下代码,本人原创! 完整代码 import random # 蒙提霍尔游戏 def play_game(strategy='nonchange'): # 门牌编号 doors = [0,1,2] # 门后的奖品 gifts = ['goat', 'goat', 'car'] random.
蒙特卡罗(Monte Carlo)方法的精髓:用统计结果去计算频率,从而得到真实值的近似值。 一、求圆周率的近似值,采用 投点法 import numpy as np import matplotlib.
鼠标事件 鼠标按钮n被按下,n为1左键,2中键,3右键 鼠标按钮n被松开 ...
我的理解: 假设有一个文件夹 app 若 app 下有app/__init__.py文件,则此 app 被视作一个 package,而 app 下的其他文件/文件夹被视作 module 我们知道,package 的意义是作为一个整体,提供某些功能。
近日,决定用 python 实现插件架构,于是上 stackoverflow 逛了一下,在这里发现一段代码,非常喜欢。 提醒各位大侠注意,我对这段代码作了一点小小的改动:原 PLUGINS 是 list 对象,改动后 PLUGINS 是 dict 对象。
有些时候,我们需要使用弹出窗口,对程序的运行参数进行设置。有两种选择 一、标准窗口 如果只对一个参数进行设置(或者说从弹出窗口取回一个值),那么可以使用simpledialog,导入方法: from tkinter.
实现了后端与前端分离,后端提供 RESTful api。 后端 flask 与前端 vue 的数据传输都是 json。 本文使用 vue.js 2.0 对前一个例子:flask, SQLAlchemy, sqlite3 实现 RESTful API 的 todo list进行改写 两个文件 from...
两种方法 用户: 密码: // 版本二(箭头语法) var convert_FormData_to_json2 = function (formData) { var objData = {}; formData.
vue.js 2.0 实现的简单分页 * { margin: 0; padding: 0; box-sizing: border-box } html { font-size: 12px; font-family: Ubuntu, simHei,...