Clustering K-means: 基本思想是先随机选择要分类数目的点,然后找出距离这些点最近的training data 着色,距离哪个点近就算哪种类型,再对每种分类算出平均值,把中心点移动到平均值处,重复着色算平均值,直到分类成功. One way to choose K is elbow ...
分类:
其他好文 时间:
2018-09-09 15:03:02
阅读次数:
178
小朋友学数据结构(10):基数排序 一、基本思想 将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。然后,从最低位(即个位数)开始,依次进行一次排序。这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列。 与其他排序不同的是,基数排序不涉及数的交换。 基数排序是一种 ...
分类:
编程语言 时间:
2018-09-08 00:49:13
阅读次数:
174
小朋友学数据结构(8):直接插入排序 (一)基本思想 在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。 1-1.jpg (二)C语言代码实现 #include<stdio.h> ...
分类:
编程语言 时间:
2018-09-08 00:48:55
阅读次数:
245
小朋友学数据结构(7):快速排序 一、快速排序 (一)基本思想 选择一个基准元素,通常选择第一个元素或者最后一个元素,通过一趟扫描,将待排序列分成两部分,一部分比基准元素小,一部分大于等于基准元素,此时基准元素在其排好序后的正确位置,然后再用同样的方法递归地排序划分的两部分。 (二)例子 6-1.p ...
分类:
编程语言 时间:
2018-09-08 00:48:28
阅读次数:
183
小朋友学数据结构(9):希尔排序 (一)基本思想 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。 (二)例子 有一个数组,其原始数组为: 2-1.png 取初始增量gap = len ...
分类:
编程语言 时间:
2018-09-08 00:48:01
阅读次数:
211
小朋友学数据结构(4):归并排序 (一)基本思想 归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。 7-1.jpg (二)代码实现 import java.util.Arrays; p ...
分类:
编程语言 时间:
2018-09-08 00:46:49
阅读次数:
238
小朋友学数据结构(6):折半查找法 折半查找法又称为二分查找法。 (一)基本思想 假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一 ...
分类:
其他好文 时间:
2018-09-08 00:46:22
阅读次数:
202
一、基本思想 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以使整个序列有序。 在分割的过程中,枢纽元的选择至关重要。原因如下: (1)两部分数据是以枢纽元为分界点,小于等于枢纽元 ...
分类:
编程语言 时间:
2018-09-04 01:46:46
阅读次数:
176
文章转自 循环冗余校验(CRC)算法入门引导 - Ivan 的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/liyuanbhu/article/details/7882789 一、原理部分 CRC 算法的基本思想是将传输的数据当做一个位数很长的数,将这个数除以另 ...
分类:
编程语言 时间:
2018-09-03 20:32:00
阅读次数:
206
常用简单算法 一、冒泡排序 冒泡排序的基本思想是,对相邻的元素进行两两比较,假设这连个数字是, a、b 同时排序规则是升序,如果a>b 则他们位置进行交换,这样,每一趟会将最小或最大的元素“浮”到顶端,最终达到完全有序. 大概明白是什么意思了就详细的看下下面这张动图,进一步理解 冒泡排序关键点: 趟 ...
分类:
编程语言 时间:
2018-09-03 20:31:30
阅读次数:
173