建设互联网地方垂直网站,做网站技术服务合同,登录功能网站怎么做,一个网站多个数据库冒泡排序 1. 算法步骤 比较相邻的元素。如果第一个比第二个大#xff0c;就交换他们两个。 对每一对相邻元素作同样的工作#xff0c;从开始第一对到结尾的最后一对。这步做完后#xff0c;最后的元素会是最大的数。 针对所有的元素重复以上的步骤#xff0c;除了最后一个。…冒泡排序 1. 算法步骤 比较相邻的元素。如果第一个比第二个大就交换他们两个。 对每一对相邻元素作同样的工作从开始第一对到结尾的最后一对。这步做完后最后的元素会是最大的数。 针对所有的元素重复以上的步骤除了最后一个。 持续每次对越来越少的元素重复上面的步骤直到没有任何一对数字需要比较。 # 时间复杂度 O(1) O(logN) O(n)
# 空间复杂度
a[1,2,7,8,9,65,4,11]
for i in range(0,len(a)-1):for j in range(0,len(a)-1):if a[j] a[j1]:a[j],a[j1]a[j1],a[j]else:pass
print(a)#时间复杂度O(n^2)
选择排序 首先在未排序序列中找到最小大元素存放到排序序列的起始位置。 再从剩余未排序元素中继续寻找最小大元素然后放到已排序序列的末尾。 重复第二步直到所有元素均排序完毕。 a[1,2,7,8,9,20,65,4,5,11]
for i in range(0,len(a)):indexifor j in range(i,len(a)):if a[index]a[j]:a[index],a[j]a[j],a[index]else:pass
print(a)a[1,2,7,8,9,20,65,4,5,11,11,3,13,27]
for i in range(0,len(a)):for j in range(i,len(a)):if a[i]a[j]:a[i],a[j]a[j],a[i]else:pass
print(a)
插入排序 将第一待排序序列第一个元素看做一个有序序列把第二个元素到最后一个元素当成是未排序序列。 从头到尾依次扫描未排序序列将扫描到的每个元素插入有序序列的适当位置。如果待插入的元素与有序序列中的某个元素相等则将待插入元素插入到相等元素的后面。 a[11,53,1,4,8,4,9,19,22,13]
for i in range(0,len(a)-1):for j in range(i1,0,-1):if a[j]a[j-1]:a[j],a[j-1]a[j-1],a[j]
print(a)
二分查找法 1.必须采用顺序存储结构。 2.必须按关键字大小有序排列。 首先假设表中元素是按升序排列将表中间位置记录的关键字与查找关键字比较如果两者相等则查找成功否则利用中间位置记录将表分成前、后两个子表如果中间位置记录的关键字大于查找关键字则进一步查找前一子表否则进一步查找后一子表。重复以上过程直到找到满足条件的记录使查找成功或直到子表不存在为止此时查找不成功。 a[1,2,5,7,11,14,19,24,28,35,48,56,61,77,101]
itemint (input(enter the num))
l0
rlen(a)-1
while rl:midint((rl)/2)ga[mid]if itemg:print(mid)breakelif itemg:lmid1elif itemg:rmid-1
else:print(we dont have the num)