面试-算法

2023-12-13 05:06:07
  1. 费罗列算法
   def test(num):
   	i=0
   	st=1
    end=1
   	tem=1
   	while i <=num:
   		i+=1
   		if i <=2:
   			print(tem)
   		else:
   			tem = st+end
   			st=end
   			end=tem

2.冒泡 排序

   def test(l_list):
   		for i in range(len(l_list)):
   			for j in range(len(l_list)-i-1):
   				if l_list[j] > l_list[j+1]:
   					l_list[j],l_list[j+1] = l_list[j+1],l_list[j]
  1. 快排

拿出第一个数为标准,比它小的排左边,比它大的排右边,循环操作

```python
def test(l):
if len(l)<=2:
    return l
else:
    tem = l[0]
    less = [i for i in l[1:] if i<=tem]
    greater = [i for i in l[1:] if i>tem]
    return test(less) + [tem] + test(greater)
```
  1. 插入
	def test(l):
		for i in range(1,len(l)):
			cur = l[i]
			j=i
			while l[j-1]<cur and j>=0:
				l[j] = l[j-1]
				j-=1
			l[i]=cur
		return l
				

文章来源:https://blog.csdn.net/weixin_44517891/article/details/134804465
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。