自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二分查找

以下内容是个人学习笔记的整理。原理:每次查找后,查找范围都折半,一步步缩小查找范围,直到找到要查找的元素。步骤:初始化头尾指针,并计算出中间下标;中间下标所对应的元素与目标值对比,如果刚好等于目标值,则返回;如果大于目标值,则左指针更新为中间下标+1;如果小于目标值,则右指针更新为中间下标-1;如果遍历完整个序列都没有找到,返回-1。实现代码(python):# -*- c...

2019-06-18 10:30:28 146

原创 十大排序算法——基数排序

以下内容是个人学习笔记的整理。原理:桶排序思想。步骤:确定要比较的轮数;建立相应的桶;按照数据的个位,十位,百位把数据对应位的数放入相应的桶;桶内排序;从桶内取出数据,组成完整的有序序列。实现代码(python):def radix_sort(alist): '基数排序' if len(alist) <= 1: retu...

2019-06-17 16:00:41 454

原创 十大排序算法——计数排序

以下内容是个人学习笔记的整理。原理:桶排序的思想,只是桶排序的一种特例。步骤:定义一个列表,用于统计代排序列每个数据出现的次数;对上述列表元素按从左往右的顺序累加;定义一个列表,用于存放排序后的序列;从原序列最后的元素开始扫描,对应的计数列表中的值-1为排序列表的下标,对应的值为排序列表对应的值。实现代码(python):import itertoolsdef count...

2019-06-17 15:49:29 1230

原创 十大排序算法——桶排序

以下内容是个人学习笔记的整理。原理:将待排序的数据分到几个有序的桶里,每个桶的数据单独排序,桶内排完序后,再按顺序依次取出,组成有序序列。步骤:找出序列中的最大和最小值,目的是为了确定所需桶的数量;将数据放入相应的桶;桶内数据进行排序,可以按照快排等算法进行排序;桶内数据有序取出并合并成完整的有序序列。实现代码(python):from quick_sort import q...

2019-06-17 15:25:05 4620

原创 十大排序算法——归并排序

以下内容是个人学习笔记的整理。原理:通过分治思想,先把序列分解为最小序列,然后 对最小序列进行排序,对排序后的最小序列进行合并,排序,再合并,排序,直到整个序列有序。步骤:把序列分解成最小序列(2个元素);对最小序列进行排序;重复以上步骤,直到整个序列有序。示意图:实现代码(python):def merge_sort(alist): '归并排序' n = ...

2019-06-17 14:37:23 425

原创 十大排序算法——快速排序

以下内容为个人学习笔记的整理。原理:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,使用的是分治的思想,分而治之。步骤:从序列中挑出一个元素作为“基准(pivot)” ;序列中剩余元素与pivot进行比较,比pivot小的放在pivot的左边,比pivot大的放在pivot的右边,相同元...

2019-06-17 14:22:24 186

原创 十大排序算法——希尔排序

以下为个人学习笔记的整理

2019-06-17 11:00:03 207

原创 十大排序算法——选择排序

原理:首先在未排序序列中,找到最小(大)的元素,放在序列起始位置,然后从剩余未排序序列中,寻找最小(大)的元素,放在已排序序列末尾,直到所有元素排序完毕。示意图,动画:实现代码(python):def select_sort(alist): '选择排序' n = len(alist) for j in range(n-1): min_index ...

2019-06-16 11:37:32 140

原创 十大排序算法——插入排序

原理:通过构建有序序列,对于未排序的数据,通过从后往前扫描有序序列,找到相应位置并插入。动画:实现代码(python):def insert_sort(alist): '插入排序' n = len(alist) for i in range(1, n): #选择第一个数据(下标为0))当做有序序列进行比较 while i > 0: ...

2019-06-16 11:02:02 141

原创 十大排序算法——冒泡排序

原理:遍历数据,一次比较2个元素,如果他们顺序错误,就交换他们的位置,重复执行以上步骤,直到按要求顺序输出。示意图:假设有哪个数据,那就需要执行n-1次遍历,每次对应的比较次数如下:实现代码(python)python:def bubble_sort(alist): n = len(alist) for i in range(n-1): #控制排序次数 ...

2019-06-16 09:19:56 161

原创 Leetcode 合并两个有序数组

题目(#88):合并两个有序数组给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0],...

2019-05-05 23:21:38 142

空空如也

空空如也

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

TA关注的人

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