![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法面试
文章平均质量分 52
qq_34741686
这个作者很懒,什么都没留下…
展开
-
算法面试套路
面试准备1.手撕代码2.常用算法(推导)3.常用函数(算法细节,损失函数,梯度等)4.特征工程(信息增益,tfidf,距离,卡方,PCA)5.集成算法原理及比较6.深度学习框架7.计算机基础:1.手撕代码排序—常考快排,堆排序,归并;查找—常考二分,hash, B树;树和图–先序,后序,中序,深度,广度;数据结构—栈和队列,括号计算等,字符串匹配;2.常用算法(推导)算法分类,算法原理...原创 2018-10-04 16:40:00 · 250 阅读 · 0 评论 -
2.6 常被拿来比较的算法
1.逻辑回归2.随机森林3.Adaboost4.GBDT5.XgBoostadaboost和随机森林的区别:1,二者都是自助法选取样本。2,二者都是要训练很多棵决策树。3,adaboost后面树的训练,其在变量抽样选取的时候,对于上一棵树分错的样本,抽中的概率会加大。4,随机森林在训练每一棵树的时候,随机挑选了部分变量作为拆分变量,而不是所有的变量都去作为拆分变量。5,在预测新...原创 2018-10-25 16:15:40 · 102 阅读 · 0 评论 -
2.5 算法比较
14年的时候有人做过一个实验,比较在不同数据集上(121个),不同的分类器(179个)的实际效果。论文题为:Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?算法XGBOOSTGBDTSVMRFAdaboostOther分类随机森林放回抽...原创 2018-10-25 13:32:20 · 162 阅读 · 0 评论 -
2.2常用算法公式
算法:以wx+b=0为基础的算法:感知机->误分点(xi,yi | i->m)到wx+b的距离和最小,求最优解;支持向量机->最大间隔;逻辑回归->将wx+b的值作为逻辑函数输入,进行分类;线性回归->勾画线性曲线,对未知量预测;以P(Y|X)=P(Y)P(X|Y)/P原创 2018-10-06 10:18:01 · 470 阅读 · 0 评论 -
1.2查找--二分
//二分int erfen(int arr[], int k){ int low=0, high=sizeof(arr)/sizef(int); while(low<=high){ mid = (low+high)/2; if( arr[mid]==k ) return mid; if( arr[mid]>k ) high = mid-1; else low = ...原创 2018-10-05 20:59:23 · 90 阅读 · 0 评论 -
1.4数据结构--栈,队列
栈实现队列,队列实现栈,push和pop是否合规,排序,数组实现栈,求两个数组的第K大数,数组中两个数和为n,三个数和为n,只出现一次的数字(其余都出现2次)// 位异或,最后的结果为单值;扩展:a = b^c-->b = a^cc//// k = n-ai 遍历或查找是否有k;// //奇数栈1,偶数栈2;满时扩展//栈排序:入第一个,如果堆顶小于目标值,弹出堆至堆顶大于目标值...原创 2018-10-05 20:50:12 · 131 阅读 · 0 评论 -
1.3数据结构--链表
1. 链表:定义,翻转,第k,删除节点k,合并,换位,环,相交,模拟加法,去重struct ListNode{ int data; ListNode next;}//翻转:每一次操作三个节点:新链表的头节点,原链表的新头节点,元链表新头节点的nextListNode* fanzhuan(ListNode* head){ ListNode* newhead = null; ListN...原创 2018-10-04 22:59:03 · 85 阅读 · 0 评论 -
2.1常用算法(易考推导---原理,推倒,重点)--机器学习
1. 决策树原理:递归的选择最优特征,并用最优特征对数据集分割;每个子集递归调用此方法,直到满足约束条件(关键在特征选择和停止分裂的约束条件)步骤:特征选择、决策树的生成和决策树的修剪特征:ID3信息增益;对可取值较多的特征有偏好,会导致泛化能力差;不能处理连续值;不能处理缺失值;过拟合C4.5信息增益率;减少信息增益中由特征值较多带来的影响;可处理连续值;可处理缺失值,赋值均值–计算量...原创 2018-10-04 20:04:14 · 481 阅读 · 0 评论 -
1.1排序--常撕
1.快排:1.找到界点:两端比较,左段<界点<右段;递归;结束条件:左段指针与右段指针重叠。int quick(int a[], int low, int high){ int tmp = a[low]; while(low<high){ while(low<high && a[high]>=tmp) --high; a[low] =原创 2018-10-04 17:47:49 · 160 阅读 · 0 评论 -
3.0 数据库--基本操作
select * from 表名称 // **表示返回所有列select distinct 列名称 from 表名称 // 去重select 列名 from 表名 where 列 运算符 值 // between(范围),like(模式)// 文本需加单引号,数值不需。//and or 可以连接多重选择条件。order by 对指定列进行排序:select * from 表 or...原创 2018-10-29 15:51:53 · 130 阅读 · 0 评论