Adding more algorithms
This commit is contained in:
parent
afccf99b6d
commit
956871e340
|
|
@ -0,0 +1,27 @@
|
||||||
|
|
||||||
|
lista = [0,1,5,3,15,16,9,10,4,3,30,5,20,48,71,82]
|
||||||
|
|
||||||
|
def swap(i ,j):
|
||||||
|
tmp = lista[i]
|
||||||
|
lista[i] = lista[j]
|
||||||
|
lista[j] = tmp
|
||||||
|
|
||||||
|
def buble():
|
||||||
|
|
||||||
|
for i in range(0, len(lista)):
|
||||||
|
|
||||||
|
j = len(lista)-1
|
||||||
|
less_pos = j
|
||||||
|
|
||||||
|
while i < j:
|
||||||
|
if lista[j] < lista[less_pos]:
|
||||||
|
less_pos = j
|
||||||
|
j -= 1
|
||||||
|
|
||||||
|
if lista[less_pos] < lista[i]:
|
||||||
|
swap(i, less_pos)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
buble()
|
||||||
|
print(lista)
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
|
||||||
|
lista = [0,1,5,3,15,16,9,10,4,3,30,5,20,48,71,82]
|
||||||
|
|
||||||
|
def swap(i, j):
|
||||||
|
tmp = lista[i]
|
||||||
|
lista[i] = lista[j]
|
||||||
|
lista[j] = tmp
|
||||||
|
|
||||||
|
def insertion():
|
||||||
|
|
||||||
|
for i in range(0, len(lista)):
|
||||||
|
j = i
|
||||||
|
|
||||||
|
while j > 0 and lista[j-1] > lista[j]:
|
||||||
|
swap(j, j-1)
|
||||||
|
j -= 1
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
insertion()
|
||||||
|
print(lista)
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
lista = [0,1,5,3,15,16,9,10,4,3,30,5,20,48,71,82]
|
||||||
|
|
||||||
|
def swap(i, j):
|
||||||
|
tmp = lista[i]
|
||||||
|
lista[i] = lista[j]
|
||||||
|
lista[j] = tmp
|
||||||
|
|
||||||
|
def selection():
|
||||||
|
|
||||||
|
for i in range(0, len(lista)):
|
||||||
|
|
||||||
|
less_pos = i
|
||||||
|
|
||||||
|
for j in range((i+1), len(lista)):
|
||||||
|
|
||||||
|
if lista[j] < lista[less_pos]:
|
||||||
|
less_pos = j
|
||||||
|
|
||||||
|
if less_pos != i:
|
||||||
|
swap(less_pos, i)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
selection()
|
||||||
|
|
||||||
|
print(lista)
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
lista = sorted([0,1,5,3,15,16,9,10,4,3,30,5,20,48,71,82])
|
||||||
|
|
||||||
|
def binary_callable(val):
|
||||||
|
return binary(val, 0, len(lista)-1)
|
||||||
|
|
||||||
|
def binary(val, i, j):
|
||||||
|
|
||||||
|
middle = int((i + j)/2)
|
||||||
|
|
||||||
|
if j < i:
|
||||||
|
return False
|
||||||
|
elif val == lista[middle]:
|
||||||
|
return True
|
||||||
|
elif val > lista[middle]:
|
||||||
|
return binary(val, middle+1, j)
|
||||||
|
else:
|
||||||
|
return binary(val, i, middle-1)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
print('FOUND') if binary_callable(-1) else print('NOT FOUND')
|
||||||
|
print('FOUND') if binary_callable(4) else print('NOT FOUND')
|
||||||
|
print('FOUND') if binary_callable(0) else print('NOT FOUND')
|
||||||
|
print('FOUND') if binary_callable(82) else print('NOT FOUND')
|
||||||
|
print('FOUND') if binary_callable(88) else print('NOT FOUND')
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
lista = [0,1,5,3,15,16,9,10,4,3,30,5,20,48,71,82]
|
||||||
|
|
||||||
|
def sequential(val):
|
||||||
|
|
||||||
|
for element in lista:
|
||||||
|
if element == val: return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
|
||||||
|
print('FOUND') if sequential(-1) else print('NOT FOUND')
|
||||||
|
print('FOUND') if sequential(4) else print('NOT FOUND')
|
||||||
|
print('FOUND') if sequential(0) else print('NOT FOUND')
|
||||||
|
print('FOUND') if sequential(82) else print('NOT FOUND')
|
||||||
|
print('FOUND') if sequential(88) else print('NOT FOUND')
|
||||||
Loading…
Reference in New Issue