摘要: 1. 10亿个数中取前1000大的数 维护一个1000个节点的小顶堆。 时间复杂度O(nlogk) 2. 合并k个有序(假设升序)数组 具体步骤:(1)将k个数组的第一个元素取出来,维护一个小顶堆。 (2)弹出堆顶元素存入结果数组中,并把该元素所在数组的下一个元素取出来压入队中。 (3)调整堆的结构 阅读全文
posted @ 2019-07-03 23:37 xd_xumaomao 阅读(15663) 评论(0) 推荐(0) 编辑
摘要: 1.python3输入当个整数和多个整数 阅读全文
posted @ 2019-07-03 21:04 xd_xumaomao 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 参考博客 https://www.cnblogs.com/guolei2570/p/8869523.html 阅读全文
posted @ 2019-07-03 19:46 xd_xumaomao 阅读(53) 评论(0) 推荐(0) 编辑
摘要: XGBoost可以看作是GBDT的一种高效实现,但是里面也加入了很多独有的思路和方法。为了便于理解我们对比着GBDT来理解XGBoost。 损失函数角度 GBDT的损失函数: \[{L_t} = \sum\limits_{i = 1}^m {L\left( {{y_i},{f_{t - 1}}\le 阅读全文
posted @ 2019-07-03 19:28 xd_xumaomao 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 参考博客 https://www.cnblogs.com/sylvanas2012/p/5058065.html https://blog.csdn.net/qq_39355550/article/details/81809467 阅读全文
posted @ 2019-07-03 17:34 xd_xumaomao 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 算法思想 GBDT也是Boosting家族的一员,也采用了前向分布加法模型,但是GBDT和AdaBoost还是存在很大的区别的: 1.AdaBoost没有对弱分类器的种类做限定,GBDT的弱分类器只能是CART回归树。 2.Adaboost是根据本轮弱分类器的分类误差率来改变训练样本在下轮训练时的权 阅读全文
posted @ 2019-07-03 17:12 xd_xumaomao 阅读(613) 评论(0) 推荐(0) 编辑
摘要: 利用前一轮迭代弱学习器的误差率来更新训练集的权重, 提高那些前一轮中被误分类的样本的权重,让它们在后面的迭代中受到更多的重视。 在组合多个弱分类器时采用了加权求和。 参考博客 https://www.cnblogs.com/pinard/p/6133937.html 阅读全文
posted @ 2019-07-03 15:46 xd_xumaomao 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 参考博客 https://www.cnblogs.com/skywang12345/p/3245399.html 阅读全文
posted @ 2019-07-03 09:55 xd_xumaomao 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 数据结构和算法 https://www.cnblogs.com/skywang12345/p/3603935.html https://www.cnblogs.com/linxiyue/p/3849239.html 机器学习 https://www.cnblogs.com/pinard/p/6140 阅读全文
posted @ 2019-07-03 09:48 xd_xumaomao 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 平衡二叉树(Balanced Binary Tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。这个方案很好的解决了二叉查找树退化成链表的问题,把插入,查找,删除的时间复杂度最好情况和最坏情况都 阅读全文
posted @ 2019-07-03 09:47 xd_xumaomao 阅读(216) 评论(0) 推荐(0) 编辑