算法笔记
常用算法介绍
bleedingfight
用最少的资源搬最多的砖!
展开
-
XGBoost推导
文章目录XGBoost公式推导分裂节点停止条件参考XGBoost公式推导假如目标函数Objt(ft(xi))=∑i=1NL(yi,yit−1+fm(xi))+Ω(ft)+CObj^{t}(f_t(x_i))=\sum_{i=1}^NL(y_i,y_i^{t-1}+f_m(x_i))+\Omega(f_t)+CObjt(ft(xi))=∑i=1NL(yi,yit−1+fm(xi))+Ω(ft)+C。我们知道对于一个nnn阶可导的函数f(x)f(x)f(x)我们可以通过泰勒展开式将其展开:原创 2020-05-08 18:30:20 · 259 阅读 · 0 评论 -
clang++编译器使用
编译过程通常的程序需要经过预处理阶段,编译阶段,汇编阶段,链接阶段 - 预处理阶段:预处理阶段对包含源代码的文本文件(test.cc)处理,比如包含头文件到文件中,替换宏定义。生成预处理后的文件test.i - 编译阶段:编译器将预处理生成的文件翻译成汇编程序(test.s),汇编语言程序中的每条语句都以一种标准的文本格式确切的描述一条低级机器语言指令。汇编语言能为不同高级语言的不同编译器...原创 2018-07-04 01:40:34 · 40897 阅读 · 1 评论 -
C++测试工具gtest linux下安装使用
下载安装gtestgit clone https://github.com/google/googletest.gitcd googletestmkdir buildcmake ..make -4sudo make install测试(源代码来自这里)#include <gtest/gtest.h>#include <iostream&am原创 2018-08-16 16:23:40 · 750 阅读 · 0 评论 -
桶排序
桶排序算法对于待排的数组,从前往后扫描,对于索引i的值,计数数组对应的索引+1得到计数桶。然后对于计数桶,从前往后累加得到累加桶。对于待排数组,从后往前依次取出值作为索引在累加桶中找到对应的值,该值减一得到的结果就是排序后桶应该在的位置。反复如此直到处理完待排序数组。 索 引: 0 1 2 3 4 5 6 7 8 9 原数组: 7 3 8 9 6 1 8 1 2 计数桶: 0 2 ...原创 2018-09-05 00:56:30 · 189 阅读 · 0 评论 -
击鼓传花游戏
代码参考这篇文章 题目来自于58同城: 总共m个人围成一圈,编号从1开始。从第一个人开始传一朵花,当传递到第n个人时,此人出局,此人下一个人开始重新技术,直到所有人都出局,请按照原始的编号给出出局顺序。例如:顺序为[1,2,3,4,5,6,7],m=7,每次传递到n=6时出局,出局顺序为[6,5,7,2,1,4,3]。#include <bits/stdc++.h...原创 2018-09-16 11:04:19 · 3395 阅读 · 0 评论 -
DFS例子
问题来自美团笔试输入一行表示节点数,接下来输入边,求从根节点访问所有节点的最短路径。 1 / \ 2 3 / \ 4 5 \ 6最短路径为:1-2-1-3-4-3-5-6.思路...原创 2018-09-08 16:09:42 · 327 阅读 · 0 评论 -
堆排序
堆排序算法构建最小堆取出最小堆第一个元素(最小值)剩下的数据构造最小堆(反复执行2,3直到取出所有的值为止)数组[72,23,5,68,94,16,71,84,76]表示的树构造最小堆: 最小堆的元素有如下关系: - 节点k的左右节点为2*k+1,2*k+2 ,你如节点5(index=2)左边节点71(index=2*2+1),右边节点84(index=2*2+1)尽管...原创 2018-09-03 00:45:27 · 7335 阅读 · 0 评论 -
回溯法
使用回溯算法从矩阵中找到指定字符串字符矩阵: ⎡⎣⎢⎢acjbfdteegsh⎤⎦⎥⎥[abtgcfesjdeh]\begin{equation*}\begin{bmatrix}a&b&t&g\\c&f&e&s\\j&d&e&h\end{bmatrix}\end{equation*} 目标字符串为bfce 和abfb算法思想随便从矩阵中找到一个位置,然后查看该位置的元...原创 2018-09-03 23:14:26 · 157 阅读 · 0 评论 -
8皇后问题详细过程
八皇后问题在一个8x8的棋盘上,每行每列防止棋子“皇后”,”皇后“不能在同一行,同一列同一条斜线上。 对于这个问题通常的做法是: 1. 在一行第一个位置放置一个 2. 遍历第二行,如果找到第一个可放置的位置,则放置,遍历下一行。否则跳转到上一行遍历下一个位置。 3. 一直重复直到所有的位置都被遍历完。 为了便于说明,下面使用4皇后说明。四皇后坐标0001 02 031...原创 2018-08-05 00:00:25 · 2647 阅读 · 0 评论 -
算法笔记(DFS)
问题来自牛客输入两个整数 n 和 m,从数列1,2,3…….n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来 。解决思路:从1-n找到数字之和等于m,那么如果我先找到一个数1,剩下的任务就是在2~m-1 找到求和等于m-1 就够了。那如果找到第2个数2 求和小于(找到的1+2求和为3)m,接下来找3,继续这样往下找,如果求和大于m则不合适,说明组合不合理,这时候需要...原创 2018-08-22 20:41:59 · 308 阅读 · 0 评论 -
决策树算法
ID3信息增益算法算法描述:对于数据集中的数据XmnX_{m}^{n}Xmn(m条数据,n维,其中第1条数据为[x00,x01,x03,…,x0n][x_0^{0},x_0^{1},x_0^{3},\ldots,x_0^{n}][x00,x01,x03,…,x0n])和标签ymky_m^kymk。ID3算法试图在k个标签中找到对应的判断规则,通过规则即可分出该条数据属于哪一个类别。在...原创 2019-10-01 21:54:02 · 305 阅读 · 0 评论