摘要:
选择排序 === 选择排序每次只记录最大数的索引值. 类似于冒泡排序, 也是要比较 次, 区别是冒泡排序每次都交换, 选择排序只在最后比较完后才进行交换 python !/usr/bin/env python coding:utf 8 def selectSort(nums): for i in r 阅读全文
摘要:
冒泡排序的时间复杂度是O(N^2) 冒泡排序的思想: 每次比较两个相邻的元素, 如果他们的顺序错误就把他们交换位置 比如有五个数: 12, 35, 99, 18, 76, 从大到小排序, 对相邻的两位进行比较 第一趟: 第一次比较: 35, 12, 99, 18, 76 第二次比较: 35, 99, 阅读全文
摘要:
做一个省份选择器 ===== 使用django做后端, mysql数据库, jQuery 列出结构主要的文件, 其它配置比较简单 models.py 因为所有数据的结构基本一致, 把所有省份, 市和区全部存储一张表, 实现表的 插入数据类似这种 INSERT INTO VALUES ('110000 阅读全文
摘要:
使用 来让列表反转特别方便, 没事自己写了几种方式 根据结果能看出, insert操作的执行顺序是先删除, 后插入 python In [67]: def reverse(nums): i, j = 0, len(nums) 1 while i 阅读全文
摘要:
队列 先进先出(FIFO)结构 不管是 还是 , 必须尽可能以效率最大化的方式实现, 如: 添加元素在列表末尾 队列要实现的需求 由于队列先进先出的特殊性, 在使用list实现的时候, 总会有一个操作出现O(n)的时间损耗, 所以采用 的方式, 即先初始化一个固定大小的空间, 若插入元素发现空间不够 阅读全文
摘要:
后进先出(LIFO) 关于栈的操作 下例可以设置栈的大小 python !/usr/bin/env python class Stack: def __init__(self, args): self.stack = [] if args: self.size = args[0] else: sel 阅读全文
摘要:
内存管理 包括: 变量无须事先声明 变量无须指定类型 不用关心内存管理 变量名会被"回收" del 语句能够直接释放资源 变量定义 python中, 变量在第一次被赋值时自动声明, 和其它语言一样, 变量只有被创建和赋值后才能被使用 动态类型 变量名无须事先声明, 也无须类型声明 对象的类型和内存占 阅读全文
摘要:
在读 , 发现了下面这个例子, 之前没有碰到过, 记录下来 的执行过程是: 由于b是B的实例对象, 所以首先在B类中查找f 没有的话去父类A找, 找到后执行f函数 接着在self.f函数中遇到 由于self的值是一个类C的实例对象, 所以确定g的工作再从调用对象所属属性C类开始进行 由于C类里面有函 阅读全文