算法
远处的海亲吻着天
从事JAVA软件开发
展开
-
数据结构与算法 平衡二叉搜索树
平衡二叉搜索树如果二叉排序树是平衡的,则n个节点的二叉排序树的高度为,其查找效率为,近似于折半查找。如果二叉排序树完全不平衡,则其深度可达到n,查找效率为O(n),退化为顺序查找。一般的,二叉排序树的查找性能在到O(n)之间。因此,为了获得较好的查找性能,就要构造一棵平衡的二叉排序树。平衡当节点数量固定时,左右子树的高度越接近,这颗二叉树就越平衡(高度越低)最理想的平衡,就是像完全二叉树、满二叉树那样,高度是最小的如何改进二叉树搜索树首先,节点的添加、删除是...原创 2020-08-17 23:14:39 · 570 阅读 · 0 评论 -
数据结构与算法 B树
B树特点B树(B-tree、B-树)B树是一种平衡的多路搜索树,多用于文件系统、数据库的实现 1个节点可以存储超过2个元素、可以拥有超过2个节子节点 拥有二叉搜索树的一些性质(左子树都比根节点小 右子树都比根节点大) 平衡,每个节点的所有子树高度一致 比较矮 M阶B树的性质(M>=2)假设一个节点存储的元素个数为x,根节点:1<= x <=m-1 ,非根节点: 「m/2」- 1 <= x <=m-1 如果有子节点,因为节点有两个...原创 2020-08-15 23:43:36 · 243 阅读 · 0 评论 -
数据结构与算法 二叉树与二叉搜索树
节点、根节点、父节点、子节点、兄弟节点 一棵树可以没有任何节点,成为空树 一棵树可以只有一个节点,也就是只有根节点 子树、左子树、右子树 节点的度 :子树的个数 树的度:所有节点度中的最大值 叶子节点:节点度为0 的 层数:根节点在第一层,根节点的子节点在第二层 节点的深度:从根节点到当前节点的唯一路径上的节点总和 节点的高度:从当前节点到最远的叶子节点的路径上的节点总数 树的深度:所有节点深度中的最大值 树的高度:所有节点高度中的最大值 树的高度 等于树的深度有序...原创 2020-08-10 23:30:13 · 537 阅读 · 0 评论 -
数据结构与算法 - 栈 队列
目录栈stack栈的接口设计动态数组实现栈练习题有效的括号队列队列的接口设计简单实现一个queue练习 - 用栈实现队列双端队列双端队列接口设计双端队列源码循环队列入队列出队列栈stack栈是一种特殊的线性表,只能在一端进行操作 往栈中添加元素的操作,一般叫做push,入栈 从栈中移除元素的操作,一般叫做pop,出栈 后进先出的原则 栈...原创 2020-07-29 23:46:55 · 339 阅读 · 0 评论 -
基于用户的协同过滤
通过用户对物品的喜爱程度进行度量和打分。根据不同用户对相同商品或内容的态度进行商品推荐。举例说明,每个行向量表示某个用户对所有电影的评分先把数据中心化然后计算用户 A 和其他用户的 Pearson 相关系数:可以发现用户 A 和用户 B 喜好接近,因此可以将 B 喜欢但 A 没看过的密室推荐给 A,同时也可以将 A 喜欢但 B 没看过的火焰杯推荐给 B...原创 2020-01-05 16:32:36 · 208 阅读 · 0 评论 -
基于物品的协同过滤
通过计算不同用户对于不同物品的评分,获得物品间的关系。基于物品间的关系对用户进行相似物品的推荐。举例说明,每一个行向量表示某个物品被各个用户的评分,先中心化如何预测用户 E 对 哈利波特的喜好程度?计算哈利波特和其他电影之间的 Pearson 相关系数选择相关性较大的其他电影,拿出用户 E 对这些电影的评分,利用 Pearson 相关系数做 weighted sum:...原创 2020-01-05 15:55:27 · 576 阅读 · 0 评论 -
皮尔逊相关度
皮尔逊相关度,实际上也是一种余弦相似度,不过先对向量做了中心化,向量 p 和 q 各自减去向量的均值后,再计算余弦相似度。皮尔逊相关度计算结果范围在 -1 到 1。-1 表示负相关,1 比表示正相关。皮尔逊相关度其实度量的是两个随机变量是不是在同增同减。如果同时对两个随机变量采样,当其中一个得到较大的值另一也较大,其中一个较小时另一个也较小时,这就是正相关,计算出来的相关度就接近1,这种...原创 2020-01-04 14:52:44 · 1487 阅读 · 0 评论 -
jaccard相似度算法
Jaccard index, 又称为Jaccard相似系数(Jaccard similarity coefficient)用于比较有限样本集之间的相似性与差异性。Jaccard系数值越大,样本相似度越高。杰卡德相似系数两个集合A和B交集元素的个数在A、B并集中所占的比例,称为这两个集合的杰卡德系数,用符号 J(A,B) 表示。杰卡德相似系数是衡量两个集合相似度的一种指标(余弦距离也可以用来...原创 2020-01-04 11:59:53 · 12149 阅读 · 2 评论 -
余弦计算相似度度量
相似度度量(Similarity),即计算个体间的相似程度,相似度度量的值越小,说明个体间相似度越小,相似度的值越大说明个体差异越大。对于多个不同的文本或者短文本对话消息要来计算他们之间的相似度如何,一个好的做法就是将这些文本中词语,映射到向量空间,形成文本中文字和向量数据的映射关系,通过计算几个或者多个不同的向量的差异的大小,来计算文本的相似度。下面介绍一个详细成熟的向量空间余弦相似度方法计...原创 2020-01-03 15:41:30 · 643 阅读 · 0 评论
分享