[PASCAL] 배열 이진탐색트리 삽입, 삭제, 탐색 프로그램
본 자료는 미리보기를 지원하지 않습니다.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
해당 자료는 3페이지 까지만 미리보기를 제공합니다.
3페이지 이후부터 다운로드 후 확인할 수 있습니다.

목차

Ⅰ. 프로그램 소스

Ⅱ. 프로그램 설계 구현에 관한 설명
1. 목적 프로그램
2. 자료 저장 방식
3. 이진탐색트리의 설계 및 구현
(1) 트리 저장 구조 결정 및 초기화
(2) 삽입 연산
(3) 탐색 연산
(4) 삭제 연산

Ⅲ. 테스트 방법 및 실행결과
1. 테스트 데이터
2. 삽입 연산 수행 결과
3. 탐색 연산 수행 결과
4. 삭제 연산 수행 결과

Ⅳ. 느낀점 및 기타

본문내용

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;

while (cnt <= MAXSIZE) AND (done) do (*트리에 탐색할 노드가 남아있는 경우는 계속 탐색*)
begin
  • 가격1,500
  • 페이지수10페이지
  • 등록일2007.10.16
  • 저작시기2007.10
  • 파일형식압축파일(zip)
  • 자료번호#432067
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니