- 博客(35)
- 收藏
- 关注
转载 设计模式(java语言)
一直想写一篇介绍设计模式的文章,让读者可以很快看完,而且一看就懂,看懂就会用,同时不会将各个模式搞混。自认为本文还是写得不错的????????????,花了不少心思来写这文章和做图,力求让读者真的能看着简单同时有所收获。设计模式是对大家实际工作中写的各种代码进行高层次抽象的总结,其中最出名的当属Gang of Four(GoF) 的分类了,他们将设计模式分类为 23 种经典的模式,根据用途我们又可以分为三大类,分别为创建型模式、结构型模式和行为型模式。有一些重要的设计原则在开篇和大家分享下,这些原则
2021-10-19 08:56:49
463
原创 Ne4j加载owl文件
neo4j加载owl文件:在neo4j的neo4j.conf文件加入下面配置:dbms.unmanaged_extension_classes=n10s.endpoint=/rdf将插件n10s-4.x.x.x.jar包复制到neo4j的plugins目录下(版本必须对应)。执行 call dbms.procedures() 检查插件安装成功create constraint n10s_unique_uri on (r:Resource) assert r.uri is unique执行 cal
2021-10-15 11:49:10
275
原创 最长值不超过某定值子数组(长度相等字符串差值不超过定值)(华为面试题)
### 两个相同长度的字符串,求同位置相减后的绝对值加起来小于等于某个值的连续最长子串的长度def func(): a = input().strip() b = input().strip() c = int(input().strip()) left = 0 right = 1 res = 0 dif = [abs(ord(a[i])-ord(b[i])) for i in range(len(a))] if len(dif) == 1 and sum(dif) <= c:.
2021-10-15 11:47:48
180
原创 英文单词接龙(华为笔试题)
### 单词接龙,单词首字母是上一个单词结尾字母,如果候选词有多个,则选最长的,若长度相同,按字典序选靠前的def longest_words(words): tmp_words = [[len(w), w] for w in words] tmp_words = sorted(tmp_words, key=lambda x: (-1 * x[0], x[1])) new_words = [w[1] for w in tmp_words] return new_word.
2021-10-15 11:45:10
1394
原创 Python元组处理
元组是列表的简化版本, 不能二次赋值,类似于只读列表, 虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。比如a = ([2, 3],4)a[0][1] = 5特别注意元组包含0个元素和一个元素时a = ( )b = ('a',)1、与字符串一样,元组的元素不能修改。 2、元组也可以被索引和切片,方法一样。 3、注意构造包含0...
2019-05-01 22:06:51
521
原创 信息熵的相关概念和在机器学习中的应用
主要整理自维基百科,添加了一些在机器学习中的应用。熵:在信息论中,熵(英语:entropy)是接收的每条消息中包含的信息的平均量,又被称为信息熵、信源熵、平均自信息量。主要衡量不确定性的度量,越随机的信息熵越大,想法来源于不可能发生的事发生时会提供更多的信息。所以信息熵定义为概率分布的对数的相反数有这方面的体现。随机变量的熵值定义为:.注:此处E为期望函数,为概率质量...
2019-05-01 22:03:25
2903
原创 n个数字取m个的组合数
对于这个问题有两种版本,n个元素互不相同,n个元素有重复。有重复用集合之类的方法去重即可。因此我们解决简单版本假设n个元素互不相同。,有两种方法解决该问题,一种是用回朔法,用temp表示临时的一个m组合,用递归的方法对于temp中的元素弹出加入。第二种方法是借助数据结构栈。emmm: 其实应该是同一种方法,第一种回朔法用了系统的栈空间,第二种用了自己建立的栈空间。相比较而言第二种算法的...
2019-05-01 12:47:56
1819
原创 从n个元素中等可能的选择m个
对于从n个元素中等可能的选择m个这个问题常见的有两种变体:1,n是已知的且相对较小;2,n是未知的或相对很大;问题的解法也有相似之处,问题1相对简单一些。1,解法:从n个元素里面等可能取出一个元素,这比较简单,从剩下的n-1个元素里等可能的取出一个元素,持续该过程知道从n-m+1个元素等可能的取出一个元素。则取出的m个元素是等可能的。下面证明对于n各元素中的任意一个元素x,它第...
2019-05-01 00:51:12
1590
原创 生成模型和判别模型
参考李航《统计机器学习》监督学习常见的问题是学习一个模型对于输入空间的变量x预测其在输出空间对应的变量y。这个模型一般表示为或者条件概率分布:.依据学习的目标是的联合概率还是条件概率或判别函数将模型分为生成模型和判别模型。这种监督学习的方法又称为生成方法和判别方法。判别模型:判别模型是由数据直接学习决策函数或者条件概率分布作为要学习的模型。判别模型关系对于给定的要得到...
2019-04-30 23:12:55
314
原创 将n根绳子分为最长的m根
问题:有n根长度不等的绳子,允许剪短不允许拼接,将其分为等长的m根,求m根绳子的最大长度?考虑用动态规划的方法:设为将分为个的最大长度。则有以下动态转移方程:Python代码如下:#coding: utf-8def maximum_rope(arr, m): n = len(arr) d = [[0 for i in range(m+1)] f...
2019-04-30 21:48:30
869
原创 最大回文子串的长度
回文串算法:manacher:将每个字符首位加“#”,字符串首加“$”,返回的结果为一个数组,数组的偶数为对应元素所在的回文串长度、b = "abcdebeabbaf"c = "".join(["$#"] + [ i +"#" for i in b])def Manacher(a): size = len(a) p = np.array([0]*size) ...
2018-08-14 19:07:34
317
原创 0-1背包问题
0-1背包问题:一个背包能够容纳W重的物品(W为整数),现有n个物品,每个物品有其自身重量W_i和价值V_i。选择某些物品装入背包使得装的物品的价值最大。利用动态规划求解,将背包的容量单位化,即从0----到W,分别能装的最大价值,将物品也从i开始表示物体为在前i个中选择。则得到状态转移方程f[i][j] = max{f[i-1][j], f[i-1][j-weight[i]]+value...
2018-08-14 08:37:27
371
原创 链表删除重复元素
问题一: 删除链表中的重复元素,但是保留重复元素的第一个元素 class Node(): def __init__(self,x): self.value = x self.next_p = None 方法一:删除重复元素的后一个,保留第一个def delete_dupicate(A): p = A ...
2018-08-11 19:24:49
1756
原创 链表的部分翻转
对于一个链表,将他从第m个位置到第n个位置翻转如 1 ——>2------->3---------->4------->5翻转为1-------->3--------->2-------->4------->5class Node(): def __init__(self,x): self.value = x ...
2018-08-10 23:06:26
535
原创 快速排序
快速排序的思想是随机找序列中的一个数,将比他小的数字放在左边,比他大的数字放在右边,从而将序列分为两组,递归的对左右和右边继续执行此过程,直到子序列中再没有元素,或者只有一个元素时停止,下面的算法都选择最后一个元素作为随机选取的元素。 def partition(A, left, right): povot = A[right] tail = left for i ...
2018-08-08 21:32:32
188
原创 python 字符串(y有重复)全排列算法
def Permutation(str, beg, endl): if beg == endl - 1: print(str) return for i in range(beg, endl): if str[i] in str[beg:i]: continue str[i], str[be...
2018-08-02 11:06:36
3054
原创 基于动态内存分配的素数查找
/*author : YangHongchaotime: 2018/4/26*///#define __STDC_WANT_LIB_EXT1__ 1#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#include <math.h>int main(){ unsigned long...
2018-04-26 17:07:13
254
原创 c 语言学习 之对于动态内存分配的结构体的基于交换的排序
/*author : YangHongchaoday: 2018/4/23*/#include <stdio.h>#include <string.h>#include <stdlib.h>struct student{ char name[12]; int age; int score[3]; double average;};type...
2018-04-23 11:47:02
301
原创 C语言 之 n皇后问题
/* author: yanghongchaotime: 2018/4/17*/#include <stdio.h>#define MAX_NUMBER 100int main(){ int number_of_queen(int a[], int n, int k, int j, int count); int n; int m; scanf("%d", &...
2018-04-17 15:52:43
1260
翻译 Python的时间数据类型
9.1、获取当前时间,例如:import time, datetime;localtime = time.localtime(time.time())#Local current time : time.struct_time(tm_year=2014, tm_mon=3, tm_mday=21, tm_hour=15, tm_min=13, tm_sec=56, tm_wday=4, tm_yd...
2018-03-19 10:45:43
4899
原创 Python数据类型转换
有时候需要对数据内置的类型进行转换,只要将数据类型作为函数名即可。 以下几个内置的函数可以执行数据类型之间的转换, 这些函数返回一个新的对象,表示置换的值。 常用的类型转换函数有一下几种。int(x)将x转换为一个整数long(x)将x转换为一个长整数float(x)将x转换为一个浮点数complex(real)创建一个复数str(x)将x装换为字符型repr(x)将对象x转换为表达式字符...
2018-03-19 10:44:36
326
翻译 Python集合方法
集合(set)是一个无序不重复元素的序列。基本功能是进行成员关系测试和删除重复元素。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。A set object is an unordered collection of distinct hashable objects. Common uses in...
2018-03-19 10:43:58
322
原创 Python字典方法
关于Python的深复制和浅复制, 字典列表集合可变容器模型, a = b 都是潜复制,当将b[i]修改,则a也被修改,但是若对b重新赋值(及将b指向新的对象), 则a 与b 将不同。而元组字符串不可变容器模型没有copy方法。 a = b.copy()是深拷贝, copy模块里有copy和deepcopy,copy是浅拷贝,deepcopy是深拷贝,import copy a = co...
2018-03-19 10:43:13
634
原创 python元组处理
元组是列表的简化版本, 不能二次赋值,类似于只读列表, 虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。 比如 a = ([2, 3],4)a[0][1] = 5特别注意元组包含0个元素和一个元素时a = ( )b = ('a',) 1、与字符串一样,元组的元素不能修改。2、元组也可以被索引和切片,方法一样。3、注意构造包含0或1个元素的元组的特殊语法规则。4、元组也可...
2018-03-19 10:42:31
1095
原创 Python列表处理
(1)list 列表操作包含以下函数。 比较两个列表的函数, 以前的版本有cmp方法, 3. 之后取消了,但是可以直接用“>”,“<”, 或者“=”, 来直接比较,这种方法对于字符串也是适用的len(list):列表元素个数,也适用于元组,字符串max(list):列表元素的最大值, 也适用于元组,字符串min(list):列表元素的最小值, 也适用于元组,字符串list(...
2018-03-18 17:28:31
310
原创 Python格式化输出
关于字符串,列表,元组元素的取出: a[x::y]若y大于0表示步长且是从头向尾取,首位为x位,若x缺省,则从0开始,若为-1,则只能取最后一位,即使y大于0,跑出迭代对象的尾端也没影响;若y小于0表示,从后往前取,y的绝对值表示步长,x仍然表示第一个元素位置。若a[::-1]则表示原来的。。。取反。Python转义字符在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。如下表:转义...
2018-03-18 17:27:44
745
原创 python语言else的用法
循环使用 else 语句在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。实例#!/usr/bin/python# -*- coding: UTF-8 -*- for num in range(10,20): # 迭代 ...
2018-03-18 17:26:41
1057
原创 距离的度量方法
所列的距离公式列表和代码如下:闵可夫斯基距离(Minkowski Distance)欧氏距离(Euclidean Distance)曼哈顿距离(Manhattan Distance)切比雪夫距离(Chebyshev Distance)夹角余弦(Cosine)汉明距离(Hamming distance)杰卡德相似系数(Jaccard similarity coefficient)读者可根据自己需求有...
2018-03-18 17:24:36
490
原创 决策树
机器学习中分类和预测算法的评估: 准学率速度强壮型可规模性可解释性 1, 什么是决策树/判定树 判定树是一个类似于流程图的树结构:其中,每个内部结点表示一个属性上的测试,每个分支代表一个属性输出,而每个树叶结点代表类获类分布。树的最顶层为根结点。2, 机器学习中分类方法中的一个重要算法3,构造决策树的基本算法 3.1 熵的概念: 信息和抽象,如何度...
2018-03-18 17:19:49
261
原创 聚类算法
假设有N个待聚类的样本,对于层次聚类来说,步骤: 1, (初始化)把每个样本归为一类,计算两个类之间的距离,也就是样本与样本的相似度; 2,寻找各个类之间最近的两个类,把他们归为一类(这样类的总数就少了一个) 3,重新计算生成的这个类与各个旧类之间的相似度; 4,重复2和3直到所有样本点都归为一类,结束 整个聚类过程其实是建立了一棵树,在建立的过程中,可以...
2018-03-18 17:19:04
316
原创 K-means
1.归类: 聚类 (clustering)属于非监督学习(UNsupervised learning) 无类别标记(class label)2. K-means算法: 2.1 clustering中的经典算法,数据挖掘十大经典算法之一 2.2 算法接受参数K,然后将事先输入的n个对象划分为k个聚类以便使得所获得的聚类满足:同一聚类对象的相似度(大多数时候为距离的远近)较高,...
2018-03-18 17:18:02
201
原创 KNN邻近算法
1,综述 1.1 Cover和Hart 1968年提出 1.2 Classification算法 1.3 输入基于实例的学习(instance——based learnin), 懒惰学习(lazy learnin) 2,算法详述 2.1 步骤 为了判断未知实例的类别,以所有已知实例的特例作为参照。 (1)选择参数k ...
2018-03-18 17:17:24
509
原创 auc曲线知识总结
一、roc曲线1、roc曲线:接收者操作特征(receiveroperating characteristic),roc曲线上每个点反映着对同一信号刺激的感受性。横轴:负正类率(false postive rate FPR)特异度,划分实例中所有负例占所有负例的比例;(1-Specificity)纵轴:真正类率(true postive rate TPR)灵敏度,Sensitivity(正类覆盖率...
2018-03-18 17:15:27
6698
原创 线性模型
线性模型常见的种类:1.1 普通线性模型: y = w x + b , 让L(f) = (yi^ - yi)^2 最小,的w 和b 关于上面的L(f)求最小值可以用梯度下降法来求解数值解,在使用梯度下降法时,要注意特征的归一化,(这也是许多机器学习都要注意的),特征归一化有两个好处:(1)提升模型的收敛速度,比如两个特征x1 和x2,x1的取值为0-200之间,而x...
2018-03-18 17:09:49
752
翻译 快速求根和求倒数根算法链接
http://www.52rd.com/Blog/Detail_RD.Blog_Roddger_4627.html?WebShieldDRSessionVerify=YvUONIqdZoMhZUydGb0H作者:Blackbird文章出处:友善之臂旅店在3D图形编程中,经常要求平方根或平方根的倒数,例如:求向量的长度或将向量归一化。C数学函数库中的sqrt具有理想的精度,但对于
2017-09-10 11:55:32
3776
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人