Python_算法汇总
2024-08-26 07:11:50
1. 约瑟夫环:
# 约瑟夫环:共31个数,每隔9个删除一个,要求输出前15个号码 a=[x for x in range(1,31)] #生成编号
del_number = 8 #该删除的编号
for i in range(15):
print(a[del_number])
del (a[del_number])
del_number = (del_number + 8)%(len(a))
约瑟夫环:共31个数,每隔9个删除一个,要求输出前15个号码
2.斐波拉切数列:
class Fibs:
def __init__(self, n=10):
self.a = 0
self.b = 1
self.n = n
def __iter__(self):
return self
def __next__(self):
self.a, self.b = self.b, self.a + self.b
if self.a > self.n:
raise StopIteration
return self.a fibs = Fibs(100)
for each in fibs:
print(each) #------------------------------------------------------------ def fibo(num):
numList = [0,1]
for i in range(num - 2):
numList.append(numList[-2] + numList[-1])
return numList fibs=fibo(10)
for each in fibs:
print(each) #---------------------------------------------------------------- def fibo(n):
x, y = 0, 1 while(n):
x,y,n = y, x+y, n - 1
return x # print(fibo(1)) for i in range(1,10):
print(fibo(i)) #-----------------------------------------------------------------
斐波拉切数列(3种)
3.快排 / 快速排序:
def quickSort(num,l,r):
if l>=r:#如果只有一个数字时,结束递归
return
flag=l
for i in range(l+1,r+1):#默认以第一个数字作为基准数,从第二个数开始比较,生成索引时要注意右部的值
if num[flag]>num[i]:
tmp=num[i]
del num[i]
num.insert(flag,tmp)
flag+=1
quickSort(num,l,flag-1)#将基准数前后部分分别递归排序
quickSort(num,flag+1,r) num=[1,-2,4,7,6,3,2,3]
quickSort(num,0,7)
print(num)
快排
4.冒泡排序
#encoding:utf-8
l=[5,3,6,2,1,4,8,7,9]
for j in range(len(l)-1):
if l[j] > l[j+1]:
l[j],l[j+1] = l[j+1],l[j]
print(l)
冒泡排序
5.二分法查找
def BinarySearch(array,t):
low = 0
height = len(array)-1
while low < height:
mid = (low+height)/2
if array[mid] < t:
low = mid + 1 elif array[mid] > t:
height = mid - 1 else:
return array[mid] return -1 if __name__ == "__main__":
print BinarySearch([1,2,3,34,56,57,78,87],57)
二分法查找中间值
最新文章
- Cyclic Nacklace[HDU3746]
- javac 命令
- (十二)boost库之多线程高级特性
- VB.NET版机房收费系统---SqlHelper
- HTTP 301 跳转和302跳转的区别
- 命令行保存指定目录文件的名字(可包含文件夹文字)到txt文本文件
- 在.Net Core中使用MongoDB的入门教程(二)
- mysql压缩包安装方式
- 在Windows 10 + Python 3.6.5 中用 pip 安装最新版 TensorFlow v1.8 for GPU
- MySQL慢查询&;执行计划
- 均方根误差(RMSE)与平均绝对误差(MAE)
- Codeforces 993E Nikita and Order Statistics [FFT]
- String str = new String("xyz") 会创建几个对象
- nmap的使用
- 边缘化搭建 DotNet Core 2.1 自动化构建和部署环境(上)
- jQuery版本的jsonp
- 数据操作流DataOutputStream、DataInputStream类
- [BalticOI2014]Friends/[BZOJ4287]新三个和尚
- 李航统计学习方法——算法2k近邻法
- Git安全配置
热门文章
- 【树形DP】ZJOI2008 骑士
- centos8平台搭建mysql8数据库主从同步
- 2019-2020-1 20209313《Linux内核原理与分析》第二周作业
- centos6.8 架设 Telnet 服务
- 如何高效定义和验证restful请求的参数
- .net core迁移实践:项目文件csproj的转换
- .net core2.2 HealthChecks记录
- windows注册redis为服务,zookeeper为服务
- Vue (学习第四部 前端项目搭建流程 )
- 关于数据源为授权车辆、企业车辆的判断(限foton)