Cтраница 3
То же самое справедливо и для индексов в таблице. Одна из причин, по которой стоит создавать индекс для таблицы, заключается в возможности ускорения выполнения запросов, сортировки и поиска путем построения списка значений, который является более кратким, чем количество записей в таблице. Индекс указывает на записи с определенными значениями. Если поле, которое вы установили в качестве индекса для таблицы, содержит множество записей с одинаковыми значениями, индекс не сможет заметно ускорить выполнение запросов, сортировки и поиска. [31]
Таким образом, копия выдана в обратном порядке. Если поразмыслить, то станет понятно, что это неизбежно. Действительно, восходящий вариант должен начать построение списка с первых членов еще до того, как ему станут известны последние. Нисходящий вариант откладывает построение до тех пор, пока не станет известным последний член. [32]
Исключение в результате каждого просмотра наиболее предпочтительного элемента и перенесение его в конечный список додано вносить минимальные изменения в имеющуюся схему парных сравнений элементов. На рис. 2.14 в качестве примера рассмотрено построение конечного списка из девяти элементов для случая, когда исходное упорядочение противоположно правильному, а пары объектов для сравнения формируются сверху вниз. Исключение на каждом просмотре наиболее предпочтительного элемента не затрагивает остальные пары элементов. Приведенное в примере наиболее благоприятное исходное упорядочение не является единственным. [33]
Ранее мы использовали функции, возвращающие одно значение, или один лисповский объект. Во многих Лисп-системах, в том числе и в Коммон Лиспе, можно определить я многозначные функции ( multiple valued functions), которые возвращают множество значений. Этот механизм более удобен, чем возврат значений через глобальную переменную или через построение списка результатов. Для выдачи и принятия многокомпонентных значений используются специальные формы. [34]
Однако в структуре данных самостоятельность двух соединенных элементов должна быть сохранена, поскольку во время обработки может возникнуть необходимость их разделения. На рис. 2.6 г приведено возможное представление изображения в виде кольцевого списка. Для построения списка используются два указателя: правый, указывающий на соседний элемент, и левый, устанавливающий отношение иерархии. Неиспользованный правый указатель узла Р может пригодиться, например, для того, чтобы указать, какой отрезок включен в оба элемента. [35]
Книги Excel порой живут собственной жизнью и разрастаются до таких размеров, что хочется поднять руки и начать все заново... Если вы захотите переработать свою книгу или создать ее заново, вам понадобится хорошо разобраться в формулах книги, особенно если вы ( или кто-то другой) достаточно давно работали над книгой. На помощь приходит надстройка Formula Manager от OzGrid - замечательный инструмент для идентификации и выполнения общих операций с формулами. Другая удобная возможность Formula Manager - построение списка формул одного или нескольких листов ( и даже целой книги) с использованием генератора отчетов. Пример такого отчета показан на рисунке. [36]
Алгоритм получения новой нумерации вершин состоит из п шагов, каждый из которых соответствует присвоению номера некоторой вершине. На каждом шаге очередной помер присваиваем первому элементу очереди Q. Если i B ( q), помечаем этот элемент в списке L и в матрице смежности. Корректируем список L, исключая из него помеченные элементы и добавляя в к. Нетрудно видеть, что для построения списка L на каждом шаге достаточно выполнить 0 ( п) операций. [37]