Erstellen einer Liste mit 30.000 Nummern [geschlossen]

  • Ich versuche also, die Sortiergeschwindigkeit einer Liste zu vergleichen. Ich habe meine eigene Einfügesortierfunktion geschrieben und vergleiche sie mit Pythons, die in der Sortiermethode eingebaut sind. Ich versuche jetzt, eine Liste zu erstellen, die zufällig 30.000 oder beliebige Zahlen generiert. Dann werde ich eine for-Schleife verwenden, um mit einer Liste von 1000-Zahlen zu beginnen und sie um 1000 zu erhöhen, bis ich 30k erreicht habe. Ich habe bisher Probleme mit der for-Schleife, um eine Liste mit 30-stelligen Ziffern zu erstellen.

         import time
        import random
    
    
    
    def InsertionSort(A):
        for i in range(1,len(A),1):
            target = A[i]
            j = i - 1
            while j >=0 and target < A[j]:
                A[j+1] = A[j]
                j = j - 1
            A[j+1] = target
        return A
    
    def TimSort(A):
        A.sort()
    
        return A
     
    22 November 2011
    David Wolever
2 answers
  • Wenn Sie N Zufallszahlen generieren möchten, können Sie Folgendes verwenden:

     import random
    random_numbers = [ random.random() for _ in xrange(N) ]
     

    Die [ Das Modul && 2&&] verfügt auch über Methoden wie randint, um eine zufällige Ganzzahl zurückzugeben. Weitere Informationen finden Sie in der Dokumentation.

    22 November 2011
    David Wolever
  • Wenn Sie eine zufällige Liste von Ziffern erstellen möchten, haben Sie keine Länge angegeben, also habe ich nur 65535 ausgewählt >

    22 November 2011
    jathanism