自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 问答 (2)
  • 收藏
  • 关注

原创 六. 语句与语法:函数 + 列表生成式

函数在Python中,定义一个函数要使用 def 语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用 return 语句返回。如果没有return语句,函数执行完毕后也会返回结果,只是结果为 None。return None可以简写为return。def square_of_sum(L): sum = 0 for item in L...

2018-12-14 16:00:39 247 2

原创 五. 语句与语法:语句

输入输出s = input() 接收输入,接收为str型input(‘提示’) 先输出提示信息print(‘=’ * 20) 输出20次 =print(n,b,v,sep=’ - ’) 用-分隔n,b,v并输出print(1, 2, 3, 4, sep=’\n’, end=’ end’) 用换行分隔,最后输出endprint(‘f={:08,.4f}’.format(math.pi *...

2018-12-14 15:57:12 232

原创 四. 数据类型:其它类型 + 文件

空对象 None布尔 bool:True、FalseTrue本质为 1(等且只等于),False本质为0(等且只等于)。True + 4 -> 5False – 3 -> -3注意:bool(3) -> Truebool(-3) -> Truebool(0) -> Falsebool(‘s’) -> Truebool([]) -> Fa...

2018-12-14 15:52:45 723

原创 三. 数据类型:集合类型 + 映射类型

集合类型set 持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。set存储的元素和dict的key类似,必须是不变对象借助list创建set,重复元素会被合并。s = set([1,2,34,1]) -> {1, 2, 34}s.add(11) -> {1,2,34,11}s.add(1) -> ...

2018-12-14 15:49:23 1078

原创 二. 数据类型:序列类型

分为可变和不可变序列。序列通用操作(以列表为例)生成序列list(‘abcd’) -> [‘a’,’b’,’c’,’d’]list(range(5)) -> [0,1,2,3,4]判断元素是否包含a = [1,2,3,4,’a’,’b’]1 in a -> True2 not in a -> False连接序列a = [1,2]b = [4,5]a ...

2018-12-14 15:45:12 1094

原创 一. 数据类型:基本数据类型

第一个 Python 程序解释器解释运行,源代码编译为pyc字节码,字节码会被缓存,提供下次运行速度,根据时间戳和版本判断是否需要重新编译。在PVM虚拟机中运行。Source(py) -> Byte code(pyc) -> Runtime(PVM)整数Python可以处理任意大小的整数,当然包括负整数,在Python程序中,整数的表示方法和数学上的写法一模一样,例如:1,1...

2018-12-14 15:31:11 242

原创 排序:六. 堆排序(利用堆结构(二叉完全树)的弹出/下沉操作排序)

平均情况、最好情况和最坏情况的时间复杂度都为O(nlog2n),即线性对数复杂度,不稳定的排序算法。堆结构在 数据结构:二叉完全树(堆) 一文中进行了分析,接下来用代码来实现其几个关键操作:弹出、插入、取顶、上浮、下沉堆操作实现这里的实现以小根堆为例:堆的基本操作接口定义:弹出方法弹出时将数组尾元素放到到数组首部,然后对数据首部(根节点)执行下沉操作即可。插入方法插入时将新元...

2018-12-14 11:05:14 545

转载 数据结构:二叉完全树(堆)

参考文章堆常用来实现优先队列。用数组保存数据,而不是链表。在队列中,操作系统调度程序反复提取队列中第一个作业并运行,因为实际情况中某些时间较短的任务将等待很长时间才能结束,或者某些不短小,但具有重要性的作业,同样应当具有优先权。堆即为解决此类问题设计的一种数据结构。堆的实现通过构造二叉堆(binary heap),实为二叉树的一种(完全二叉树)完全二叉树:若设二叉树的深度为h,除第 h ...

2018-12-14 10:54:56 481

原创 排序:四. 归并排序(合并两个已经排好序的数组)

是创建在归并操作上的一种有效的排序算法。平均、最好和最坏时间复杂度都为O(nlog2n)线性对数。是稳定的。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。归并操作(merge)也叫归并算法,指的是将两个已经排序的序列合并成一个序列的操作。归并排序算法依赖归并操作。迭代法申请空间,使其大小为两个已经排序序列之和,该空间用来存...

2018-12-13 09:03:29 5111

原创 排序:三. 插入排序(将元素比较插入到前面的位置)

参考文章时间复杂度O(n2),最好情况O(n),最坏情况O(n2),稳定。(同冒泡)是一种简单直观的排序算法。适用于量级小于千,或者若已知输入元素大致上按照顺序排列。插入排序不适合对于数据量比较大的排序应用。工作原理:通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。算法描述如下:从第一个元素开始,该元素可以认为已经被排序取出下一个元素(第二个元...

2018-12-13 08:58:58 479

原创 排序:二. 直接选择排序(选择剩下的元素里最大(小)放到最后(前))

时间复杂度O(n2),最好情况O(n2),最坏情况O(n2),不稳定。选择排序(Selection sort)是一种简单直观的排序算法。元素交换次数少,比较占多数。工作原理如下首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动有关。如果某个...

2018-12-13 08:54:55 959

原创 排序:一. 冒泡排序 (前往后所有未排序的元素相邻比较)

系列文章共实现了六种排序算法:冒泡排序直接选择排序插入排序归并排序快速排序堆排序定义了 Sortable 接口,每种排序方法实现该接口,在 sort 方法中实现排序。public interface Sortable<T> { /** * 将数组进行排序 * * @param sour 待排序的数组 * ...

2018-12-13 08:51:25 1002

原创 使用 zebra 对数据库表进行水平拆分

zebra 是美团点评开发的数据库访问层中间件,代码维护在 GitHub:Meituan-Dianping/ZebraZebra是一个基于JDBC API协议上开发出的高可用、高性能的数据库访问层解决方案,是美团点评内部使用的数据库访问层中间件。具有以下的功能点:配置集中管理,动态刷新支持读写分离、分库分表丰富的监控信息在CAT上展现异步化数据库请求,多数据源支持zebra 的...

2018-12-07 11:02:08 1914

空空如也

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

TA关注的人

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