随笔分类 - 算法
摘要:#选择排序 def insert_sort(li): for i in range (1,len(li)): # i表示摸到牌的下标 tem = li[i] j = i - 1 # j 是初始手中的牌 while j >= 0 and li[j] > tem :#找到比它小的牌 li[j+1] =
阅读全文
摘要:# 选择排序 # 一趟排序记录最小值,放到第一个位置 #再一趟排序记录记录列表无序区最小的数,放到第二个位置 #.... # 关键点:有序区、无序区、无序区最小值 #方法一 def select_Sort1(li): li2 = [] for i in range(len(li)): min_li
阅读全文
摘要:import random """ 排序:将一组无序记录序列调整为有序记录序列 列表排序:将无序列表调整为有序列表 输入:列表 输出:有序列表 升序与降序 内置函数sort() """ #冒泡排序 bubble Sort #1、列表每两个相邻的两个数,若前面比后面的大,则交换这个数 #2、一趟排序完
阅读全文
摘要:import time import datetime # 测试函数运行时间 def cal_time(fn): """计算性能的修饰器""" def wrapper(*args,**kwargs): starTime = time.time() f = fn(*args,**kwargs) end
阅读全文
摘要:''' 查找:在一些数据元素中,通过一定的方法找出与关键字相同元素的过程, 列表查找:从列表中查找指定元素 输入:列表、待查找元素 输出:元素下标(未找到元素时一般返回None或-1) 内置列表查找函数:index() ''' # 顺序查找: 线性查找,从列表的第一个元素开始,顺序进行搜索,直到找到
阅读全文
摘要:递归的两个特点 调用自身 结束条件 # _*_coding:utf-8 ''' 递归实例:汉诺塔问题 n 盘子总数 a 第一个柱子 b 第二个柱子 c 第三个柱子 n个盘子时: 1、将n-1个盘子,从A经过C移动到B 2、把n-1个盘子,从A移动到C 3、把n-1个盘子,从B经过A移动到C '''
阅读全文