• LF몰 이벤트
  • 파일시티 이벤트
  • 서울좀비 이벤트
  • 탑툰 이벤트
  • 닥터피엘 이벤트
  • 아이템베이 이벤트
  • 아이템매니아 이벤트

[공학]bellmanford, 자료구조 및 알고리즘 프로그래밍 보고서

*태*
최초 등록일
2007.06.11
최종 저작일
2007.01
4페이지/ 한컴오피스
가격 10,000원 할인쿠폰받기
다운로드
장바구니

소개글

bellmanford 알고리즘을

c++ class를 이용하여 구현하였습니다.

예제수준의 쉬운 코드입니다.

목차

1. 소스
2. 실행화면
3. 프로그램동작 방법

본문내용

1. 소스
main source file : bellmanford.cpp
header file : bellman.h
class define file : bellman.cpp

★ bellmanford.cpp
#include <stdio.h>
#include <conio.h>
#include \

3. 프로그램동작 방법
프로그램 구성은 node라는 structure와 bellman이라는 class가 존재한다. class 내에서 각각의 edge에대한 weight data를 가지고 있고 node structure형의 배열을 이용하여 각각vertex의 d와 pi를 가지고 있다.
초기화는 0번 vertex를 제외하고 나머지 vertex를 초기화 하는데, d 값과 pi값은 무한대 값으로 초기화를 한다. 그런데 C에서는 무한대가 존재 하지 않으므로 int형의 가장 큰 값을 입력한다. 그리고 배열로 데이터를 관리하기 때문에 pi값은 그 배열의 인덱스이다. 그렇기 때문에 null 값은 존재 하지 않고 무한대를 입력한다.
그리고 실제 알고리즘이 동작하는 부분에서 모든 vertex를 접근하는 부분은 for문을 사용하여 구현하였는데, 한번도 간적이 없는 vertex는 그 값을 비교하여 int_max일 경우 건너 뛰는방식이다. 그렇기 때문에 0번부터 1번, 2번,... 순서대로 진행이 되는데, 1번을 진행하고 있을 때, 3번의 내용이 바뀌면 알고리즘대로라면 다음번 차례에 동작하여야 하지만 2번을 지나고 바로 3번이 진행이 된다. 이것을 방지하기 위해서 미리 백업을 해둔 데이터를 근거로 작업을 진행하게 된다.
사실 이 부분은 크게 상관은 없지만 알고리즘대로 구현하기 위해서 그렇게 했다.
그리고 경로와 거리를 출력하는 부분은 경로를 임의의 배열에 pi를 따라가며 입력을 하고 이것을 거꾸로 꺼내며 출력하는 방식을 이용하였다.

참고 자료

없음
*태*
판매자 유형Bronze개인

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우

이런 노하우도 있어요!더보기

최근 본 자료더보기
탑툰 이벤트
[공학]bellmanford, 자료구조 및 알고리즘 프로그래밍 보고서
  • 레이어 팝업
  • 프레시홍 - 특가
  • 프레시홍 - 특가
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
AI 챗봇
2024년 07월 27일 토요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
2:55 오후
New

24시간 응대가능한
AI 챗봇이 런칭되었습니다. 닫기