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

[PASCAL] 배열을 이용한 이진탐색트리 삽입, 삭제, 탐색 프로그램

*장*
개인인증판매자스토어
최초 등록일
2007.10.16
최종 저작일
2007.10
9페이지/ 압축파일
가격 1,500원 할인쿠폰받기
다운로드
장바구니

소개글

파스칼로 구현한 배열이진탐색트리 프로그램

이진탐색트리는 부모노드를 기준으로 작은 값은 왼쪽, 큰 값은 오른쪽에 위치하는 형식의 자료구조이다. 따라서 탐색은 루트노드를 시작으로 하여 그 크기 비교를 통해 어느 자식으로 이동할 지를 결정하여 이루어진다. 이번 프로그램에서는 배열로 트리가 구현되어 있으므로 인덱스 1을 시작으로 탐색하는 레코드의 값이 작은 경우는 현재 인덱스에 2를 곱하고, 큰 경우는 2를 곱한 후 1을 더해 탐색을 수행한다. 각 노드의 비교 기준은 ID 값이 되며, ID는 integer type으로서 단순한 비교로 그 크기를 결정할 수 있을 것이다.

2) 탐색 연산은 search, isMember 함수가 담당한다. search는 탐색할 데이터를 입력받는 역할만을 하며, 실제로 탐색이 수행되는 함수는 isMember다. 여기서는 탐색이 성공하든 실패하든 마지막으로 종료한 인덱스를 반환하게 되는데, 이는 다른 함수에서도 이용할 수 있도록 하기 위해 결정된 것이다. 따라서 반환된 인덱스가 트리의 크기를 넘어서거나, 그 위치에 데이터가 없는 경우는 탐색이 실패한 것이고, 존재하는 경우라도 NAME, VALUE 값이 다른 경우는 탐색 실패로 처리된다.


program BSTree;

uses
Crt;
const
MAXSIZE = 100; (*트리의 사이즈*)
type
element = record (*트리의 노드로 쓰일 레코드*)
id : integer;
name : string[10];
value : char;
end;

Tree = array[1..100] of element;

var
BST : Tree; (*이진탐색트리가 될 전역 변수 선언*)
select : integer;

procedure initSet_set(); (*이진탐색트리 초기화*)
var
i : integer;
begin
for i := 1 to MAXSIZE do
begin
BST[i].id := 0;
end; (*end of for*)
end;

Function Get_Element(var a : element) : element;
(*이진탐색트리의 노드를 구성하는 구조체의 정보를 입력받는 함수*)
begin
Writeln('Input ID : '); (*id를 입력 받음*)
Read(a.id); Readln;
Writeln('Input NAME : '); (*name을 입력받음*)
Readln(a.name);
Writeln('Input VALUE : '); (*value를 입력받음*)
Readln(a.value);
Get_Element := a;
end;

Function isMember(var a : element) : integer;
(*파라미터로 받은 노드가 현재 이진탐색트리에 존재하는지 탐색하
여 그 결과를 반환하여 준다. 반환되는 값은 탐색이 종료된 트리상의
위치이며, 이를 이용하여 여러가지 작업을 할 수 있게 하기 위함이다.*)
var
cnt : integer;
done : boolean;
begin
cnt := 1;
done := true;

컴파일 실행환경

pascal, delphi

압축파일 내 파일목록

BST.pas
fp.ini
fp.cfg
bst.o
BST.pas.bak
bst.exe
fp.dsk
삭제후존재자료탐색.jpg
삽입실패와탐색성공.jpg
자료삭제확인.jpg
자료삽입.jpg
존재하는자료삽입실패.jpg
탐색성공과실패.jpg
PL1.hwp

참고 자료

없음

자료후기(1)

*장*
판매자 유형Bronze개인인증

주의사항

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

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

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우
최근 본 자료더보기
탑툰 이벤트
[PASCAL] 배열을 이용한 이진탐색트리 삽입, 삭제, 탐색 프로그램
AI 챗봇
2024년 09월 01일 일요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
3:59 오전
문서 초안을 생성해주는 EasyAI
안녕하세요. 해피캠퍼스의 방대한 자료 중에서 선별하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 목차부터 본문내용까지 자동 생성해 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
9월 1일에 베타기간 중 사용 가능한 무료 코인 10개를 지급해 드립니다. 지금 바로 체험해 보세요.
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감
방송통신대학 관련 적절한 예)
- 국내의 사물인터넷 상용화 사례를 찾아보고, 앞으로 기업에 사물인터넷이 어떤 영향을 미칠지 기술하시오
5글자 이하 주제 부적절한 예)
- 정형외과, 아동학대