- •Структуры данных. Стек. Очередь. Список.
- •Методы сортировки. Примеры алгоритмов.
- •Поиск данных в массивах и в файлах. Примеры алгоритмов.
- •Доступ к бд средс-ми php
- •1. Поддержка баз данных в рнр.
- •Технология Microsoft .Net. Особенности, основные положения и характеристики.
- •2. Основные функциональные средства управления сеансом.
- •5. Получение и обработка результатов запроса
- •6.Отсоединение от бд
- •7. Освобождение ресурсов
- •Объектно-ориентированное программирование средствами с#.
- •Создание Windows-приложений средствами с##.
- •Виртуальные функции и полиморфизм. Реализация на с#. Примеры.
- •Элементы контроля в c#. Примеры.
- •Технология ole-db и ado для работы с базами данных.
- •Правила целостности реляционной модели баз данных. Основные операции реляционной алгебры.
- •Нормализация таблиц.1-я, 2-я, 3-я нормальные формы.
- •Общая концепция языка sql. Особенности построения sql-запросов
- •3.3.2. Целостность сущностей
- •3.3.3. Ссылочная целостность
- •3.3.4. Корпоративные ограничения целостности
- •Языки доступа к данным в реляционной субд,основные возможности; их отличия. Примеры.
- •Основные возможности языка sql при выборе данных из бд
- •Основные команды компонента ddl языка sql. Примеры создания, удаления таблиц и модификации структуры таблицы.
- •Хранимые процедуры. Разработка хранимых процедур на ms sql Server
- •Понятие транзакции. Управление параллельностью.
- •Распределенные бд и системы управления распределенными бд.
- •13.Понятие интерфейса. Интерфейс и его реализация. Примеры на диаграмме классов.
Методы сортировки. Примеры алгоритмов.
Сортир – это упоряд-ие элем в структуре данных по возраст(убыван)для числ значений, либо по алфавиту- для строковых знач. Сортировка массива методом пузырька - медленная, но если скорость не главное, можно применить и его. Алгоритм - если два соседних элемента расположены не по порядку, то меняем их местами. Так повторяем до тех пор, пока в очередном проходе не сделаем ни одного обмена, т.е. массив будет упорядоченным.
static void Main()
{int[] arr = {35, 698, 74, 81, 67, 11, 184, 89};
// {int[] arr = {11, 698, 74, 81, 67, 35, 184, 89}; после первого прохода
// {int[] arr = {11, 35, 698, 81, 74, 67, 184, 89}; после второго прохода
for (int j = 0; j < 8; j++)
{ for (int i = j; i < 8; i++)
{ if (arr[j] > arr[i])
{ int x = arr[j];
arr[j] = arr[i];
arr[i] = x; } } }
Console.WriteLine("Cортированый масив");
for (int i = 1; i < 7; i++)
{ Console.WriteLine(arr[i]); }}
Сортировка методом нахождения минимального элемента более быстрый, чем метод пузырька.
Заключается он в следующем: при каждом просмотре массива находим мин эл и меняем местами его с первым на первом проходе, со вторым - на втором и т.д. Не забудьте только, что первый элемент массива должен иметь индекс 0.
int[] arr = { 35, 698, 74, 81, 67, 11, 184, 89 };
int min, pos, temp,n;
for (int i = 0; i <= n-1; i++)
{ min = arr[i];
pos = i;
for (int j = i + 1; j < n; j++)
{ if (arr[j] < min)
{ min = arr[j];
pos = j; }
temp = arr[i];
arr[i] = arr[pos];
arr[pos] = temp; } }
Сортировка вставками. Более быстрый и оптимальный метод. Идея заключается в следующем, мы шаг за шагом идем по массиву и каждый элемент последовательно вставляем по убыванию или возрастанию в нужную нам позицию. Соответственно, что бы упорядочить N элементов мы должны будем сделать ровно N шагов.
static void Main()
{ int[] x = { 35, 698, 74, 81, 67, 11, 184, 89 };
int temp, j;
for (int i = 1; i < 8; i++) {
temp = x[i];
for (j = i; j > 0 && x[j-1] > temp; j--)
{x[j] = x[j-1]; }
x[j] = temp; }
Console.WriteLine("Cортированый масив");
for (int i = 1; i < 7; i++)
{ Console.WriteLine(x[i]); }}
Сортировка выбором. На каждом шаге алгоритма мы выбираем один из элементов входных данных и вставляем его на нужную позицию в уже отсортированном списке, до тех пор пока набор входных данных не будет исчерпан. Метод выбора очередного элемента из исходного массива произволен; может использоваться практически любой алгоритм выбора. Обычно (и с целью получения устойчивого алгоритма сортировки), элементы вставляются по порядку их появления во входном массиве.
static void Main()
{ int[] x = { 35, 698, 74, 81, 67, 11, 184, 89 };
int t; /* Главный цикл до n-1, а не n, т.к. последний остающийся элемент - максимальный */
for (int i = 0; i < 8 - 1; i++)
{ int k = i; t = x[i];
for (int j = i; j < 8; j++)
{ if (x[j] < t)
{ k = j; t = x[j];} }
x[k] = x[i]; x[i] = t; }
Console.WriteLine("Cортированый масив");
for (int i = 1; i < 7; i++)
{ Console.WriteLine(x[i]); } }
