# DOHS - V3
```python
import time
# print(time.time()) # vrijeme koje je prošlo od 1.1.1970 u ponoć
#
# # Nas zanima koliko dugo vremena se pokretala ova funkcija:
# def foo(n):
# for i in range(0, n):
# i**3
#
# start = time.time()
# foo(10000000)
# kraj = time.time()
#
# print(kraj - start)
# funkcija u govorimo koliko će dugo program biti u sleep stanju na kraju će se ispisati provedeno vrijeme
# def foo(n):
# time.sleep(n)
#
# start = time.time()
# foo(1)
# kraj = time.time()
#
# print(kraj - start)
# assert
# def kvadriranje(n):
# return n**2
#
# def testFunkcija(n):
# assert kvadriranje(n) == n**2
# print("uspješno")
#
# testFunkcija(5)
# Pozivanje funkcije:
import utilsVjezbe03 as kratica
# from utils import zbrajanje
# from utils import kvadriranje
# a = 5
# b = 11
#
# print(kratica.kvadriranje(a))
# print(kratica.zbrajanje(a, b))
# korištenje numpy:
import numpy as np
# matrica = np.array([[9, 13, 5], [1, 11, 7], [3, 7, 2], [6, 0, 7]], dtype = int)
# print(matrica.shape)
# print(matrica.ndim)
# print(matrica.size)
# print(matrica.dtype)
#
# a = np.zeros((10, 10))
# for i in a:
# print(i)
import math
# a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]], dtype=np.float32)
# b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]], dtype=np.float64)
#
# print(a * a + b)
# print(np.cos(a))
# print(np.sqrt(b))
#
# print(a.dtype)
# print(b.dtype)
# prije su bili decimalni brojevi:
# res = np.dot(a, b)
# print(res)
# print(res.dtype)
# sad su int vrijednosti
# res = res.astype(np.int32)
# print(res)
# print(res.dtype)
#
# print()
# polje = np.array([9.45, 9.45], dtype=np.float64)
# print(polje)
# novoPolje = polje.astype(np.float32)
# print(novoPolje)
# zadatak 3:
# a = np.array = ([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
# i = [1, 3, 5, 9] # lista
#
# print(a[i][2])
# print(a[i])
# print([i][1:3])
# print(a[i][:-1])
# print(a[i] * a[i][1])
# print(a[i] ** 2 + i)
# print(a[i] / i[1])
# print(np.sin(a[i]) * np.cos(i[2]))
import scipy
import scipy.sparse.csgraph as csg
matrica = np.array([[0, 1, 1, 1], [1, 0, 1, 1], [1, 1, 0, 1], [1, 1, 1, 0]])
print(csg.connected_components(matrica, 1))
print(csg.dijkstra(matrica))
print(csg.floyd_warshall(matrica))
```