Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование.Python.8-10.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
1.2 Mб
Скачать

Асимптотика алгоритма

Сложность алгоритма быстрой сортировки Хоара зависит от метода выбора барьерного элемента. В лучшем случае при каждом выборе барьерного элемента должен выбираться медианный элемент массива. Но поиск медианного элемента — сложная задача, её нельзя решить быстро. Если выбрать первый элемент фрагмента списка A[l] или последний A[r], то если список A уже упорядочен, сложность алгоритма будет O(n2), так как на каждом рекурсивном вызове от большей части списка будет отделяться всего один элемент.

Поэтому в алгоритме быстрой сортировки Хоара, как правило, в качестве барьерного элемента выбирается случайный элемент списка. Тогда алгоритм становится вероятностным — время его работы зависит от того, каким будет случайно выбранный элемент. Возможна (но крайне маловероятна) ситуация, когда всегда будет выбираться наименьший элемент, и в этом случае алгоритм будет работать за O(n2).

В теории вероятностей доказывается, чти при случайном выборе элемента списка и разбиении его на две части, размер большей из двух получившихся частей будет в среднем равен 3n/4. В этом случае глубина рекурсии в среднем будет составлять порядка logn, а средняя сложность алгоритма быстрой сортировки Хоара — O(nlogn).

Права доступа к файлам на NTFS

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

Механизм разрешений используется только на разделах с файловой системой NTFS. На разделах с файловой системой FAT/FAT32 любой пользователь имеет полный доступ ко всем файлам.

В Windows 7 для личных файлов пользователей, приложений и компонентов системы автоматически устанавливается оптимальный набор разрешений согласно следующим основным правилам.

  • Любой пользователь имеет полный доступ к папкам своего профиля и может управлять правами доступа к ним.

  • При использовании учетной записи с правами обычного пользователя нельзя получить доступ к папкам других пользователей. Однако если учетная запись администратора не защищена паролем, то любой пользователь может с ее помощью войти в систему и получить доступ к файлам.

  • Все пользователи могут создавать и изменять свои файлы в папке Общие или одной из ее подпапок. Файлы других пользователей можно только просматривать.

  • Чтобы получить доступ к папкам другого пользователя без его разрешения, нужно обладать правами администратора. При этом пользователь автоматически будет добавлен в список разрешений для данного объекта.

  • Пользователям запрещено изменение системных папок, например Windows или Program Files. Для выполнения этих операций нужно подтвердить ваши права в окне UAC. В целях безопасности некоторые действия запрещены даже для администраторов, но изменить системный файл можно, став его владельцем (см. далее).

Почти все папки имеют в списке доступа группу Администраторы, но поведение системы при попытке получить доступ к такой папке будет различаться, в зависимости от того, включен ли контроль учетных записей (UAC). При включенном UAC появится окно с просьбой подтвердить действия или ввести пароль учетной записи с правами администратора. При отключенном UAC для учетной записи с правами администратора доступ будет предоставлен автоматически, а для обычных пользователей доступ будет запрещен. Если же доступ к папке или файлу запрещен даже администраторам, для его получения понадобится изменить разрешения вручную.