Студопедия

КАТЕГОРИИ:

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


Очереди с приоритетами




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

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

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

 

2. Моделирование как процесс познания. Математическая модель, понятие вычислительного эксперимента и его структура.

Моделирование – метод познания. Модель – неполное описание объекта относительно поставленной задачи.

 

Математическая модель – модель описанная на математическом языке.

 

Вычислительный эксперимент – технология в итерационном процессе моделирования. Вычислительный эксперимент – средство решения сложных задач. В каждом случае имеет свою особенность (область исследования, применения и т.д)

 

Вычислительный эксперимент можно разделить на этапы:

1)Постановка задачи

2)Разработка математической модели

3)Разработка алгоритма

4)Программная реализация

5)Проведение расчетов

6)Анализ результата

7)Обработка результата

 

Последний этап: этап принятия решения

 

3. Составить программу, которая формирует стек, добавляя в него произвольное количество компонент.

program Project11;   {$APPTYPE CONSOLE}   uses SysUtils, Windows;   //Program Zadanie_11; //Uses Crt; Type TPtr = ^TElem; TElem = record Inf :Integer; Link:TPtr; end; Var Z,Value:Integer; Top:TPtr; Procedure Push(Val:Integer); Var P:TPtr; Begin New(P); P^.Inf:=Val; P^.Link:=Top; Top:=P; End; Procedure Pop(var Val:Integer); Var P:TPtr; Begin Val:=Top^.Inf; P:=Top; Top:=P^.Link; Dispose(P); End;   Begin //ClrScr; Writeln('Create STACK...'); Top:=nil; Writeln('Ukagite deistvie:'); Writeln(' 1. Zapis v STACK'); Writeln(' 2. Izvlechenie iz STACK'); Writeln(' 3. Ochistka STACK and print'); Writeln(' 4. EXIT'); Repeat Readln(Z); If Z=1 Then Begin Writeln('Vvedite VALUE == '); Readln(Value); Push(Value); End; If Z = 2 Then Begin Pop(Value); Writeln('Izvlechennoe VALUE == ',Value); End; If Z = 3 Then Begin While Top <> nil do Begin Pop(Value); Writeln('Izvlechennoe VALUE == ',Value); End; End; Until (Z=4); End. //begin { TODO -oUser -cConsole Main : Insert code here } //end.  

 


Поделиться:

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





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты