Трассировка межсоединений

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: Информационные технологии
  • 2828 страниц
  • 12 + 12 источников
  • Добавлена 08.01.2011
800 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
Аннотация
Введение
1.Теоретическая часть
1.1.Постановка задачи трассировки
1.2.Классификация и описание методов и алгоритмов
2.Практическая часть
2.1.Описание работы выданного алгоритма
2.2.Инструкция пользователя
Список литературы
Приложение – исходный код программы

Фрагмент для ознакомления

Таким образом всего получаем O(VlogV+ElogV)=O(ElogV).
Лучшую оценку можно получить, если использовать фибоначчиевы кучи. С помощью фибоначчиевых куч можно выполнить операцию EXTRACT-MIN за учетное время O(logV), а операцию DECREASE-KEY – за учетное время O(1). В этом случае суммарное время работы алгоритма Прима составит O(E+VlogV) [2, стр. 28].


2.Практическая часть
2.1.Описание работы выданного алгоритма
На рис. 2.1 приведена схема алгоритма Прима.

Рис. 2.1 – Блок-схема алгоритма Прима
2.2. Тестирование работы программы
Входной информацией для программы является матрица весов графа. Выходной информацией является матрица связности минимального остовного дерева.
Тестовый набор N1
Матрица весов
1 2 3 4 5 6 1 - 1 2 4 4 6 2 - 3 6 5 2 3 - 3 4 3 4 - 5 6 5 - 2 6 -
Результат
1 2 3 4 5 6 1 - 1 2 2 - 2 3 - 3 4 - 5 - 2 6 -
Тестовый набор N2
Матрица весов
1 2 3 4 5 6 1 - 5 2 4 7 1 2 - 4 3 3 2 3 - 3 5 6 4 - 5 2 5 - 7 6 -
Результат
1 2 3 4 5 6 1 - 2 1 2 - 3 2 3 - 4 - 2 5 - 6 -
Тестовый набор N3
Матрица весов
1 2 3 4 5 6 7 8 9 10 1 - 4 5 9 2 - 3 - 8 4 - 7 7 7 5 - 5 6 - 4 7 - 8 - 6 9 - 10 -
Результат
1 2 3 4 5 6 7 8 9 10 1 - 4 5 9 2 - 3 - 8 4 - 7 7 5 - 5 6 - 4 7 - 8 - 6 9 - 10 -
2.2.Инструкция пользователя
После запуска приложения появляется главное окно программы построения минимального оставного дерева.

Вводим в текстовое поле количество вершин графа и нажимаем кнопку «Рассчитать». Программа строит матрицы размерности заданной пользователем.

Далее заполняем матрицу весов для графа заданного размера и нажимаем кнопку «Рассчитать».

Построение графа идет поэтапно, на каждом ребре графа выводится информационное сообщение.















Конец работы программы граф построен. В правой таблице заполнена матрица весов минимального остова графа.

Список литературы
Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. (М.: Наука, 2007. -598 с.
Бахвалов Н.С. Численные методы. Часть 1. (М.: Наука, 2003. (631 с.
Самарский А.А. Введение в численные методы. (М.: Наука, 2002. (286 с.
Калиткин Н.Н. Численные методы. (М.: Наука, 2006. (512 с.
Крылов В.И., Бобков В.В., Монастырный П.И. Вычислительные методы. Т. I, II. (М.: Наука, 2007. (600 с.
Житников В.П., Шерыхалина Н.М., Ураков А.Р. Линейные некорректные задачи. Верификация численных результатов. Учебное пособие. (Уфа: УГАТУ, 2002. (91 с.
Smith D.A., Ford W.F. Acceleration of linear and logarithmic convergence. – SIAM J. Numer. Anal., 2009, v. 16. (P. 223-240.
Smith D. A., Ford W. F. Numerical comparisons of non-linear convergence accelerations. – Mathematics of Computation, 2002, v. 38, 158. (P. 481–499.
Прудников А.П., Бычков Ю.А., Маричев О.И. Интегралы и ряды. –М.: Наука, 1981. (800 с.
Ахо А., Хопкрофт Дж., Ульман Дж. Структуры данных и алгоритмы. — М.: Видавничий будинок «Вільямс», 2001.
Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ. — М.: МЦНМО, 2001
Н. Кристофидес, Теория графов– «Мир» Москва, 2008
Приложение – исходный код программы
//---------------------------------------------------------------------------
#include
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#include "math.h"
#pragma resource "*.dfm"
TForm1 *Form1;
int n=3;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}



//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
n=StrToInt(Edit1->Text);
StringGrid1->ColCount=n;
StringGrid1->RowCount=n;
StringGrid2->ColCount=n;
StringGrid2->RowCount=n;
StringGrid1->Visible=true;
BitBtn1->Enabled=true;
Button1->Enabled=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
BitBtn2->Enabled=true;
BitBtn1->Enabled=false;
Button1->Enabled=false;
StringGrid2->Visible=true;
int a[10][10];
int mas[3][10];
int kmas=0;
int versh[10];
for(int i=0; iversh[i]=0;
versh[1]=1;
for(int i=0; ifor(int j=0; ja[i][j]=1000;
//*******
for(int i=0; ifor(int j=0; jif (StringGrid1->Cells[i][j]!="") a[i][j]=StrToInt(StringGrid1->Cells[i][j]);
//**********
int k=n-1;

while (k!=0)
{
int buf=1000;
int x, y;
for(int i=1; ifor(int j=0; j{
if ((a[i][j] {buf=a[i][j]; x=i; y=j;}
}
if (versh[x]==1) versh[y]=1; else versh[x]=1;
a[x][y]=1000;
mas[0][kmas]=x;
mas[1][kmas]=y;
mas[2][kmas]=buf;
kmas++;
//*****
k--;
}
///***********************
for(int i=0; i StringGrid2->Cells[mas[0][i]][mas[1][i]]=IntToStr(mas[2][i]);
//**********
//рисование
int krug[2][10];
Form1->Canvas->Pen->Color=clBlack;
for(int i=0; i{
krug[0][i]=400+100*sin(6.28*i/n);
krug[1][i]=400+100*cos(6.28*i/n);
}
for(int i=0; i{
Form1->Canvas->MoveTo(krug[0][mas[0][i]], krug[1][mas[0][i]]);
Form1->Canvas->LineTo(krug[0][mas[1][i]], krug[1][mas[1][i]]);
MessageBox(NULL, "Продолжить построение", "Построение остова", MB_OK);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{
Button1->Enabled=true;
StringGrid1->Visible=false;
StringGrid2->Visible=false;
BitBtn2->Enabled=false;
Form1->Canvas->Pen->Color=clBtnFace;
Form1->Canvas->Rectangle(295, 295,505, 505);
}
//---------------------------------------------------------------------------









6

1.Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы. ?М.: Наука, 2007. -598 с.
2.Бахвалов Н.С. Численные методы. Часть 1. ?М.: Наука, 2003. ?631 с.
3.Самарский А.А. Введение в численные методы. ?М.: Наука, 2002. ?286 с.
4.Калиткин Н.Н. Численные методы. ?М.: Наука, 2006. ?512 с.
5.Крылов В.И., Бобков В.В., Монастырный П.И. Вычислитель¬ные методы. Т. I, II. ?М.: Наука, 2007. ?600 с.
6.Житников В.П., Шерыхалина Н.М., Ураков А.Р. Линейные некорректные задачи. Верификация численных результатов. Учебное пособие. ?Уфа: УГАТУ, 2002. ?91 с.
7.Smith D.A., Ford W.F. Acceleration of linear and logarithmic convergence. – SIAM J. Numer. Anal., 2009, v. 16. ?P. 223-240.
8.Smith D. A., Ford W. F. Numerical comparisons of non-linear convergence accelerations. – Mathematics of Computation, 2002, v. 38, 158. ?P. 481–499.
9.Прудников А.П., Бычков Ю.А., Маричев О.И. Интегралы и ряды. –М.: Наука, 1981. ?800 с.
10.Ахо А., Хопкрофт Дж., Ульман Дж. Структуры данных и алгоритмы. — М.: Видавничий будинок «Вільямс», 2001.
11.Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ. — М.: МЦНМО, 2001
12.Н. Кристофидес, Теория графов– «Мир» Москва, 2008

Вопрос-ответ:

Что такое трассировка межсоединений?

Трассировка межсоединений (interconnect tracing) - это процесс создания путей для проводов или трасс на печатных платах, интегральных схемах или других электронных устройствах.

Какие задачи решает трассировка межсоединений?

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

Какие методы используются при трассировке межсоединений?

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

Как работает алгоритм трассировки, описанный в статье?

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

Какова сложность алгоритма трассировки?

Сложность алгоритма трассировки зависит от количества вершин (V) и ребер (E) в графе. В данной статье, используется алгоритм со сложностью O(VlogV+ElogV), который может быть дополнительно оптимизирован с использованием фибоначчиевых куч для выполнения операции EXTRACT MIN за O(logV) время.

Что такое трассировка межсоединений?

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

Какие задачи решает трассировка межсоединений?

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

Какие методы и алгоритмы используются при трассировке межсоединений?

В трассировке межсоединений применяются различные методы и алгоритмы, включая алгоритмы поиска пути, такие как алгоритм Дейкстры и алгоритм A*; методы оптимизации, такие как алгоритмы выравнивания трассы и алгоритмы глобальной оптимизации; и использование специальных структур данных, таких как фибоначчиевы кучи, для эффективной обработки трассировок.