2016-11-29 4 views
0

Я решил, что хочу пообщаться и попытаться разработать некоторые алгоритмы сортировки, посмотреть, как сортировать пузырьки и посмотреть, могу ли я быстро сортировать работу, но первая проблема, с которой я столкнулся, заключается в том, как мне хранить и обрабатывать мои данные? И откуда это?Сортировочная практика, с чего начать?

Должен ли я просто объявить массив с несколькими тысячами полей индекса и вручную ввести и рандомизировать мои данные? Или я должен создать стек?

Как я собираюсь получить эти случайные числа? Разумеется, мне не придется генерировать тысячи из них, чтобы ввести их все вручную.

Для простоты, я думаю, что просто буду придерживаться целых чисел.

ответ

0

Я не уверен, что вы пытаетесь задать здесь. Не могли бы вы быть конкретными? Если вопрос заключается в том, как вы создаете ввод для сортировки, то вы можете определенно использовать рандомизацию. Если вы ищете хорошее место для изучения самой сортировки, я предлагаю введение в алгоритмы Cormen.

1

Если ваша проблема связана с получением тестовых примеров, вы можете написать свои алгоритмы с помощью HackerRank, и у них есть много тестовых примеров для вас. Вот ссылка на все их сортировку вызовов:

https://www.hackerrank.com/domains/algorithms/arrays-and-sorting

0

https://www.topcoder.com/community/data-science/data-science-tutorials/sorting/

Я хотел бы использовать ссылку выше TopCoder в качестве ссылки на сортировку. У них есть необходимые алгоритмы, и они доступны бесплатно. Вам не нужно использовать учебник.

Что касается ввода данных, тестовые примеры могут быть получены через хакерранк, как указано в другом ответе, или вы можете написать функцию для случайного генерирования чисел.

Например, если вы используете Java, вы можете использовать Random:

import java.util.Random; 

public static int randInt(int min, int max) { 

    Random randNum; 
    int randomNum = randNum.nextInt((max - min) + 1) + min; 

    return randomNum; 
} 

Затем можно использовать функцию, как это, чтобы генерировать случайные числа по одному в цикле, чтобы поместить в массив для сортировки.

Например:

int toSort = 1000; 
int[] arrayToSort = new int[toSort]; 

for(int numsToSort = toSort; numsToSort > 0; numsToSort--){ 
    arrayToSort[numsToSort] = randInt(0, 100); 
} 

Здесь я генерирующего массив 1000 пункт со случайными целыми числами в диапазоне от 0 до 100.

+0

Прокоментируй с любыми вопросами, и я буду рад помочь или расширить на мой ответ – LucyMarieJ

0

OK хорошо я, возможно, следовало бы исследовал некоторые более до публикации, как это оказывается, есть готовый метод для генерации случайных чисел в C# framework. Так что это просто вопрос создания массива с X количеством пробелов и запуска цикла X числа раз, чтобы вставить случайное число в этот индекс массива ,

Теперь я должен выяснить, как закодировать сравнение