Алгоритм определения мест — различия между версиями

Материал из ALL
Перейти к: навигация, поиск
Строка 1: Строка 1:
== Определение ==
 
 
'''Алгоритм определения мест''' — это алгоритм (операция) упорядочения индексов элементов конечного множества (массива) без изменения положения самих элементов.  
 
'''Алгоритм определения мест''' — это алгоритм (операция) упорядочения индексов элементов конечного множества (массива) без изменения положения самих элементов.  
 
+
== Обозначения ==
== Алгоритмы определения мест ==
+
 
Введём обозначения:
 
Введём обозначения:
  
Строка 10: Строка 8:
  
 
'''{m<sub>1</sub>,m<sub>2</sub>,…,m<sub>n</sub>}''' – массив мест (индексов) элементов.
 
'''{m<sub>1</sub>,m<sub>2</sub>,…,m<sub>n</sub>}''' – массив мест (индексов) элементов.
 
+
== Сортировка индексов по возрастанию элементов ==
=== Сортировка индексов по возрастанию элементов ===
+
 
Входные данные: '''n, {A<sub>1</sub>,A<sub>2</sub>,…,A<sub>n</sub>}'''.
 
Входные данные: '''n, {A<sub>1</sub>,A<sub>2</sub>,…,A<sub>n</sub>}'''.
  
Строка 17: Строка 14:
  
 
Выходные данные: '''{m<sub>1</sub>,m<sub>2</sub>,…,m<sub>n</sub>}'''.
 
Выходные данные: '''{m<sub>1</sub>,m<sub>2</sub>,…,m<sub>n</sub>}'''.
 
 
* Особенность алгоритма состоит в том, что для одинаковых элементов индексы мест различны.
 
* Особенность алгоритма состоит в том, что для одинаковых элементов индексы мест различны.
 
+
== Определение мест по возрастанию элементов ==
=== Определение мест по возрастанию элементов ===
+
 
Входные данные: '''n, {A<sub>1</sub>,A<sub>2</sub>,…,A<sub>n</sub>}'''.
 
Входные данные: '''n, {A<sub>1</sub>,A<sub>2</sub>,…,A<sub>n</sub>}'''.
  
Строка 26: Строка 21:
  
 
Выходные данные: '''{m<sub>1</sub>,m<sub>2</sub>,…,m<sub>n</sub>}'''.
 
Выходные данные: '''{m<sub>1</sub>,m<sub>2</sub>,…,m<sub>n</sub>}'''.
 
 
* Особенность алгоритма состоит в определении одинаковых мест для одинаковых элементов, при этом если одинаковых элементов '''k''', то в распределении мест пропускается '''(k-1)''' место.
 
* Особенность алгоритма состоит в определении одинаковых мест для одинаковых элементов, при этом если одинаковых элементов '''k''', то в распределении мест пропускается '''(k-1)''' место.
 
 
== Другие алгоритмы: ==
 
== Другие алгоритмы: ==
 +
*[[наибольший общий делитель]];
 +
*[[наименьшее общее кратное]];
 +
*[[проверка кратности]];
 +
*[[деление по модулю]];
 +
*[[получение простых чисел]];
 +
*[[разложение на множители]];
 
*[[составление перестановок]];
 
*[[составление перестановок]];
 
*[[составление сочетаний]];
 
*[[составление сочетаний]];
Строка 35: Строка 34:
 
*[[составление разбиений]];
 
*[[составление разбиений]];
 
*[[сортировка]];
 
*[[сортировка]];
*[[наибольший общий делитель]];
+
*[[алгоритм определения мест]];
*[[наименьшее общее кратное]];
+
*[[метод математической индукции]];
*[[проверка кратности]];
+
*[[схема примитивной рекурсии]];
*[[деление по модулю]];
+
*[[система счисления]].
*[[получение простых чисел]];
+
*[[разложение на множители]].
+
 
+
 
== Ссылки ==
 
== Ссылки ==
 
* [[Участник:Logic-samara]]  
 
* [[Участник:Logic-samara]]  
 
[[Категория:Дискретная математика]][[Категория:Алгоритмы]]
 
[[Категория:Дискретная математика]][[Категория:Алгоритмы]]

Версия 07:24, 15 января 2016

Алгоритм определения мест — это алгоритм (операция) упорядочения индексов элементов конечного множества (массива) без изменения положения самих элементов.

Обозначения

Введём обозначения:

n – число элементов;

{A1,A2,…,An} – массив элементов;

{m1,m2,…,mn} – массив мест (индексов) элементов.

Сортировка индексов по возрастанию элементов

Входные данные: n, {A1,A2,…,An}.

СОР11.JPG

Выходные данные: {m1,m2,…,mn}.

  • Особенность алгоритма состоит в том, что для одинаковых элементов индексы мест различны.

Определение мест по возрастанию элементов

Входные данные: n, {A1,A2,…,An}.

СОР12.JPG

Выходные данные: {m1,m2,…,mn}.

  • Особенность алгоритма состоит в определении одинаковых мест для одинаковых элементов, при этом если одинаковых элементов k, то в распределении мест пропускается (k-1) место.

Другие алгоритмы:

Ссылки