Алгоритмы средней сложности: различия между версиями
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
Mikst (обсуждение | вклад) |
Mikst (обсуждение | вклад) |
||
Строка 25: | Строка 25: | ||
# Сортировка строк/столбцов по некоторому ключу, связанному со строками/столбцами | # Сортировка строк/столбцов по некоторому ключу, связанному со строками/столбцами | ||
# Анализ элементов, соседних с данным элементом матрицы, в частности, нахождение локальных минимумов/максимумов (использование обрамляющих матрицу строк и столбцов для единообразной обработки) | # Анализ элементов, соседних с данным элементом матрицы, в частности, нахождение локальных минимумов/максимумов (использование обрамляющих матрицу строк и столбцов для единообразной обработки) | ||
== Строки и символы == | |||
=== [[Строки и символы. Тексты программ|Программы]] === | |||
# Преобразование числа в строку и обратно, быстрый способ преобразование цифрового символа в соответствующее однозначное число и обратно | |||
# Разные способы инвертирования строки | |||
# Проверка того, что строка представляет собой запись целого числа; вещественного числа | |||
# Нахождение последнего вхождения подстроки в строку (варианты, использующие различные стандартные функции) | |||
# Удаление из строки определенных символов или вставка в строку символов перед/после требуемых (просмотр строки с конца) | |||
# Разные способы удаления из строки лишних пробелов | |||
# Разбиение строки на отдельные слова (в предположении, что слова разделяются пробелами, или при наличии набора разделителей) | |||
# Изменение регистра букв в строке | |||
# Удаление из начала/конца строки требуемого символа (с учетом того, что в результате строка может оказаться пустой) | |||
# Распознавание в строке начальных и конечных символов слов, при условии, что в начале и конце строки могут находиться пробелы, а слова разделяются одним или несколькими пробелами или другими разделителями | |||
# Проверка правильности расстановки скобок в строке (ситуация, когда используются только круглые скобки, и ситуация, когда имеется несколько видов скобок) | |||
== Ссылки == | == Ссылки == | ||
[[Алгоритмы_для_начинающих_на_примерах|Алгоритмы для начинающих]] | [[Алгоритмы_для_начинающих_на_примерах|Алгоритмы для начинающих]] |
Версия от 21:07, 15 ноября 2009
Циклы
Программы
- Разложение числа на простые множители (математика)
Массивы
Программы
- Проверка того, является ли массив отсортированным (по возрастанию, убыванию или в любом порядке), вывод первого элемента, нарушающего порядок сортировки
- Анализ локальных максимумов, минимумов и экстремумов (использование барьерных элементов)
- Вставка в отсортированный массив нового элемента с сохранением упорядоченности элементов
- Сортировка с помощью индексного массива (с сохранением исходного порядка элементов в основном массиве)
- Анализ последовательностей одинаковых элементов в массиве (определение числа таких последовательностей, самой длинной последовательности, числа самых длинных последовательностей или числа последовательностей указанной длины и т.д.)
- Нахождение нескольких минимальных или максимальных элементов за один проход массива
- Нахождение количества максимальных/минимальных элементов, количества элементов, следующих за максимальными/минимальными и т.д., за один проход массива
- Инвертирование части массива
- Удаление из массива всех элементов, удовлетворяющих определенному условию
- Вставка в массив новых элементов перед/после элементов, удовлетворяющих определенному условию, дублирование таких элементов
Матрицы
Программы
- Удаление строки/столбца с заданным номером
- Вставка новой строки/столбца перед/после заданной строки/столбца (или дублирование строки/столбца)
- Нумерация диагоналей, параллельных главной/побочной, использование массива с характеристиками каждой диагонали (например, с суммой значений)
- Сортировка строк/столбцов по некоторому ключу, связанному со строками/столбцами
- Анализ элементов, соседних с данным элементом матрицы, в частности, нахождение локальных минимумов/максимумов (использование обрамляющих матрицу строк и столбцов для единообразной обработки)
Строки и символы
Программы
- Преобразование числа в строку и обратно, быстрый способ преобразование цифрового символа в соответствующее однозначное число и обратно
- Разные способы инвертирования строки
- Проверка того, что строка представляет собой запись целого числа; вещественного числа
- Нахождение последнего вхождения подстроки в строку (варианты, использующие различные стандартные функции)
- Удаление из строки определенных символов или вставка в строку символов перед/после требуемых (просмотр строки с конца)
- Разные способы удаления из строки лишних пробелов
- Разбиение строки на отдельные слова (в предположении, что слова разделяются пробелами, или при наличии набора разделителей)
- Изменение регистра букв в строке
- Удаление из начала/конца строки требуемого символа (с учетом того, что в результате строка может оказаться пустой)
- Распознавание в строке начальных и конечных символов слов, при условии, что в начале и конце строки могут находиться пробелы, а слова разделяются одним или несколькими пробелами или другими разделителями
- Проверка правильности расстановки скобок в строке (ситуация, когда используются только круглые скобки, и ситуация, когда имеется несколько видов скобок)