Wie verbessert man die Leistung dieses Sortieralgorithmus? Gibt es hier einen ähnlichen Algorithmus?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Wie verbessert man die Leistung dieses Sortieralgorithmus? Gibt es hier einen ähnlichen Algorithmus?

Post by Anonymous »

Ich hatte eine Vorstellung von einem neuen Sortieralgorithmus, der sich teilt und erobert, indem er einen zufälligen Index aufnimmt und das Array in zwei separate Arrays aufteilt. Algorithmusarbeit? Es funktioniert tatsächlich, aber es ist sehr langsam, kann mir jemand ein paar Hinweise geben, wie man die Leistung dieses Algorithmus verbessern und vielleicht erklärt, warum und wie es funktioniert? (Der wichtige Teil ist die Sortiermethode.) < /p>

Code: Select all

class Program
{
static Random random = new Random();

public static void Main()
{
int[] array = GenerateRandomArray(101);
int[] sortedArray = Sort(array);

var sortedByLinq = array.OrderBy(x => x).ToArray();

while (!sortedArray.SequenceEqual(sortedByLinq))
{
sortedArray = Sort(sortedArray);

foreach (var item in sortedArray)
{
Console.Write(item + ",");
}

Console.WriteLine("next");
}
}

static int[] Sort(int[] array)
{
var length = array.Length;

if (length == 1)
{
return array;
}

if (length == 2)
{
var rigthorder = array[0]

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post