自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (2)
  • 收藏
  • 关注

原创 算法导论-Python实现-快速排序

快速排序: 对于包含 n 个数的输入数组,快速排序算法的复杂度在最坏的情况下是Θ(n^2),虽然在最坏的情况下和插入排序相近,但是最坏的情况出现的概率很低,快速排序是实际应用中最好的选择,平均排序时间是Θ(nlgn)。 快速排序的原理也是使用分治策略,选出一个序列中的元素作为主元,然后让序列左边的都小于等于主元,右边的序列大于等于主元。由于是在序列的原地址进行的排列,当递归完成之后,排序也就完...

2018-08-03 15:52:01 512

原创 算法导论-Python实现-堆排序

堆排序: 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,平均时间复杂度均为O(nlogn),与归并算法排序相比较的优点是它在数据的原地址进行排序,不需要额外的空间存储临时数据。堆是二叉树的一种。在代码实现过程中使用的是数组对堆进行存储。 如下图所示,是数组A=(4, 1, 3, 2, 16, 9, 10, 14, 8, 7)的最大堆示意图: Max_Heapify...

2018-08-03 00:20:12 396

原创 算法导论-Python实现-最大子数组

最大子数组: 最大子数组是求数组中连续的子数组的和最大 用分治法的思想去求解,先将数组对半分,最大子数组的位置有三种情况 1.子数组全部在中点的右边 2.子数组全部在中点的左边。 3.子数组部分在中点的左边,另一部分在中点的右边。 只要分别求出这三种情况的最大值比较,取最大的即为最大子数组 如下是数组A = [13, -3, -25, 20, -3, -16, -23, 18, 2...

2018-08-01 20:53:36 354

原创 算法导论-Python实现-合并排序

插入排序在最好的情况下(排序的序列正好是想要的结果时)速度很快,可以是输入项数的 n 线性时间,但在最坏的情况下(排序的序列和结果正好相反时),时间可以是 n 的平方时间。所以排列所需要的时间取决于序列的排序情况。 合并排序原理: 合并算法就是提前排序,也就是分治策略,将原序列分为很多小序列,将小序列排好序之后进行合并,然后得到最终的结果。 以下是利用合并法排序A = (5, 2, 4, 7...

2018-07-31 19:18:25 275

原创 算法导论-Python实现-插入排序

简单实现升序的插入排序: 原理很简单,每次从未排序的序列顶部取出一个元素和排好序的尾部比较,知道大于或等于排好序中时停止。重复上面步骤。 一下是实现A=(5, 2, 4, 6, 1, 3)示意图: 代码实现: import time A = list(range(0, 100000)) start = time.clock() for j in range(1, 100000): ...

2018-07-30 21:37:22 214

Python学习手册(第4版)

学习Python的主要内建对象类型:数字、列表和字典。 使用Python语句创建和处理对象,并且学习Python的通用语法模型。 使用函数构造和重用代码,函数是Python的基本过程工具。 学习Python模块:封装语句、函数以及其他工具,从而可以组织成较大的组件。 Python的面向对象编程工具,用于组织程序代码。 学习异常处理模型,以及用于编写较大程序的开发工具。 了解包括装饰器、描述器、元类和Unicode处理等高级Python工具。

2018-07-30

空空如也

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

TA关注的人

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