链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805069361299456 题解:根据后序中序建树,层序遍历输出的裸题,建树的基本思想是利用递归,层序遍历可以利用队列,详细参见代码 代码: ...
分类:
其他好文 时间:
2019-05-04 14:46:28
阅读次数:
120
原文地址:https://www.jianshu.com/p/d8ceeee66a6f Decision Tree 基本思想在于每次分裂节点时选取一个特征使得划分后得到的数据集尽可能纯。 划分标准 信息增益(Information Gain) 信息增益 = 未划分数据集的信息熵 划分后子数据集的信息 ...
分类:
其他好文 时间:
2019-05-04 00:16:56
阅读次数:
127
【基本思想】 计数排序类似与桶排序,也是用空间换取了时间,计数排序要求数组必须在一个确定的区间内。 过程:1. 首先找出数组的最大值和最小值;2. 遍历数组,以数字作为键,该数字出现的次数作为值插入哈希表中;3. 在最小值到最大值这个区间内遍历哈希表,将数字反向插入数组中。 【算法复杂度】 计数排序 ...
分类:
编程语言 时间:
2019-05-03 18:21:08
阅读次数:
161
快速排序是一种划分交换排序基本思想是: 1.先从数列中取出一个数作为基准数,一般是第一个数。 2.将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。 3.再对左右区间重复第二步,直到各区间只有一个数。若序列基本有序时,蜕变成冒泡排序,最坏情况是已经排好序平均时间复杂度O(nlogn) ...
分类:
编程语言 时间:
2019-05-03 14:28:04
阅读次数:
120
1.冒泡排序 最简单的排序实现,冒泡排序,是一种交换排序,它的基本思想是:凉凉比较相邻记录的关键字,如果反序则交换,直到没有反序的记录为止。 swap方法 冒泡算法的优化(外部循环优化) 代码改动的关键就是在i变量的for循环中,增加了对flag是否为true的判断。经过这样的改进,冒泡排序在性能上 ...
分类:
编程语言 时间:
2019-05-02 00:07:30
阅读次数:
130
题目条件:线性表顺序存储,且每个元素都是不相同的整数型元素 本题可采用快速排序的划分思想来设计算法,只需遍历一次即可,其时间复杂度为O(n) 空间复杂度为O(1) 基本思想是:先从前往后找到一个偶数元素,再从后往前找到一个奇数元素,将二者交换。 ...
分类:
移动开发 时间:
2019-04-30 19:55:34
阅读次数:
228
在快速排序中引入递归和分治的概念(关于递归和分治的概念会单独写一篇来进行介绍) 问的解决思路: 快速排序的基本思想本身就是分治法,通过分割,将无序序列分成两部分,其中前一部分的元素值都要小于后一部分的元素值。然后每一部分在各自递归进行上述的过程,直到每一部分的长度都为1为止。 具体的过程就是当前无序 ...
分类:
编程语言 时间:
2019-04-27 00:40:54
阅读次数:
146
希尔排序(1)希尔排序(shell sort)这个排序方法又称为缩小增量排序,是1959年D·L·Shell提出来的。该方法的基本思想是:设待排序元素序列有n个元素,首先取一个整数increment(小于n)作为间隔将全部元素分为increment个子序列,所有距离为increment的元素放在同一 ...
分类:
编程语言 时间:
2019-04-26 18:21:18
阅读次数:
226
View滑动的基本思想:当点击事件传到View时,系统记下触摸点的坐标,手指移动时系统记下触摸后的坐标并计算出偏移量,然后根据偏移量修正View坐标. 实现View滑动共有6种方法:layout()方法,offsetTopAndBottom(),LayoutParams,动画,scrollTo与sc ...
分类:
其他好文 时间:
2019-04-25 21:28:06
阅读次数:
167
快速排序 快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 算法介绍 设要排 ...
分类:
编程语言 时间:
2019-04-25 14:26:03
阅读次数:
135