[WikiItic] [TitleIndex] [WordIndex

1. Exercicis resolts tema 10

Exercici 10.11

Podeu provar de fer les ordenacions de la pràctica 6 amb aquesta funció veureu que l'odre es O(n log n) veureu que ràpid ordena.

   1 def mergesort(l):
   2     if len(l) < 2:
   3         return l
   4 
   5     else :
   6         mitj= len(l)/2
   7         esq= mergesort(l[:mitj])
   8         dret = mergesort(l[mitj:])
   9         return merge(esq,dret)
  10 
  11 
  12 def merge(left,right):
  13     
  14     result=[]
  15     i,j = 0,0
  16 
  17     while i < len(esq) and j < len(dret):
  18         if esq[i] <= dret[j]:
  19             result.append(esq[i])
  20             i= i +1
  21 
  22         else:
  23             result.append(dret[j])
  24             j= j +1
  25 
  26     result= result + esq[i:]
  27     result= result + dret[j:]
  28     return result

2023-07-03 11:46