
算法
YangHongChao001
机器学习,深度学习,算法工程师
展开
-
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 · 277 阅读 · 0 评论 -
最长值不超过某定值子数组(长度相等字符串差值不超过定值)(华为面试题)
### 两个相同长度的字符串,求同位置相减后的绝对值加起来小于等于某个值的连续最长子串的长度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 · 184 阅读 · 0 评论 -
英文单词接龙(华为笔试题)
### 单词接龙,单词首字母是上一个单词结尾字母,如果候选词有多个,则选最长的,若长度相同,按字典序选靠前的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 · 1399 阅读 · 0 评论 -
链表删除重复元素
问题一: 删除链表中的重复元素,但是保留重复元素的第一个元素 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 · 1768 阅读 · 0 评论 -
快速排序
快速排序的思想是随机找序列中的一个数,将比他小的数字放在左边,比他大的数字放在右边,从而将序列分为两组,递归的对左右和右边继续执行此过程,直到子序列中再没有元素,或者只有一个元素时停止,下面的算法都选择最后一个元素作为随机选取的元素。 def partition(A, left, right): povot = A[right] tail = left for i ...原创 2018-08-08 21:32:32 · 188 阅读 · 0 评论 -
将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 · 876 阅读 · 0 评论 -
生成模型和判别模型
参考李航《统计机器学习》监督学习常见的问题是学习一个模型对于输入空间的变量x预测其在输出空间对应的变量y。这个模型一般表示为或者条件概率分布:.依据学习的目标是的联合概率还是条件概率或判别函数将模型分为生成模型和判别模型。这种监督学习的方法又称为生成方法和判别方法。判别模型:判别模型是由数据直接学习决策函数或者条件概率分布作为要学习的模型。判别模型关系对于给定的要得到...原创 2019-04-30 23:12:55 · 316 阅读 · 0 评论 -
从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 · 1594 阅读 · 0 评论 -
n个数字取m个的组合数
对于这个问题有两种版本,n个元素互不相同,n个元素有重复。有重复用集合之类的方法去重即可。因此我们解决简单版本假设n个元素互不相同。,有两种方法解决该问题,一种是用回朔法,用temp表示临时的一个m组合,用递归的方法对于temp中的元素弹出加入。第二种方法是借助数据结构栈。emmm: 其实应该是同一种方法,第一种回朔法用了系统的栈空间,第二种用了自己建立的栈空间。相比较而言第二种算法的...原创 2019-05-01 12:47:56 · 1827 阅读 · 0 评论 -
最大回文子串的长度
回文串算法: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 · 320 阅读 · 0 评论 -
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 · 3061 阅读 · 0 评论 -
auc曲线知识总结
一、roc曲线1、roc曲线:接收者操作特征(receiveroperating characteristic),roc曲线上每个点反映着对同一信号刺激的感受性。横轴:负正类率(false postive rate FPR)特异度,划分实例中所有负例占所有负例的比例;(1-Specificity)纵轴:真正类率(true postive rate TPR)灵敏度,Sensitivity(正类覆盖率...原创 2018-03-18 17:15:27 · 6705 阅读 · 0 评论 -
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 · 512 阅读 · 0 评论 -
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 · 207 阅读 · 0 评论 -
聚类算法
假设有N个待聚类的样本,对于层次聚类来说,步骤: 1, (初始化)把每个样本归为一类,计算两个类之间的距离,也就是样本与样本的相似度; 2,寻找各个类之间最近的两个类,把他们归为一类(这样类的总数就少了一个) 3,重新计算生成的这个类与各个旧类之间的相似度; 4,重复2和3直到所有样本点都归为一类,结束 整个聚类过程其实是建立了一棵树,在建立的过程中,可以...原创 2018-03-18 17:19:04 · 326 阅读 · 0 评论 -
决策树
机器学习中分类和预测算法的评估: 准学率速度强壮型可规模性可解释性 1, 什么是决策树/判定树 判定树是一个类似于流程图的树结构:其中,每个内部结点表示一个属性上的测试,每个分支代表一个属性输出,而每个树叶结点代表类获类分布。树的最顶层为根结点。2, 机器学习中分类方法中的一个重要算法3,构造决策树的基本算法 3.1 熵的概念: 信息和抽象,如何度...原创 2018-03-18 17:19:49 · 265 阅读 · 0 评论 -
距离的度量方法
所列的距离公式列表和代码如下:闵可夫斯基距离(Minkowski Distance)欧氏距离(Euclidean Distance)曼哈顿距离(Manhattan Distance)切比雪夫距离(Chebyshev Distance)夹角余弦(Cosine)汉明距离(Hamming distance)杰卡德相似系数(Jaccard similarity coefficient)读者可根据自己需求有...原创 2018-03-18 17:24:36 · 496 阅读 · 0 评论 -
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 · 374 阅读 · 0 评论 -
链表的部分翻转
对于一个链表,将他从第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 · 537 阅读 · 0 评论 -
快速求根和求倒数根算法链接
http://www.52rd.com/Blog/Detail_RD.Blog_Roddger_4627.html?WebShieldDRSessionVerify=YvUONIqdZoMhZUydGb0H作者:Blackbird文章出处:友善之臂旅店在3D图形编程中,经常要求平方根或平方根的倒数,例如:求向量的长度或将向量归一化。C数学函数库中的sqrt具有理想的精度,但对于翻译 2017-09-10 11:55:32 · 3782 阅读 · 0 评论