Алгоритм определения мест — различия между версиями
Материал из 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}.
Выходные данные: {m1,m2,…,mn}.
- Особенность алгоритма состоит в том, что для одинаковых элементов индексы мест различны.
Определение мест по возрастанию элементов
Входные данные: n, {A1,A2,…,An}.
Выходные данные: {m1,m2,…,mn}.
- Особенность алгоритма состоит в определении одинаковых мест для одинаковых элементов, при этом если одинаковых элементов k, то в распределении мест пропускается (k-1) место.
Другие алгоритмы:
- наибольший общий делитель;
- наименьшее общее кратное;
- проверка кратности;
- деление по модулю;
- получение простых чисел;
- разложение на множители;
- составление перестановок;
- составление сочетаний;
- составление размещений;
- составление разбиений;
- сортировка;
- алгоритм определения мест;
- метод математической индукции;
- схема примитивной рекурсии;
- система счисления.