自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

转载 决策树算法

转自:https://www.cnblogs.com/pinard/p/6050306.html   决策树算法在机器学习中算是很经典的一个算法系列了。它既可以作为分类算法,也可以作为回归算法,同时也特别适合集成学习比如随机森林。本文就对决策树算法原理做一个总结,上篇对ID3, C4.5的算法思想做了总结,下篇重点对CART算法做一个详细的介绍。选择CART做重点介绍的原因是scikit-lear...

2018-03-29 09:20:58 182

原创 数组的前k个最大值

方法一:使用最小堆。 1、用前k个元素建立一个最小堆;2、遍历无序区域的元素,和堆顶元素对比,如果小于堆顶值,肯定不可能是前k个最大值;如果大于堆顶值,那么取代堆顶元素,做一次堆调整。//最小堆的调整void heap_adjust_for_maxK(int arr[], int s, int end){ //对堆进行一次调整 //方法:(以大顶堆为例)比较父节点和两个子节点的大小:如果父...

2018-03-28 18:08:49 1647

原创 排序算法总结

记录插入排序、选择排序、快速排序、归并排序算法的实现和它们的时间复杂度。1、常用排序算法分类2、算法复杂度3、排序算法实现    3.1 简单插入排序    3.2 希尔排序    3.3 冒泡排序    3.4 快速排序    3.5 简单选择排序    3.6 堆排序    3.7 归并排序1、常用排序算法分类2、算法复杂度上图来自:http://blog.csdn.net/hguisu/ar...

2018-03-27 13:15:08 176

原创 复杂链表的复制

题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)步骤1、复制旧的链表,每个节点都复制一份插入当前节点之后(random指针此时不赋值)2、给新链表的random指针复制,偶数节点需要复制。random指针指向前节点randon...

2018-03-22 23:38:50 128

原创 找到链表环的入口

题目描述一个链表中包含环,请找出该链表的环的入口结点。思路1、设置一对快慢指针,都从链表头出发(快指针每次走两步,慢指针每次一步)2、找到两个指针在环上的相遇点3、设置两个指针,分别从链表头和相遇点出发4、上面两个指针相遇的地方即为环入口ListNode* EntryNodeOfLoop(ListNode* pHead){ if(pHead == NULL || pHead->ne...

2018-03-22 17:01:36 490

原创 两个链表的第一个公共结点

题目描述输入两个链表,找出它们的第一个公共结点。思路1:设两个链表公共的长度为s,链表1的长度为m+s,链表2的长度为n+s。两个移动指针分别从两个链表开始移动:p1:  链表1头部->走到尾部->链表2头部 ->公共结点p2:  链表2头部->走到尾部->链表1头部 ->公共结点p1走的步数为m+s+n,p2走的步数为n+s+mListNode* FindFi...

2018-03-21 10:59:37 168

原创 链表-找到链表中倒数第k个结点

思路:定义快慢两个指针,快指针先走k-1步,然后快慢两个指针同时向前,当快指针走到最后一个节点,慢指针此时就在倒数第k个节点。按照上面的思路,会出现一个特殊情况:当链表长度小于k时,快指针在k-1步之内就会指向NULL,此时应该返回空;typedef struct{ int data; LinkNode* next; }LinkNode; LinkNode* ...

2018-03-21 00:28:00 145

原创 链表逆序

解法一:遍历看了其它的一些解法,都是画一排图,搞得很复杂。其实这道题就是不断的删除一个链表的头节点,再将该节点插到另一个链表的头节点之前。实现步骤:①初始化一个新链表的头节点pNewHead = NULL;②旧链表的头节点后移;③旧链表不要的节点送给新链表;④重复②typedef struct{ int data; LinkNode* next; }LinkNode; ...

2018-03-20 23:33:57 237

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除