Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпора_экз.docx
Скачиваний:
2
Добавлен:
31.07.2019
Размер:
42.24 Кб
Скачать

Основні структури даних.

Структури даних, що складаються з одного елемента називаються тривіальними. Одним з прикладом структурної організації даних є масив. Масив – фіксована сукупність даних одного типу. Кожний текучий елемент має вказівник на наступний.

Стек – це структура даних, у якій елемент, записаний останнім, зчитують першим. Тобто використовується принцип “останній прийшов – перший пішов”. Стек використовують у програмуванні для реалізації рекурсії.

Черга – це структура даних, у якій елемент, записаний першим, зчитують першим. Тут діє принцип – “перший прийшов – перший пішов”. Стеки та черги описують і створюють у пам’яті за допомогою списків.

Список – це скінчена сукупність даних одного типу, між якими налагоджено зв’язок. Елемент (одно направленого) списку складається з двох частин: самого даного (даних) та вказівника на наступний елемент списку.

Списки мають деякі переваги над масивами. Вони досить ефективні щодо операцій додавання або видалення елементу в довільному місці списку, виконуючи їх за постійний час, тоді як масиви для цього потребують більше часу (час зростає з ростом кількості елементів масиву). З іншого боку, масиви дозволяють безпосередній доступ до будь-якого елементу. Однобічно зв'язані списки, натомість, потребують проходження усіх попередніх елементів. Очевидним недоліком списків є необхідність разом з корисною інформацією додаткового збереження інформації про вказівники, що позначається на ефективності використання пам'яті цими структурами.

Алгоритми шифрування інформації. Загальна характеристика, класифікація.

В основі любої методології шифрування є ключ шифрування. Існує 2 методології з використання ключів шифрування – симетрична, при цій методології один ключ для шифрування і дешифрування; асиметрична, при якій використовується два ключа(відкритий і секретний ключ, що взаємопов’язані). Відкритий ключ передається іншому абоненту, секретний зберігається в місці його формування.

Технологія використання асиметричної методології:

  1. Кожен з абонентів генерує два ключа(відкритий та закритий).

  2. Абоненти обмінюються відкритими ключами.

При допомозі відкритого ключа іншого абонента виконується шифрування.

----------------------------------------------------

Алгоритм шифрування rsa.

Схема RSA базується на обчисленні виразів зі степенями. Відкритий текст шифрується блоками, довжина кожного із яких менша за деяке число n.

Алгоритм генерації ключа:

A повинен згенерувати відкритий та секретний ключі:

1. Згенерувати два великих простих числа p та q приблизно однакової довжини;

2. Обчислити n = p * q, fi = (p – 1) * (q – 1);

3. Вибрати натуральне e, 1 < e < fi, взаємно просте з fi;

4. Використовуючи розширений алгоритм Евкліда, розв’язати рівняння

d * e º 1 (mod fi).

Відкритий ключ: (n, e). Секретний ключ: d.

Схема шифрування RSA

B шифрує повідомлення m та надсилає A.

1. Шифрування. В робить наступні дії:

а) отримати відкритий ключ (n, e) від А;

б) представити повідомлення у вигляді натурального числа m з проміжку [1 n];

в) обчислити c = me mod n;

г) надіслати шифротекст cдо А.

2. Дешифрування. Для отримання повідомлення m із шифротексту c А робить наступні дії:

а) використовуючи секретний ключ d, обчислити m = cd mod n.

----------------------------------------------------

Алгоритм сортування методом мінімальних елементів.

Ідея методу: створювати відсортовану послідовність, шляхом приєднання одного елемента до іншого. В цьому алгоритмі порівння відбувається проходячи всю послідовність від початку до кінця.

----------------------------------------------------

Приклади умовного запису операндів математичних виразів. Визначення послідовності дій в виразах.

Нехай задане просте арифметичне вираження виду:

(A+B)*(C+D)-E        (1)

Представимо це вираження у виді дерева, у якому вузлам відповідають операції, а гілкам - операнди. Побудову почнемо з кореня, у якості якого вибирається операція, що виконується останньої. Лівій галці відповідає лівий операнд операції, а правій галці - правий. Зробимо обхід дерева, під яким будемо розуміти формування рядка символів із символів вузлів і гілок дерева. Обхід будемо робити від самої лівої гілки вправо і вузол переписувати у вихідний рядок тільки після розгляду всіх його гілок. Результат обходу дерева має вид:AB+CD+*E-  Характерні риси вираження складаються в проходженні символів операцій за символами операндов і у відсутності дужок. Такий запис називається зворотним польським записом.Зворотний польський Властивості:

  1. Обчислення виразу за 1 прохід.

  2. Одержати зворотній польський запис використовуючи алгоритм Дейкстри.

( 0, ) 1, +- 2, */ 3, ** 4.

Вхідний рядок переглядається зліва направо при цьому операнди переписуються в вихідний рядок, а знаки операцій в стек заносяться у правилах:

  1. Якщо стек порожній, то операція з вхідного рядка у стек.

  2. Операція виштовхує зі стека в вихідний рядок з більшими чи рівним пріоритетом.

  3. Якщо черговий символ вхідного рядка є ( вона поміщається в стек.

  4. ) виштовхує від операції зі стека до найближчої (.

----------------------------------------------------