본문내용
1. 문제 이해
∙목적
-영어로 작성된 텍스트 파일에서 단어를 추출하여 인덱스를 구성하는 프로그램을 작성
∙문제해결 핵심 포인트
텍스트 파일의 영어들을 단어 단위로 구분하고 알파벳순으로 정렬하여 인덱스 정보 제공
∙문제에서 제시하는 준수조건
-500,000자 이상의 글자를 포함한 텍스트 파일을 직접 준비한다.
-기본 메뉴를 제공한다.
-2개 이상의 소스파일과 1개 이상의 헤더파일을 사용한다.
-전역번수 사용은 가급적 자제한다.
-단어의 구분은 기본적으로 공백문자(blanks, TABs, CRs, LFs, VTs, FFs)를 사용하며 추가적인 문자(예를 들어,‘-’)를 정의한다.
-입력 단어에 대한 추가 제약이 필요하면 정의한다.
-인덱스 생성 결과는 화면 출력 외에 파일로도 출력한다.
-사용자 검색 기능을 제공한다.
2. 입력 및 출력 정의
∙입력, 내부 및 출력데이터에 대한 분석
입력: 영어 문장이 저장된 텍스트 파일
출력: 텍스트 파일에 나타난 단어를 알페벳순으로 정렬하여 인덱스 생성한 결과
∙각 데이터에 대한 자료형 정의
typedef struct element //단어를 구성하는 구조체 (단어정보 저장)
typedef struct node //이진 탐색트리 노드 구조체 (노드 구성을 위한 구조체)
typedef struct node_linenum //라인을 관리할 구조체 (라인관리 정보를 가지는 노드 구조체)
∙자료구조 정의
이진탐색 트리 이용
∙목적
-영어로 작성된 텍스트 파일에서 단어를 추출하여 인덱스를 구성하는 프로그램을 작성
∙문제해결 핵심 포인트
텍스트 파일의 영어들을 단어 단위로 구분하고 알파벳순으로 정렬하여 인덱스 정보 제공
∙문제에서 제시하는 준수조건
-500,000자 이상의 글자를 포함한 텍스트 파일을 직접 준비한다.
-기본 메뉴를 제공한다.
-2개 이상의 소스파일과 1개 이상의 헤더파일을 사용한다.
-전역번수 사용은 가급적 자제한다.
-단어의 구분은 기본적으로 공백문자(blanks, TABs, CRs, LFs, VTs, FFs)를 사용하며 추가적인 문자(예를 들어,‘-’)를 정의한다.
-입력 단어에 대한 추가 제약이 필요하면 정의한다.
-인덱스 생성 결과는 화면 출력 외에 파일로도 출력한다.
-사용자 검색 기능을 제공한다.
2. 입력 및 출력 정의
∙입력, 내부 및 출력데이터에 대한 분석
입력: 영어 문장이 저장된 텍스트 파일
출력: 텍스트 파일에 나타난 단어를 알페벳순으로 정렬하여 인덱스 생성한 결과
∙각 데이터에 대한 자료형 정의
typedef struct element //단어를 구성하는 구조체 (단어정보 저장)
typedef struct node //이진 탐색트리 노드 구조체 (노드 구성을 위한 구조체)
typedef struct node_linenum //라인을 관리할 구조체 (라인관리 정보를 가지는 노드 구조체)
∙자료구조 정의
이진탐색 트리 이용
소개글