算法与数据结构
文章平均质量分 78
算法与数据结构
꧁꫞ND꫞꧂
每一天都值得期待与认证对待
展开
-
时间复杂度分析-大O表示法
开篇词 | 从今天起,跨过“数据结构与算法”这道坎你好,我是王争,毕业于西安交通大学计算机专业。现在回想起来,本科毕业的时候,我的编程水平其实是很差的。直到读研究生的时候,一个师兄给了我一本《算法导论》,说你可以看看,对你的编程会很有帮助。没想到,从此我对算法的“迷恋”便一发不可收拾。之后,我如饥似渴地把图书馆里几乎所有数据结构和算法书籍都读了一遍。我常常边读边练。没多久,我就发现,写代码的时候,我会不由自主考虑很多性能方面的问题。我写出时间复杂度高、空间复杂度高的垃圾代码越来越少了,算法能力提原创 2021-04-07 18:10:49 · 2621 阅读 · 0 评论 -
信息熵的理解
信息熵信息熵,怎么看怎么觉得这个“熵”字不顺眼,那就先不看。我们起码知道这个概念跟信息有关系。而它又是个数学模型里面的概念,一般而言是可以量化的。所以,第一个问题来了:信息是不是可以量化?起码直觉上而言是可以的,不然怎么可能我们觉得有些人说的废话特别多,“没什么信息量”,有些人一语中的,一句话就传达了很大的信息量。为什么有的信息量大有的信息量小?有些事情本来不是很确定,例如明天股票...原创 2018-09-24 09:21:26 · 1857 阅读 · 1 评论 -
Bagging和Boosting 概念及区别
Bagging和Boosting 概念及区别Bagging和Boosting都是将已有的分类或回归算法通过一定方式组合起来,形成一个性能更加强大的分类器,更准确的说这是一种分类算法的组装方法。即将弱分类器组装成强分类器的方法。首先介绍Bootstraping,即自助法:它是一种有放回的抽样方法(可能抽到重复的样本)。1、Bagging (bootstrap aggregating)...原创 2018-09-24 09:20:14 · 278 阅读 · 0 评论 -
平衡二叉树(AVL树)
简介平衡二叉树,又称为AVL树,为了优化排序二叉树极端情况(从小到大或从大到小插入,呈现链状)而衍生出来的结构特点1.基于排序二叉树2.任意节点的左右子树的高度差都小于2因此,同排序二叉树一样,平衡二叉树只需要在插入和删除时,进行平衡,使得左右子树高度差均小于1即可查询所有二叉排序树的查询过程都是一致的,包括平衡二叉树和红黑树,都是通过二分法向下查询,可以参考二叉排序树的查询节点基本数据结构typedef struct TreeNode { int data;转载 2020-12-27 23:02:41 · 1068 阅读 · 0 评论 -
网易云音乐基于Flink实时数仓实践
背景介绍截止到今天为止,网易云音乐实时计算平台的机器数量有150多个,运行任务有700个,数据峰值的QPS有400万。李涵淼透露道,“大概有180多个开发者在用这个实时计算平台。”在业务覆盖层面,跟实时有关的基本是全覆盖,包括实时报表、实时特征、实时索引,以及实时业务等。实时计算平台是从2018年上半年开始做的,期间经历了两个版本的迭代,直到2020上半年,任务增长了将近200%。网易云是基于1.7的版本,做的实时计算平台version-1设计。大家都知道,Flink已经更新到1.11版本了..转载 2020-11-12 15:34:04 · 609 阅读 · 0 评论 -
基于时间复杂度的二分法
快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值分析与解法 这个题目不是很难,也很容易理解。但是要得出高效率的解法,还是需要一番思考的。 解法一 一个直接的解法就是穷举:从数组中任意取出两个数字,计算两者之和是否为给定的数字。 显然其时间复杂度为N(N-1)/2即O(N^2)。这个算法很简单,写起来也很容易,但是效率不高。一般在程序设计...转载 2018-09-24 09:14:32 · 597 阅读 · 0 评论 -
Geohash值做地址经纬度范围匹配
1.实现爬虫数据、设备数据以及一些其他的数据匹配整合,涉及到范围类的查询匹配,可以使用geohash值,然后做切割。2.如果是前6位相同一般是50米范围内的,如果是前5位相同,大概是500米范围的样子。package geoHash;/** * Created by yinyi on 2019/8/5. */public class LocationBean { pub...原创 2019-08-15 10:59:05 · 2282 阅读 · 0 评论 -
数据分析及其步骤
数据分析及其步骤数据分析定义数据分析离不开数据,计量和记录一起促成了数据的诞生。数据分析是指用适当的统计分析方法对收集来的数据进行分析,将它们加以汇总和理解并消化,以求最大化地开发数据的功能,发挥数据的作用。数据分析的目的是把隐藏在一大批看似杂乱无章的数据背后的信息集中和提炼出来,总结出所研究对象的内在规律。数据分析可划分为: 描述性数据分析、 探索性数据分析 、 验证性数据...原创 2019-11-19 16:47:47 · 1597 阅读 · 0 评论 -
IV值计算及分箱
1.离散的优势:(1)离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1,否则0。如果特征没有离散化,一个异常数据“年龄300岁”会给模型造成很大的干扰;(2)逻辑回归属于广义线性模型,表达能力受限,单变量离散化为N个后,每个变量有单独的权重,相当于为模型引入了非线性,能够提升模型表达能力,加大拟合;(3)离散化后可以进行特征交叉,由M+N个变量变为M*N个变量...转载 2019-03-08 13:49:30 · 6801 阅读 · 0 评论 -
三范式的完美解释
向量的范数:向量范数是定义了向量的类似于长度的性质,满足正定,齐次,三角不等式的关系就称作范数。向量的范数一般有L0, L1, L2与L_infinity范数,L0范数:定义为即非0元素个数。L0范数表示向量中非零元素的个数。如果我们使用L0来规则化参数向量w,就是希望w的元素大部分都为零。L0范数的这个属性,使其非常适用于机器学习中的稀疏编码。在特征选择中,通...转载 2019-05-13 21:08:45 · 821 阅读 · 0 评论 -
机器学习如何选择
我应该使用哪种机器学习算法? 8通过 李晖上的SAS数据科学博客 2017年4月12日主题| 高级分析 机器学习该资源主要面向初学者到中级数据科学家或分析师,他们有兴趣识别和应用机器学习算法来解决他们感兴趣的问题。当面对各种各样的机器学习算法时,初学者提出的一个典型问题是“我应该使用哪种算法?”问题的答案因许多因素而异,包括:数据的大小,质量和性质。 可用的计算时间。 任务...转载 2019-02-11 14:55:27 · 369 阅读 · 0 评论