воскресенье, 10 октября 2010 г.

Плавная сортировка (Smooth_sort)

[Все сортировки]

Предварительные темы:
1. Пирамидальная сортировка
2. Битовые операции

Теория: На русском языке мне, к сожалению, не удалось найти ни одного материала по этой теме. Поэтому общее представление об алгоритме можно получить из англоязычного источника, например здесь.
Рекомендую обратить внимание на gif’ку, представленную в статье. Лично мне она очень понравилась).


воскресенье, 3 октября 2010 г.

Битовый операции

Рассмотрим ряд базовых задач на работу с битами числа. В качестве базового целочисленного типа будем использовать 32битный int.

Попрактиковаться можно здесь:
задачи на битовые операции.

1. Обнулить последние i бит числа А

  1. A>>=i;
  2. A<<=i;

или

  1. A &= (~0)<<i;
2. 2^n
  1. A = 1<<n;

воскресенье, 19 сентября 2010 г.

Сортировка Шелла (Shell_sort)

[Все сортировки]

Теория: Общая информация изложена здесь

Практика
: informatics.mccme.ru

Визуализатор: rain.ifmo.ru  [Java]

Реализация:
Данная сортировка является модификацией сортировки вставками.

Сортировка с помощью бинарного дерева (Tree_sort)

[Все сортировки]

Теория: Общая информация изложена здесь

Практика
: informatics.mccme.ru

Реализация:

В своей реализации эта сортировка использует структуру данных: бинарное дерево, каждый элемент которого можно описать следующим образом:
  1. struct tree
  2. {
  3.   tree* left; // левый сын
  4.   tree* right; // правый сын
  5.   int value// значение
  6. };
* This source code was highlighted with Source Code Highlighter.

суббота, 18 сентября 2010 г.

Сортировка слиянием (Merge_sort)

[Все сортировки]

Теория: Общая информация изложена здесь

Практика
: informatics.mccme.ru

Визуализатор: rain.ifmo.ru  [Java]