Студопедия — Программная реализация стека на основе статического массива.
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Программная реализация стека на основе статического массива.






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

Понятие сложности алгоритма, оценки времени исполнения.

Алгоритмическая сложность — это зависимость времени исполнения алгоритма от длины входных данных. Если нам нужно что-то найти во входных данных или что-то переставить местами, то чем больше количество информации на входе, тем больше времени понадобится, чтобы получить результат. "Время" здесь величина довольно абстрактная. Естественно, она должна быть универсальной, и не зависеть от типа и производительности компьютера или иного устройства, а также от других частностей. Измеряется она числом элементарных шагов.

Время поиска оценивается как О(n) (O большое от n)

O(log n) потребуется 20 микросекунд, O(n2) – более 12 дней

Если n – длина строки, то <кол-во операций>=2*n2 - для сложения матриц, 32 (n2) раз – для перемножения матриц.

2*n3 - алгоритм кубической сложности О(n3).

O() показывает исключительно асимптотику!

Основание логарифма не пишется.

Пусть есть O(log2 n).

log 2 n = log 3 n / log 3 2,

O(log 2 n) = O(log 3 n)

Общая классификация вычислительных алгоритмов.

Вычислительные алгоритмы – для вычисления математических объектов(констант, функций, уравнений и тд)

1. Теория чисел – вычисление констант и математических функций

2. Решение алгебраических задач

3. Нахождение корней уравнений

4. Приближение функций

5. Вычислит. и геометрия и др.

 

 

Точность представления чисел.

Для реальных вычислений нужно использовать тип double.

Нормальной формой числа с плавающей запятой называется такая форма, в которой мантисса (без учёта знака) в десятичной системе находится на полуинтервале [0; 1). Распространена также другая форма записи — нормализованная, в которой мантисса десятичного числа принимает значения от 1 (включительно) до 10 (не включительно), а мантисса двоичного числа принимает значения от 1 (включительно) до 2 (не включительно).

Число одинарной точности (float) — компьютерный формат представления чисел, занимающий в памяти одно машинное слово (в случае 32-битного компьютера — 32 бита или 4 байта). Используется для работы с вещественными числами везде, где не нужна очень высокая точность.

Число двойной точности (double) — компьютерный формат представления чисел, занимающий в памяти два машинных слова (в случае 32-битного компьютера — 64 бита или 8 байт). Часто используется благодаря своей неплохой точности, даже несмотря на двойной расход памяти и сетевого трафика относительно чисел одинарной точности.

 

 

4. Вычисление «машинного нуля».

Машинный нуль — числовое значение, меньше которого невозможно задавать точность для любого алгоритма, возвращающего вещественные числа. Абсолютное значение "машинного нуля" зависит от разрядности сетки применяемой ЭВМ, от принятой в конкретном трансляторе точности представления вещественных чисел и от значений, используемых для оценки точности.

#include <stdio.h>
void main ()

{
float e, e1;
int k=0;
e=1.0;
m: e=e/2.0;
e1=e+1.0;
k++;
if (e1>1.0) goto m;
printf ("\n Число делений на

2 %6d\n", k);
printf ("машинный нуль

%e\n", e);
}

 

 

Понятие стека. Операции над стеком.

Стек – это последовательный список переменной длины, включение и исключение элементов из которого выполняется только с одной стороны(вершины) (FILO).

Операции:

- включение нового элемента

- исключение элемента

- определение текущего числа эл-ов в стеке

- очистка стека

- неразрушающее чтение из вершины стека

Реализация стека может быть выполнена на основе массива, кроме массива необходимо иметь переменную(указатель стека), адресующую вершину стека.

Вершине стека соответствует первый свободный элемент и стек растет в сторону увеличения адреса.

 

 

Программная реализация стека на основе статического массива.

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

На уровне машинных команд существуют функции push и pop, в основе организации исполняемой среды один из 4 базовых регистров называется стековым и работает по стековому принципу, поэтому стек является основной структурой, используемой при организации компьютерных процессов.

 







Дата добавления: 2015-12-04; просмотров: 294. Нарушение авторских прав; Мы поможем в написании вашей работы!



Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

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

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Характерные черты немецкой классической философии 1. Особое понимание роли философии в истории человечества, в развитии мировой культуры. Классические немецкие философы полагали, что философия призвана быть критической совестью культуры, «душой» культуры. 2. Исследовались не только человеческая...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит...

Кран машиниста усл. № 394 – назначение и устройство Кран машиниста условный номер 394 предназначен для управления тормозами поезда...

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

ПРОФЕССИОНАЛЬНОЕ САМОВОСПИТАНИЕ И САМООБРАЗОВАНИЕ ПЕДАГОГА Воспитывать сегодня подрастающее поколение на со­временном уровне требований общества нельзя без по­стоянного обновления и обогащения своего профессио­нального педагогического потенциала...

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

Studopedia.info - Студопедия - 2014-2024 год . (0.024 сек.) русская версия | украинская версия