SlideShare a Scribd company logo
1 of 3
Download to read offline
B2조 자료구조
  6. 사전




     조장 : 20113324 최수영
     조원 : 20083430 강승우
          20093532 최완철
          20113277 김성진
          20113272 김남희
과제수행일지
  소속                                            조원
  B2        조장 : 최수영                  자료조사 : 강승우, 김남희         코딩 : 최완철, 김성진
과제수행기간                                       6.12~6.21
                                      I. 계획의 작성
연구제목     사전
         영어 텍스트 파일을 읽어서 사전을 검색하여 철자를 검색하는데, 철자를 검색하여 틀린 글자
연구배경
       가 나오면 표시하고 Edit distance를 사용하여 가장 적절한 단어를 추천한다.
               http://danamoni.tistory.com/193
 참고자료   참고 URL
               http://redwave102.blog.me/80074139499
                             II. 계획의 실행
  첫째 날                            2012년 6월 12일 화요일
오늘의 작업                       프로젝트에 대한 이해와 업무 분담
 토의 내용  역할을 분담하고, 이번 프로젝트를 어떻게 해결할지 토의하였다.
과제준비에서  이번에 해결해야할 프로젝트는 상당히 막막하였다. 그리고 회의록과 같은 기록을 남겨둔다
 느낀 점    면 보고서를 쓸 때,  또는 과제 수행을 할 때 좀 더 편리하게 할 수 있다는 것을 느꼈다.
 둘째 날                        2012년 6월 14일 목요일
              모두가 조사해온 것들을 종합하고 토의하며 어떤 방향으로 프로젝트를 완성해나갈지
오늘의 작업
                                            생각해보았다.


         Edit Distance

         두 문자열간의 edit distance는 하나의 문자열을 다른 하나의 문자열로 변환하기 위해 요구
         되어지는 연산의 수이다. 라고 정의되어 있다.



         이때 필요한 연산의 수는 다음과 같이 정의가 된다.
         변환(change), 삽입(insertion), 삭제(deletion) 3가지 연산이 필요하다.


         예를 들어,
         1. x: "abc" --> y:"abd"
          x 문자열을 y 문자열로 변환하기 위해서는 마지막 문자 "c"를 "d"로 바꾸기만 하면 된다.
 토의 내용
          즉, change 라는 연산 한 번만 발생하기 때문에 x와 y의 거리는 1이다.


         2. x: "park" --> y:"spake"
          이 문제는 조금 애매하지 않은가? 어떻게 변환을 할지...
          그러나, 조금만 생각해보면 x의 1번째 문자 앞에 y의 "s"를 삽입(insertion)하고,
          x의 3번째 문자 "r"을 "k"로 변환하고, x의 5번째 문자 "k"를 "e"로 변환을 하면 된다.
          1번의 삽입과 2번의 변환이 이루어졌으니, 거리는 3이다.

         - p a r k
         s p a k e


          또 다른 방법으로, x:"p" -> y:"s", x:"a" ->y:"p", x:"r" -> y:"a", y:"e"를 x의 마지막 문
         자로
          삽입하는 경우도 가능하다. 이 경우는 3번의 변환과 1번의 삽입이 이루어졌으니,
거리는 4가 된다.

           p a r k -
           s p a k e
           위 2번 예제에서 최적의 거리는 3이다.
           이것이 edit distance이다.

           연속된 문자들 "- a"는 문자 'a'를 삽입(insertion)한다는 의미이며, "a -"는 'a'를 삭제
           (deletion)한다는 의미이다. 즉, "- a"는 y의 문자가 "-"에 삽입되어져야 할 자리이며, "a
           -"는 x의 문자를 삭제해야 한다는 의미이다. 변환(change)는 굳이 작성하지 않아도 된다.
           어떻게 보면 x와 y의 문자들을 서로 교환을 해야 된다는 의미인데 굳이 표현할 필요는 없
           다는 뜻도 된다.
           위 2번 예제를 다시 보면,

           - p a r k
           s p a k e
           --> 이것은 "-"의 자리에 y의 문자 's'가 들어올 자리이며, x의 'r', 'k'는 change의 자리라
           는 의미이다.
                                  결과
최종프로그램
  소스

           애초에 ‘어떻게 프로그램을 짤 것인가’를 고민할 때부터 상당히 어렵다는 것을 느꼈지만,
과제를 마치면서
           결국은 프로그램을 만들지 못했다. C언어의 실력 향상이 필요하다는 것을 절실히 느끼게
  느낀 점
           되었다.

More Related Content

Similar to 2012 Ds B2 06

2012 Ds B2 02 Pdf
2012 Ds B2 02 Pdf2012 Ds B2 02 Pdf
2012 Ds B2 02 Pdfkd19h
 
2012 Ds B2 02
2012 Ds B2 022012 Ds B2 02
2012 Ds B2 02chl132435
 
자료구조 Project2
자료구조 Project2자료구조 Project2
자료구조 Project2KoChungWook
 
2018 Ajou Programming Contest solutions
2018 Ajou Programming Contest solutions2018 Ajou Programming Contest solutions
2018 Ajou Programming Contest solutions현정 김
 
자료구조1보고서
자료구조1보고서자료구조1보고서
자료구조1보고서KimChangHoen
 
[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제 풀이
[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제 풀이[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제 풀이
[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제 풀이NAVER D2
 
Project#2말의여행 Hwp
Project#2말의여행 HwpProject#2말의여행 Hwp
Project#2말의여행 HwpKimjeongmoo
 

Similar to 2012 Ds B2 06 (8)

자구2번
자구2번자구2번
자구2번
 
2012 Ds B2 02 Pdf
2012 Ds B2 02 Pdf2012 Ds B2 02 Pdf
2012 Ds B2 02 Pdf
 
2012 Ds B2 02
2012 Ds B2 022012 Ds B2 02
2012 Ds B2 02
 
자료구조 Project2
자료구조 Project2자료구조 Project2
자료구조 Project2
 
2018 Ajou Programming Contest solutions
2018 Ajou Programming Contest solutions2018 Ajou Programming Contest solutions
2018 Ajou Programming Contest solutions
 
자료구조1보고서
자료구조1보고서자료구조1보고서
자료구조1보고서
 
[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제 풀이
[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제 풀이[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제 풀이
[D2 CAMPUS] 부산대 Alcall 프로그래밍 경시대회 문제 풀이
 
Project#2말의여행 Hwp
Project#2말의여행 HwpProject#2말의여행 Hwp
Project#2말의여행 Hwp
 

2012 Ds B2 06

  • 1. B2조 자료구조 6. 사전 조장 : 20113324 최수영 조원 : 20083430 강승우 20093532 최완철 20113277 김성진 20113272 김남희
  • 2. 과제수행일지 소속 조원 B2 조장 : 최수영 자료조사 : 강승우, 김남희 코딩 : 최완철, 김성진 과제수행기간 6.12~6.21 I. 계획의 작성 연구제목 사전 영어 텍스트 파일을 읽어서 사전을 검색하여 철자를 검색하는데, 철자를 검색하여 틀린 글자 연구배경 가 나오면 표시하고 Edit distance를 사용하여 가장 적절한 단어를 추천한다. http://danamoni.tistory.com/193 참고자료 참고 URL http://redwave102.blog.me/80074139499 II. 계획의 실행 첫째 날 2012년 6월 12일 화요일 오늘의 작업 프로젝트에 대한 이해와 업무 분담 토의 내용 역할을 분담하고, 이번 프로젝트를 어떻게 해결할지 토의하였다. 과제준비에서 이번에 해결해야할 프로젝트는 상당히 막막하였다. 그리고 회의록과 같은 기록을 남겨둔다 느낀 점 면 보고서를 쓸 때, 또는 과제 수행을 할 때 좀 더 편리하게 할 수 있다는 것을 느꼈다. 둘째 날 2012년 6월 14일 목요일 모두가 조사해온 것들을 종합하고 토의하며 어떤 방향으로 프로젝트를 완성해나갈지 오늘의 작업 생각해보았다. Edit Distance 두 문자열간의 edit distance는 하나의 문자열을 다른 하나의 문자열로 변환하기 위해 요구 되어지는 연산의 수이다. 라고 정의되어 있다. 이때 필요한 연산의 수는 다음과 같이 정의가 된다. 변환(change), 삽입(insertion), 삭제(deletion) 3가지 연산이 필요하다. 예를 들어, 1. x: "abc" --> y:"abd" x 문자열을 y 문자열로 변환하기 위해서는 마지막 문자 "c"를 "d"로 바꾸기만 하면 된다. 토의 내용 즉, change 라는 연산 한 번만 발생하기 때문에 x와 y의 거리는 1이다. 2. x: "park" --> y:"spake" 이 문제는 조금 애매하지 않은가? 어떻게 변환을 할지... 그러나, 조금만 생각해보면 x의 1번째 문자 앞에 y의 "s"를 삽입(insertion)하고, x의 3번째 문자 "r"을 "k"로 변환하고, x의 5번째 문자 "k"를 "e"로 변환을 하면 된다. 1번의 삽입과 2번의 변환이 이루어졌으니, 거리는 3이다. - p a r k s p a k e 또 다른 방법으로, x:"p" -> y:"s", x:"a" ->y:"p", x:"r" -> y:"a", y:"e"를 x의 마지막 문 자로 삽입하는 경우도 가능하다. 이 경우는 3번의 변환과 1번의 삽입이 이루어졌으니,
  • 3. 거리는 4가 된다. p a r k - s p a k e 위 2번 예제에서 최적의 거리는 3이다. 이것이 edit distance이다. 연속된 문자들 "- a"는 문자 'a'를 삽입(insertion)한다는 의미이며, "a -"는 'a'를 삭제 (deletion)한다는 의미이다. 즉, "- a"는 y의 문자가 "-"에 삽입되어져야 할 자리이며, "a -"는 x의 문자를 삭제해야 한다는 의미이다. 변환(change)는 굳이 작성하지 않아도 된다. 어떻게 보면 x와 y의 문자들을 서로 교환을 해야 된다는 의미인데 굳이 표현할 필요는 없 다는 뜻도 된다. 위 2번 예제를 다시 보면, - p a r k s p a k e --> 이것은 "-"의 자리에 y의 문자 's'가 들어올 자리이며, x의 'r', 'k'는 change의 자리라 는 의미이다. 결과 최종프로그램 소스 애초에 ‘어떻게 프로그램을 짤 것인가’를 고민할 때부터 상당히 어렵다는 것을 느꼈지만, 과제를 마치면서 결국은 프로그램을 만들지 못했다. C언어의 실력 향상이 필요하다는 것을 절실히 느끼게 느낀 점 되었다.