Пример (Программа реализации алгоритма пузырьковой сортировки) (1016824)
Текст из файла
Пример выполнения расчетов по практическому занятию
Задание: Написать программу реализации алгоритма пузырьковой сортировки для АТД «Очередь» (очередь с одной головой).
Решение:
type ochered=^Rec;
Rec=record
info: integer;
next: ochered;
end;
var
head, head1: ochered;
n, i, j, z, k, y, x, x1: integer;
nop:real;
procedure push(var head:ochered; x:integer); // 6
var a: ochered;
begin
new(a); //+1
a^.info:=x; //+2
a^.next:=head; //+2
head:=a; //+1
end;
procedure pop(var head:ochered; var x:integer); //8+
var a, p: ochered;
begin
a:=head; p:=head; //+2
while a^.next<>nil do begin //+2
p:=a; a:=a^.next; //+3
end;
x:=a^.info; p^.next:=nil; //+4
dispose(a); //+1
end;
function empty(head:ochered): boolean; //2
begin
empty:=head=nil; //+2
e nd;
procedure iniz(var head:ochered; var n:integer); //1+
var x, i: integer;
begin
for i:= 1 to n do begin
x:=Random(501)+300; //+3
push(head,x); //+6
end;
end;
BEGIN
n:=10;
head:=nil;
iniz(head,n);
head1:=nil;
For i:= 1 to n-1 do
For j:= n downto i+1 do begin
if not empty(head1) then begin //+3
head:=head1; //+1
head1:=nil; //+1
end;
For z:=1 to j-2 do begin //1+
pop(head,y); push(head1,y);//+6+8+
end;
pop(head,x); pop(head,x1); // 16+2*
If x>x1 then begin //+1
push(head1,x); push(head1,x1);end //+12
else begin
push(head1,x1); push(head1,x);end; //+12
If j<n then begin //+1
For k:= 1 to n-j do begin //1+
pop(head,y); push(head1,y); //+6+8
end;
end;
end;
For i:= 1 to n do begin
pop(head1,x);
writeln(x);
end;
readln;
END.
F(n)=1+
+ +
=1+ =
=1+ =
=1+ = 1+ =
=1+ = =
=
O(F(n))=10n4
Кол-во элементов | F(n) | O(F(n)) | Т(n) [сек] | Nop |
100 | 998439272 | 1Е+08 | 0,11 | 130463601 |
200 | 15926898572 | 1,6Е+09 | 1,297 | 2043852201 |
300 | 80967897872 | 8,1Е+09 | 5,468 | 10273165801 |
400 | 255926917172 | 2,56Е+10 | 15,461 | 32351404401 |
500 | 624860796472 | 6,25Е+10 | 35,906 | 78811568001 |
600 | 1295763535772 | 1,296Е+11 | 71,500 | 163186656601 |
700 | 2400629135072 | 2,401Е+11 | 128,687 | 302009670201 |
800 | 4095451594372 | 4,096Е+11 | 215,172 | 514813608801 |
900 | 6560224913672 | 6,56Е+11 | 343,984 | 824113147401 |
1000 | 9998943092972 | 1Е+12 | 511,172 | 1255496261001 |
C1=T(n)/F(n) | C2=T(n)/F(n) | C3=Nop/F(n) | C4=Nop/O(F(n)) |
0,00000000011017 | 0,000000011000000 | 0,130667537 | 1,30463601 |
0,0000000000814 | 0,000000000810625 | 0,128327068 | 1,27740763 |
0,0000000000675 | 0,000000000675062 | 0,126879493 | 1,26829207 |
0,0000000000611 | 0,000000000610977 | 0,126408761 | 1,26372673 |
0,0000000000574 | 0,000000000574496 | 0,126126600 | 1,26098509 |
0,0000000000551 | 0,000000000551698 | 0,125938608 | 1,25915630 |
0,0000000000536 | 0,000000000535973 | 0,125804384 | 1,25784952 |
0,0000000000525 | 0,000000000525322 | 0,125703746 | 1,25668692 |
0,0000000000524 | 0,000000000524286 | 0,125625491 | 1,25651065 |
0,0000000000511 | 0,000000000511172 | 0,125562897 | 1,25549631 |
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.