Справочная служба. Адаптация

справочная служба

- может быть как тупо привязанный к системе текстовый файлик

- может быть как справочник:

- возникает проблема формулировки запроса (придется добавить Поиск и оглавление)

- многоуровневая помощь (формулировка/параметры/описание/ахреннноподробаняхарактеристика)

- должна быть возможность просто перенести инфу из справочника в рабочий файл

- пробема наращиваемости справочника (надо ли делать, если да то как, и ее проблемы)

хелп мапла как образце для подражания:

представление- начальный раздел справки

контекстный хелп

запуск обучающей системы

что нового

правила использования HELPа

вывод указателя терминов

предметный поиск по абзацу

история

запись данных в базу данных

включение выключение всплывающих подсказок

регистрация

информация о мапле


Для примера возьмем дек(все оценки чисто субъективные, вы можете не согласится со мной)

Для массива надо запоминать первую голову и последнею, это довольно таки трудно

  Не ограниченность Прямой доступ к элементу Настройка длинны под потребности задачи Сложность работы Скорость работы Количество памяти при одинаковой длине Сколько памяти используется зря   Полная оценка
                   
Массив                  
список                  
Список массивов                  
Массив списков                  
Фиктивный элемент с двух сторон в списке                  
циклический список                  
циклический список с фикт элем                  
Двусвязный список                  
Двусвязный с фикт элем список                  
Двусвязный циклический с фикт элем список                  

Стек-массив, список, масив списков, список массивов, список с фикт элем, циклический список, циклический список с фикт элем, двусвязный список, двусвязный с фикт элем, двусвязный циклический, двусвязный циклический с фикс элем.

Очередь-массив, список, масив списков, список массивов, список с фикт элем(1 фикт элем или 2), циклический список, циклический список с фикт элем, двусвязный список, двусвязный с фикт элем(1 фикт элем или 2), двусвязный циклический, двусвязный циклический с фикс элем

Строки- массив, список, масив списков, список массивов, список с фикт элем(1 фикт элем или 2 в фиктивном элементе можно например хранить количество используемых элементов, так же и в массиве), циклический список, циклический список с фикт элем, двусвязный список, двусвязный с фикт элем(1 фикт элем или 2), двусвязный циклический, двусвязный циклический с фикс элем

множества-массив,массив с хеш функцией, список, масив(также можно использовать хешь функции) списков, список массивов, список с фикт элем(1 фикт элем или 2), циклический список, циклический список с фикт элем, двусвязный список, двусвязный с фикт элем(1 фикт элем или 2), двусвязный циклический, двусвязный циклический с фикс элем, в некоторых случаях можно еще наверно рассказать (написать) про кеширование.

Регулярные деревья – массив (для бинарного, например, потомки будут с индексами 2i+1 и 2i+2),массив массивов, списками, массивы списков, список списков, список массивов, фиктивные элементы подобавлять(и в массив тоже), можно сделать двусвязные списки.

Не регулярные деревья- массив масивов, список списков, список массивов, массив списков, (добавлять фикт элементы, циклические списки и двусвязные списки)

Произвольные графы – (двумерный масив – вершины, двумерный массив – ребра), (список – вершины, список ребра), (добавляйте фиктивные элементы, зацикливайте, двусвязность)

Разреженые структуры данных – двумерный массив(для матрицы), список, список массивов, массив списков, массив с хешированием, опять фиктивные элементы и тд и тп

Разреженный массив, или разреженная матрица (sparse array), — это массив, в котором не все элементы используются, имеются в наличии или нужны в данный момент. Разреженные массивы полезны в тех случаях, когда выполняются два условия: размер массива, который требуется приложению, достаточно большой (возможно, превышает объем доступной памяти), и когда не все элементы массива используются. Таким образом, разреженный массив — это, как правило, большой, но редко заполненный массив. Как будет показано далее, есть несколько способов реализации разреженных массивов.

разреженный список

Целый список — линейный список, элементы которого принадлежат множеству натуральных чисел, причем некоторые элементы могут повторяться. В целых списках m – число элементов, n – размах списка, тогда разреженный список тот, в котором m<<n. Для хранения разреженных списков в компактной форме используются массивы

Таблица идентификаторов – список, массив двумерный, массив списков, список массивов, массив с хешированием, и опять фиктивные элементы зацикливание и тд и тп,

(смысл, мы отдельно храним идентификаторы и отдельно храним описание идентификатора, алгоритм - ищем идентификатор, а дальше по сылке переходим в таблицу описания идентификатора)


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: