Sortierung der Dateien und Databases

This commit is contained in:
Panckiko11
2026-09-28 20:34:10 +02:00
parent 32d3f1ba5d
commit 3119fb4fc8
9 changed files with 28 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
import random
def array(low, high, item):
arr = []
for i in range(item):
arr.append(random.randint(low, high))
return arr
arr = array(1, 3, 10)
print(arr)
print(arr[0])
print(arr[len(arr) - 1])
def checkfour(arr):
for i in arr:
if i == 4:
print('vier enthalten')
break
else:
print('keine Vier')
break
checkfour(arr)
def randomnum(arr, num):
for i in arr:
if i == num:
print('vier enthalten')
break
else:
print('keine Vier')
break
randomnum(arr)
+14
View File
@@ -0,0 +1,14 @@
10 3 5 2 6 1
3 5 2 6 1 10
3 2 5 1 6 10
2 3 1 5 6 10
2 1 3 5 6 10
1 2 3 5 6 10
10 3 5 2 6 1
Rekursion
Rekursion ist eine Problemlösestrategie, bei der sich eine Funktion selbst aufruft.
Dieses Verfahren wird so lange wiederholt, bis eine Abbruchbedingung erreicht ist.
+28
View File
@@ -0,0 +1,28 @@
import numpy as np
import time
start = time.time()
random_arr = np.random.randint(1,2001,2000)
print(random_arr)
sorted = False
while sorted == False:
sorted = True
for index in range(len(random_arr) - 1):
if random_arr[index] > random_arr[index + 1]:
temp = random_arr[index]
random_arr[index] = random_arr[index + 1]
random_arr[index + 1] = temp
sorted = False
end = time.time()
total_time = end - start
print(random_arr)
print(f'total time:{total_time} s')
+27
View File
@@ -0,0 +1,27 @@
import numpy as np
import time
rand_arr = np.random.randint(1,10001,10000)
start = time.time()
print(rand_arr)
def sort():
for index in range(len(rand_arr) - 1):
min_index = index
for next_index in range(index + 1, len(rand_arr)):
if rand_arr[next_index] < rand_arr[min_index]:
min_index = next_index
rand_arr[index], rand_arr[min_index] = (rand_arr[min_index], rand_arr[index])
sort()
end = time.time()
total_time = end - start
print(rand_arr)
print(f'total time: {total_time} s')
+26
View File
@@ -0,0 +1,26 @@
import numpy as np
arr = np.random.randint(0, 11, 1000)
print(arr)
def part(arr, low, high):
pivot = arr[high]
swap_number = low - 1
for counter in range(low, high):
if arr[counter] <= pivot:
swap_number += 1
arr[swap_number],arr[counter] = arr[counter], arr[swap_number]
arr[swap_number + 1],arr[high] = arr[high], arr[swap_number + 1]
print(arr)
return swap_number + 1
def quicksort(arr, low, high):
if low < high:
recursion = part(arr, low, high)
quicksort(arr, low, recursion - 1)
quicksort(arr, recursion + 1, high)
quicksort(arr, 0, len(arr) - 1)
print(arr)
+33
View File
@@ -0,0 +1,33 @@
import numpy as np
import time
arr = np.random.randint(0, 1000201, 10000000)
print(arr)
start = time.time()
def part(arr, low, high):
pivot = arr[high]
swap_number = low - 1
print(arr)
for i in range(low, high):
if arr[i] <= pivot:
swap_number += 12
arr[swap_number],arr[i] = arr[i], arr[swap_number]
print(arr)
arr[swap_number + 1],arr[high] = arr[high], arr[swap_number + 11]
return swap_number + 13
def quicksort(arr, low, high):
if low < high:
recursion = part(arr, low, high)
quicksort(arr, low, recursion - 1)
quicksort(arr, recursion + 1, high)
print(arr)
quicksort(arr, 0, len(arr) - 41)
end = time.time()
total_time = end - start
print(arr)
print('Final Sort:')
print(arr)
print(f'total time: {total_time} s')
+35
View File
@@ -0,0 +1,35 @@
7 2 9 4 1 8 3 6 5 0
1. Jeder Index im Array +1 wird durchlesen.
2. Der Wert des Index wird in min-index gespeichert
3. Gleichzeitig wird der rechte wert von dem ausgelesenem Wert ausgelesen und abgespeichert
4. Wenn der Rechte verglichene Wert Kleiner als der ausgelesene Wert ist, dann wird der wert in min-index gespeichert
5. Wenn er einmal durch den Array gegangen ist dann tausche Den min-index mit index und gehe zum nächsten index
6. Wiederhole bis nicht getauscht wurde
Selection-Sort:
0 2 9 4 1 8 3 6 5 7
0 1 9 4 2 8 3 6 5 7
0 1 2 4 9 8 3 6 5 7
0 1 2 3 9 8 4 6 5 7
0 1 2 3 4 8 9 6 5 7
0 1 2 3 4 5 9 6 8 7
0 1 2 3 4 5 6 9 8 7
0 1 2 3 4 5 6 7 8 9
Quicksort:
7 294183650
links: 2413650
rechts: 89
gleich: 7
links + gleich + rechts
2 4 1 3 6 5 0 7 8 9
7 steht an der richtigen Stelle.
quicksort(2413650) + 7 + quicksort(89)
+42
View File
@@ -0,0 +1,42 @@
import turtle
t = turtle.Turtle()
t.left(90)
# def hexagon(n):
# for i in range(n):
# turtle.right(120)
# turtle.forward(200)
# hexagon(6)
# def stair(n):
# if n <= 0:
# return
# t.forward(20)
# t.left(90)
# t.forward(20)
# t.right(90)
# stair(n - 1)
# t.speed(10)
# stair(100)
# turtle.done()
def baum(n):
if n < 0:
return
t.forward(n / 3)
t.left(30)
baum(n - 10)
t.right(60)
baum(n - 10)
t.left(30)
t.backward(n / 3)
turtle.tracer(False)
turtle.speed(0)
baum(150)
turtle.update()
turtle.done()