- 博客(4)
- 收藏
- 关注
原创 大顶堆的简单实现(java)
堆的实现主要有两点:(1)建堆,将一个无序序列建成一个堆。(2)在输出堆顶元素之后,调整剩余元素成为一个新的堆。 这两个过程主要做了同一件事情,就是堆的调整,即将当前节点与其左右子节点进行比较,选出最大的元素值并与当前节点值交换(若当前节点最大,则不用交换)。 具体代码实现://java 大顶堆的简单实现import java.util.Arrays;public c
2017-03-30 14:19:22
4886
1
原创 剑指offer--数组中只出现一次的数字
题目描述:一个整型数组里除了两个数字之外,其他的数字都出现了两次,请写出程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1).分析: 题目中的关键:只有两个数字出现一次,其他数字都出现了两次 假如同样的情况下,数组里只有一个数字出现一次,其他都出现两次,这时候我们很自然的就想到了异或。两个相同的数字异或的结果是0,无论位置如何,因此,我
2017-03-22 19:36:13
278
原创 机器学习--决策树
学习了机器学习中的决策树算法,总结一下自己的理解,以此加深印象~~1、决策树算法决策树算法最关键的就是决策树的训练(树的构造过程),而树的创建最关键的是特征的选择,应该将最’关键‘的特征放在树的根的位置,越’关键‘的特征离树根越近(越优先判断),而特征的’关键‘要根据熵和信息增益来判断,如果选择一个特征A,将数据集进行划分之后(分成多个分支(子集)),熵减小最大(数据无序性减少的最
2017-03-17 10:38:58
568
原创 15. 3Sum--leetcode
题目描述:Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.Note: The solution set must not
2017-03-14 22:04:56
225
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人