![](/user_photo/1597_D_wn5.jpg)
- •1. Обработка строк
- •1.1 Функции обработки строк
- •5. Нахождение подстроки в строке.
- •6. Сравнение строк.
- •Вопросы по теме
- •3.5 Метод вставок
- •3.6 Древовидная сортировка
- •3.7 Внешняя сортировка
- •3.8 Факторы, учитываемые при выборе метода сортировки.
- •Вопросы по теме
- •4. Поиск информации
- •4.1 Основные принципы информационного поиска.
- •4.2. Логика и стратегия поиска.
- •4.3. Последовательный поиск
- •4.4. Ускоренные методы поиска
- •4.5. Блочный поиск
- •4.6. Поиск по двоичному дереву
- •4.7. Поиск с использованием прямого доступа к данным. Хеширование
- •4.8. Многоаспектный поиск
- •Вопросы по теме
- •5. Численные методы. Оптимизация функции одного аргумента
- •5.1. Методы исключения интервалов
- •5.2. Метод деления отрезка пополам (метод дихотомии)
- •5.3. Метод Фибоначчи.
- •5.4. Метод «золотого сечения»
- •Вопросы по теме
- •6. Генерация псевдослучайной последовательности.
- •6.1. Метод средних квадратов
- •6.2. Мультипликативный метод
- •Гост-алгоритм
- •7.2. Компрессия данных Эффективное кодирование
- •Код Шеннона-Фано
- •Код Хаффмана
- •7.3. Кодирование информации при передаче по каналу с помехами
- •Вопросы по теме
- •8. Базовые алгоритмы двухмерной графики
- •Вопросы по теме
6. Сравнение строк.
Строка A больше строки B, если первый несовпадающий символ имеет код в первой строке больше, чем во второй. Строки могут сравниваться в зависимости от регистра и без этой зависимости.
Алгоритм аналогичен поэлементному сравнению векторов с дополнением для инвариантности к регистру (прописные, строчные буквы) фрагмента, приводящего обе строки к одному регистру.
7. Копирование строки.
Отводится память под новую строку, после чего ее элементам присваивается значение элементов исходной строки.
8. Определение количества заданных символов в строке.
Выполняется подсчет результатов сравнений.
9. Заполнение строки символами.
Аргументы: строка, символ или набор символов, количество повторений.
10, 11. Определение первого и последующего вхождений подстроки в строку.
Используется алгоритм из 5с запоминанием в глобальной переменной результата текущего поиска для его использования в …
12. Функции смены регистра.
Если строго определена таблица кодирования символов, то известным является количество символов, отделяющих строчную букву от прописной. Для реализации машиннонезависимой версии этой функции создается служебный массив, в котором хранятся строчные и прописные буквы.
13. Функции преобразования из числовых типов в строчные и обратно.
Используются, если стандартные функции форматированного ввода-вывода не могут быть использованы.
14. Работа со специальными типами строк.
Если используются СС, отличные от стандартной (отсчет времени), используются функции преобразования строки соответствующего формата в число и обратно.
Вопросы по теме
Строка как особый вид информации
Основные алгоритмы обработки строк
2. Процессы обработки информации
Большинство задач, связанных с обработкой и поиском информации, решаются быстрее, проще и эффективнее, если данные хранятся в памяти ЭВМ в определенном порядке.
Вопрос о необходимости упорядочивания информации решается для каждой задачи отдельно, в соответствии с возможностями внешних запоминающих устройств, объемом оперативной памяти и частотой обращения к данным.
В системном ПО ЭВМ также присутствуют программы, обеспечивающие ускоренный доступ к данным с помощью упорядочивания информации. При этом данные могут упорядочиваться по частоте обращения к ним или по значению некоторого информационного поля, называемого ключом.
Программа дефрагментации файловой системы ускоряет доступ к файлам за счет их размещения в последовательных физических блоках, что не обеспечивается функциями файловой системы типа FAT, а также в дефрагментаторах обычно присутствует возможность размещения наиболее часто использующихся файлов в областях диска с наибольшей скоростью доступа к данным. Более сложные файловые системы, например NTFS, обеспечивают ускоренный доступ к данным с помощью индексирования.
В информационных системах единицей обработки данных является запись. Запись представляет собой ряд информационных полей; каждое поле хранит в себе информацию, которой обычно является значением признака хранимого экземпляра объекта, описываемого с помощью записи.
В записи как описании информационных объектов формируются информационные массивы, которые обрабатываются ОС. Ключомназывают поле или совокупность полей (составной), которое однозначно идентифицирует запись в информационном массиве (экземпляр объекта).
Сортировкойназывают процедуру упорядочивания записи в информационном массиве в соответствии со значениями ключа (по возрастанию или убыванию). В отдельных случаях требуется иметь упорядоченность по значению другого поля внутри массива, уже упорядоченного по значению ключа. В этом случае определяют ключи различных рангов. Основной ключ – ключ первого ранга, следующий – второго и т.д.
Например, сортировка по алфавиту – упорядочивание по значению букв.
При наличии операции сравнения строк упорядочивание производится по строкам. В этом случае возможна сортировка по нескольким ключам.
В процессе сортировки, записи могут физически перемещаться в памяти таким образом, что запись с меньшим ключом будет занимать в памяти место, предшествующее записи с большим значением ключа, но в ряде случаев достаточно создать вспомогательную таблицу, которая некоторым образом обеспечивает доступ к записям в соответствии с порядком их ключей.
Например, создается вектор, элементами которого являются структуры из двух полей. В одном поле хранится значение ключа, в другом – порядковый номер данной записи в исходном информационном массиве. Таблицы такого типа называют индексными.
В случае, если необходимо, чтобы информационный массив был упорядочен по значениям разных ключей, то в памяти хранят его копии, упорядоченные по разным ключам. Такие массивы называют инверсными. Однако, изменение записей в информационном массиве требует пересортировки всех его инверсных копий.
В зависимости от состава технических средств, используемых в процессе сортировки, различают внутреннюю и внешнюю сортировки. К первой категории относят способ сортировки, при котором весь информационный массив, подлежащий упорядочиванию, размещается в оперативной памяти. Если ресурсов оперативной памяти недостаточно, то сортировки подвергают участки исходного массива, которые затем подвергаются процедуре слияния. Таким образом внешняя сортировка состоит из внутренней сортировки и слияния. Критериями оценки различных методов сортировки является среднее число операций сравнения, выполняемых в процессе сортировки и среднее число перестановок или обменов элементов. Максимальные и минимальные значения этих показателей вычисляются с помощью комбинационных формул.
Сортировка, как программное обеспечение, обычно поставляется в составе системного ПО, либо с ОС, либо со средствами разработки программ.