自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 排序算法系列之直接插入排序

直接插入排序1 基本原理 1 核心思想:插入排序通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入 ,如此重复,直至完成序列排序。 2 算法分析: 1. 从序列第一个元素开始,该元素可以认为已经被排序 2. 取出下一个元素,设为待插入元素,在已经排序的元素序列中从后向前扫描,如果该元素(已排序)大于待插入元素,将...

2018-07-17 10:03:13 60608 9

转载 常用正则表达式

常用正则表达式一、校验数字的表达式数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(\.[0-9]{1,2})?$带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})$正数、负数、和小...

2020-01-05 14:38:31 334

原创 C语言基础知识之sizeof

C语言基础知识之sizeof1 基本概念sizeof是以字节的形式计算出操作数的存储空间的大小 ,一种单目运算符,并不是函数。2 使用对象sizeof的使用对象包括具体的数据类型或者变量;不能用于函数类型,不完全类型或位字段,因为不知道其存储空间大小。3 使用场景sizeof的返回结果类型是size_t, 在头文件中定义为: typedef unsigned int siz...

2019-07-07 20:41:56 1560

原创 排序算法系列之桶排序

桶排序1 基本原理 1 核心思想:桶排序工作的原理是将数组分到有限数量的桶里。每个桶再分别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)。最后依次连接各桶完成排序。 2 算法分析: - 设置一个定量的数组当作空桶子。 - 遍历序列,并且把项目一个一个放到对应的桶子去。 - 对每个不是空的桶子分别进行排序。...

2018-07-23 11:07:16 431

原创 排序算法系列之基数排序

基数排序1 基本原理 1 核心思想:基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。 2 算法分析: - 将所有待比较数值(正整数)统一为同样的数位长度(最大元素长度),数位较短的数前面补零。 - 从最低位开始,依次进行一次排序。 - 重复操作,直至完成最高位的排序。2 ...

2018-07-23 10:48:07 378

原创 排序算法系列之计数排序

计数排序1 基本原理 1 核心思想:计数排序是一种稳定的线性时间排序算法。计数排序使用一个额外的数组 C ,其中第i个元素是待排序数组 A中值等于 i的元素的个数。然后根据数组 C 来将 A中的元素排到正确的位置。 2 算法分析: - 找出待排序的数组中最大和最小的元素。确定数组大小C[max-min+1]。 - 统计数组中每个值为 ...

2018-07-20 15:01:50 270

原创 排序算法系列之并归排序

并归排序1 基本原理 1 核心思想:归并排序,是创建在归并操作上的一种有效的排序算法,指的是将两个已经排序的序列合并成一个序列的操作。归并排序算法依赖归并操作。 2 算法分析: - 通过分治法将长度为n的序列划分为n个长度为1的子序列。 - 进行两两归并比较,得到 n/2 个长度为 2 的有序子序列 - 重复第 2 步,直到所有子序列归并成一个长...

2018-07-19 09:26:24 1447

原创 排序算法系列之堆排序

堆排序1 基本原理 1 核心思想:在堆的数据结构中,堆中的最大值总是位于根节点(在优先队列中使用堆的话堆中的最小值位于根节点),堆排序就是把最大堆堆顶的最大数取出,将剩余的堆继续调整为最大堆,再次将堆顶的最大数取出,这个过程持续到剩余数只有一个时结束。 ** 算法分析:    1. 最大堆调整(Max-Heapify):将堆的末端子节点作调整,使得...

2018-07-18 10:24:14 325

原创 排序算法系列之选择排序

选择排序1 基本原理 1 核心思想:选择排序是一种简单直观的排序算法。它在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。2 实例说明如上图所示,以一组数据{12,6,1,15,3,19} 为例,进行直接插入排序的算法演示:在原数组中选择最小元素...

2018-07-18 09:23:33 848

原创 排序算法系列之希尔排序

希尔排序1 基本原理 1 核心思想:希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序。 2 算法分析: 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。2 实例说明如上图所示,以一组数据{...

2018-07-17 11:01:14 678

原创 排序算法系列之鸡尾酒排序

鸡尾酒排序1 基本原理 1 核心思想:鸡尾酒排序是冒泡排序的一种改进和变型 ,又称“双向冒泡排序”,鸡尾酒排序是从低到高然后从高到低来回排序(选出最大和最小项),比冒泡排序的效率稍微好一点,原因是冒泡排序只从一个方向进行比对(由低到高),每次循环只移动一个项目。 2 算法分析: 1. 先对数组从左到右进行冒泡排序(升序),则最大的元素去到最右端 ...

2018-07-16 14:44:18 3221

原创 排序算法系列之快速排序

快速排序1 基本原理 核心思想:快速排序是一种 划分交换排序 ,其采用分治的策略思想 。 算法思路: 1. 首先从待排序序列中随机取出一个数作为基准数。 2. 分区过程,将比基准数大的数全放到它的右边,小于或等于基准数的数全放到它的左边。 3. 对左右区间重复第二步,直到各区间只有一个数。2 实例说明如上图所示,参考《算法导论》...

2018-07-13 10:21:40 509

原创 排序算法系列之冒泡排序

冒泡排序1 基本原理 核心思想:冒泡排序是一种典型的 交换排序 ,通过比较相邻元素大小来决定是否交换位置 2 实例说明如上图所示,以一组数据{20,40,30,10,60,50} 为例,进行冒泡排序的算法演示:第一轮:从数组第一个元素开始,依次比较相邻元素,按升序排列,最后最大元素60位于数组末尾。第二轮:重复上一步操作,降第二大元素50交换至数组倒数...

2018-07-12 10:36:33 559

原创 Windows下使用Python安装机器学习模块scikit-learn

作为机器学习的初学者,实验平台的搭建必不可少。目前,使用较多的是Python的开源机器学习模块 scikit-learn,下面就如何在Windows下搭建简单的机器学习平台,结合自身的实践进行简要介绍:安装前提: 在Windows中需安装Python,可以从官网下载最新的版本Python官网,详细的安装教程可以参考windows下面安装Python和pip终极教程,本人使用的是Python 3.

2017-03-23 14:44:03 1388

空空如也

空空如也

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

TA关注的人

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