TC Sort Search - Ipynb Colab
TC Sort Search - Ipynb Colab
TC Sort Search - Ipynb Colab
Time Complexity
No matter the size of the array, an element can be looked up directly, it just requires one operation. (This is not rea
O(n) Finding the lowest value. The algorithm must do n operations in an array with n values to find the lowest value, be
Bubble sort, Selection sort and Insertion sort are algorithms with this time complexity
O(n2)
Large data sets slows down these algorithms significantly. With just an increase in n
O(nlogn) The Quicksort algorithm is faster on average than the three sorting algorithms mentioned above, with O(nlogn) be
keyboard_arrow_down O(1)
my_array = [7, 12, 9, 4, 11]
print( my_array[0] )
keyboard_arrow_down O(n)
my_array = [7, 12, 9, 4, 11]
minVal = my_array[0] # Step 1
Lowest value: 4
n = len(my_array)
for i in range(n-1):
for j in range(n-i-1):
if my_array[j] > my_array[j+1]:
my_array[j], my_array[j+1] = my_array[j+1], my_array[j]
Sorted array: [5, 11, 12, 22, 25, 34, 64, 90]
n = len(my_array)
for i in range(n-1):
min_index = i
for j in range(i+1, n):
if my_array[j] < my_array[min_index]:
min_index = j
min_value = my_array.pop(min_index)
my_array.insert(i, min_value)
Sorted array: [5, 11, 12, 22, 25, 34, 64, 90]
keyboard_arrow_down Searching Algorithm
keyboard_arrow_down Sequential Search
def sequential_search(data, target):
for i in range(len(data)):
if data[i] == target:
return i
return -1 # Jika nilai tidak ditemukan, fungsi mengembalikan -1
target_value = 8
result = sequential_search(my_list, target_value)
if result != -1:
print(f"Nilai {target_value} ditemukan pada indeks ke-{result} di dalam list")
else:
print(f"Nilai {target_value} tidak ditemukan dalam list")
low = 0
high = len(data) - 1
if result != -1:
print(f"Nilai {target_value} ditemukan pada indeks ke-{result} di dalam list")
else:
print(f"Nilai {target_value} tidak ditemukan dalam list")
class Graph:
def __init__(self):
self.graph = defaultdict(list)
if start == end:
return "Start and end nodes are the same."
while queue:
path = queue.popleft()
node = path[-1]
if node == end:
return path
# Inisialisasi graf
graph = Graph()
# Menambahkan edge/edge
graph.add_edge('A', 'B')
graph.add_edge('A', 'D')
graph.add_edge('B', 'C')
graph.add_edge('B', 'F')
graph.add_edge('C', 'E')
graph.add_edge('C', 'G')
graph.add_edge('G', 'E')
graph.add_edge('E', 'B')
graph.add_edge('E', 'F')
graph.add_edge('F', 'A')
graph.add_edge('D', 'F')
# graph add edge('A' 'B')