검색어 입력폼

[알고리즘]최적 이진 탐색 트리 구현 레포트

저작시기 2006.05 |등록일 2006.05.19 한글파일한컴오피스 (hwp) | 6페이지 | 가격 1,000원

소개글

① 노드의 킷값과 확률은 파일로부터 입력 받는다.
② 최적 이진 탐색 트리를 표현현다.

목차

■ Dynamic Programming을 이용한 최적이진 탐색 트리를 작성 하시오
■ 문제 분석 & 해결
■ Source File
■ Data File
■ Result Screen

본문내용

■ Dynamic Programming을 이용한 최적이진 탐색 트리를 작성 하시오.
- 조건
① 노드의 킷값과 확률은 파일로부터 입력 받는다.
② 최적 이진 탐색 트리를 표현현다.

■ 문제 분석 & 해결
- 트리의 각 노드가 탐색될 확률이 주어질 때, 그 트리의 평균 비교횟수가 최소인 탐색 트리를 구축하는 것이 목적
- 이진탐색트리를 구성하는 n개의 노드가 각각 K1, K2,...Kn 의 키 값을 갖는다고 가정
키 값 Ki 가 탐색될 확률 : p
키 값 Ki 를 찾는데 필요한 비교횟수 : Ci
이때 이진탐색트리의 평균 비교횟수 =
이 값을 최소화하는 이진탐색트리를 구성하는 것이 목표
- 다음 그림이 최적해를 보여 준다고 가정

#include <iostream.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>

#define MAX 100 //최대 아이템의 수

typedef struct{ //아이템을 저장할 구조체
char key[10];
float p;
}b_tree;

struct nodetype{ //트리를 만들 때 노드를 구성할 구조체
char key[10];
nodetype *left;
nodetype *right;
};
typedef nodetype* node_pointer; //노드 포인터 구조체
다운로드 맨위로