장바구니 담기 close

장바구니에 상품을 담았습니다.

125가지 문자열 알고리듬

125가지 문자열 알고리듬

  • 막심 크로슈모어
  • |
  • 에이콘출판
  • |
  • 2024-04-30 출간
  • |
  • 432페이지
  • |
  • 188 X 235 X 20mm
  • |
  • ISBN 9791161758398
판매가

35,000원

즉시할인가

31,500

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
31,500

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

◈ 이 책의 대상 독자 ◈

자료 구조와 알고리듬에 관한 대학원 수업을 가르치는 교수자는 수강생을 위해 이 책의 원하는 부분을 어디든지 선택할 수 있다. 하지만 기초 교재는 아니며, 연구원, 박사과정 또는 석사과정 대학원생과 문자열 알고리듬에 직접적인 연관이 없더라도 알고리듬 수업을 강의해야 하는 학자들을 위한 참고자료로 집필했다. 이 책은 이 분야의 표준 교재에 대한 참고자료라고 생각해야 한다. 문제에 포함된 설명은 이 주제에 대한 깊은 배경지식을 요구하지 않고 그 이해와 해법에 대한 빠른 접근을 제공한다.

◈ 이 책의 구성 ◈

이 책은 7개의 장으로 구성된다.
1장, ‘문자열학의 기초’는 다음 장을 위한 용어, 기본 개념, 기본 도구를 소개하며 준비하는 장으로, 이 분야의 여섯 가지 큰 줄기를 반영한다.
2장, ‘조합론적 퍼즐’은 단어에 대한 조합 문제에 대한 장으로, 많은 알고리듬이 그 입력의 조합론적 성질에 기반하기 때문에 중요한 주제다.
3장, ‘패턴 찾기’에서는 가장 고전적인 주제인 문서 탐색과 문자열 일치를 다룬다.
4장, ‘효율적 자료 구조’는 문서 색인을 위한 자료 구조에 대해 다룬다. 이 자료 구조는 문서와 관련된 특수한 배열이나 나무와 같은 여러 알고리듬에서 기본적 도구로 사용한다.
5장, ‘단어의 정규성’에서는 단어에서 나타나는 정규성, 특히 반복과 대칭성에 대해 다루며, 알고리듬의 효율성에 큰 영향을 준다.
6장, ‘문자열 압축’은 무손실 문서 압축에서 실질적으로 중요한 영역의 몇 가지 기법을 주로 다룬다.
7장, ‘그 외의 다양한 알고리듬’은 이전 장에 어울리진 않지만, 확실히 알릴 가치가 있는 다양한 문제를 소개한다.

◈ 옮긴이의 말 ◈

컴퓨터는 대량의 자료를 자동으로 처리하기에 적합한 장치이며 처리할 수 있는 자료는 본질적으로 문자열, 또는 수열이다. 문자열이란 말 그대로 문자를 늘어놓은 것으로, 인류가 만들어낸 모든 정보는 문자열이다. 예를 들면 우리가 흔히 접하는 신문 기사, 소설과 같이 자연어로 이뤄진 것이 있고, 컴퓨터에 작업을 지시하기 위해 정해진 규칙에 의해 만들어진 프로그램 코드와 같은 인공어가 있다. 이외에도 유전 정보를 담고 있는 DNA 서열, 단백질을 구성하는 아미노산 순서, 음악을 표현하는 음표의 길이와 순서 등 생각보다 다양한 곳에 문자열이 숨어 있다.
이와 같은 문자열을 컴퓨터를 사용해 다루려면 문자열에 숨어 있는 패턴을 탐구해 그 특성에 맞는 알고리듬을 사용할 필요가 있다. 최근에는 컴퓨터 성능의 개선과 인공지능의 발달로 문자열 처리를 알고리듬 수준에서 다뤄야 할 필요성이 줄어들었다고 생각할 수도 있겠지만, 컴퓨터가 다뤄야 하는 자료가 문자열로 돼 있는 한 문자열 알고리듬의 중요성은 결코 줄지 않는다. 특히 컴퓨터의 발달에 힘입어 아무리 머신러닝을 통해 임의의 문자열을 처리할 수 있다고 하더라도, 주어진 문자열을 목적에 적합하게 처리하는 알고리듬이 존재한다면 그 알고리듬을 사용하는 편이 더 효율적인 경우가 많다. 따라서 문자열 알고리듬을 공부하고 연구하는 것은 인공지능의 시대에도 여전히 중요한 문제다.
이 책에서는 컴퓨터를 사용해 문자열을 다루기 위해 필요한 기본 지식부터 패턴 매칭, 문자열 압축과 같은 고급 알고리듬에 이르는 다양한 기법을 구체적인 문제를 통해 살펴보고 있다. 이 책에서 다루는 문제는 앞서 언급한 자연어나 인공어의 처리, 유전 정보 해석, 음악 분석 등에서 널리 사용되는 알고리듬과 관련이 있다. 관심 있는 독자라면 각 알고리듬이 어디에서 쓰이고 있는지 눈치챌 수 있을 것이다. 독자는 이 책에서 제시하는 문제를 하나씩 해결하면서 지적인 즐거움을 얻을 수 있고, 더 나아가 새로운 문자열 처리 알고리듬을 발견할 수 있을지도 모른다. 더 자세한 내용에 대해서는 참고문헌을 찾아서 공부해보는 방법도 좋을 것이다.
개인적으로는 이 책을 번역하면서 컴퓨터 과학의 본질적인 흥미를 다시 느낄 수 있었다. 가령 압축 알고리듬으로 쓰이는 LZW 알고리듬이나 RLE 알고리듬을 수업 시간에 배울 땐 별다른 감흥이 없었다. 하지만 이 책을 번역하면서 기초 개념부터 다시 한번 살펴본 바로는 이러한 알고리듬을 개발하기 위해 고민을 거듭했던 무수한 선배 과학자의 노력이 엿보였다.

목차

1장. 문자열학의 기초


2장. 조합론적 퍼즐
__1 페르마의 작은 정리의 문자열학적인 증명
__2 부호성 검사의 간단한 경우
__3 마방진과 투에 - 모스 단어
__4 올덴버거 - 콜라코스키 수열
__5 제곱이 없는 게임
__6 피보나치 단어와 피보나치 기수법
__7 와이트호프의 게임과 피보나치 단어
__8 서로 다른 주기적 단어
__9 투에 - 모스 단어의 친척
__10 투에 - 모스 단어와 거듭제곱의 합
__11 단어의 켤레와 회전
__12 켤레 회문
__13 많은 회문을 갖는 많은 단어
__14 순열의 짧은 초단어
__15 순열의 짧은 초수열
__16 스콜렘 단어
__17 랭포드 단어
__18 린던 단어에서 드 브루인 단어로


3장. 패턴 찾기
__19 경계표
__20 가장 짧은 덮개
__21 짧은 경계
__22 접두어 표
__23 최대 접미어로 향하는 경계표
__24 주기성 검사
__25 엄격한 경계
__26 순차적 문자열 탐색의 지연
__27 희박한 탐색 자동자
__28 효율적으로 비교하는 문자열 탐색
__29 피보나치 단어의 엄격한 경계표
__30 싱글톤 변수를 갖는 단어
__31 순서 보존 패턴
__32 매개변수화된 탐색
__33 좋은 접미어 표
__34 보이어-무어 알고리듬의 최악의 경우
__35 초고속 BM 알고리듬
__36 와일드카드를 갖는 문자열 탐색
__37 순환적 등가
__38 간단한 최대 접미어 계산
__39 자기최대 단어
__40 최대 접미어와 그 주기
__41 단어의 임계 위치
__42 린던 단어 접두어의 주기
__43 지민 단어를 찾아서
__44 불규칙적인 2차원 패턴 검색


4장. 효율적 자료 구조
__45 최단 덮개에 대한 리스트 알고리듬
__46 최장 공통 접두어 계산
__47 접미어 배열에서 접미어 나무로
__48 선형 접미어 트라이
__49 삼진 검색 트라이
__50 두 단어의 최장 공통 인자
__51 부분문자열 자동자
__52 부호성 검사
__53 최장 기존 인자 표
__54 투에-모스 단어의 접미어 정렬
__55 앙상한 접미어 나무
__56 피보나치 단어의 접미어 비교
__57 이진 단어의 회피 가능성
__58 단어 집합 회피하기
__59 최소 유일 인자
__60 최소 부재 단어
__61 욕심쟁이 초문자열
__62 짧은 단어의 최단 공통 초단어
__63 길이에 의한 인자 수 세기
__64 위치를 덮는 인자 수 세기
__65 최장 공통 홀짝성 인자
__66 기본 인자 사전과 단어의 제곱없음 검사
__67 인자방정식의 일반 단어
__68 무한 단어에서 탐색하기
__69 완벽한 단어
__70 빽빽한 이진 단어
__71 인자 오라클


5장. 단어의 정규성
__72 3개의 제곱 접두어
__73 거듭제곱 단어의 출현에 대한 딱 맞는 한계
__74 일반 알파벳에서 런 계산하기
__75 이진 단어에서 겹침 검사
__76 겹침없음 게임
__77 정박된 제곱 단어
__78 제곱 단어가 거의 없는 단어들
__79 제곱 단어가 거의 없는 이진 단어
__80 제곱 단어가 없는 긴 단어 만들기
__81 제곱 단어 없음 함수의 검사
__82 표지가 붙은 나무에서 제곱 인자의 수
__83 선형 시간 내에 빗에 있는 제곱 단어 세기
__84 세제곱 런
__85 짧은 제곱 단어와 국소적 주기
__86 런의 개수
__87 정렬된 알파벳에 대한 런 계산
__88 주기성과 인자 복잡도
__89 함수적 단어의 주기성
__90 단순한 반-지수
__91 회문의 회문적 연결
__92 회문 나무
__93 회피할 수 없는 패턴


6장. 문자열 압축
__94 투에-모스 단어의 BW 변환
__95 균형 단어의 BW 변환
__96 제자리 BW 변환
__97 렘펠-지프 인자분해
__98 렘펠-지프-웰치 복호화
__99 허프만 부호의 비용
__100 길이가 제한된 허프만 부호화
__101 실시간 허프만 부호화
__102 런 길이 부호화
__103 빽빽한 인자 자동자
__104 피보나치 단어에서 압축된 일치
__105 일부분 일치에 의한 예측
__106 접미어 배열 압축하기
__107 욕심쟁이 초문자열의 압축률


7장. 그 외의 다양한 알고리듬
__108 이진 파스칼 단어
__109 자기 재생 단어
__110 인자의 가중치
__111 문자 출현 횟수 차이
__112 경계가 없는 접두어로 인자분해
__113 단항 연장에 대한 원시성 검사
__114 부분적으로 교환 가능한 알파벳
__115 최대 고정밀도 목걸이
__116 등가-주기 이진 단어
__117 드 브루인 단어의 실시간 생성
__118 드 브루인 단어의 재귀적 생성
__119 변수의 길이가 주어진 단어 방정식
__120 세 문자 알파벳으로 이뤄진 다양한 인자
__121 가장 긴 증가하는 부분문자열
__122 린던 단어를 통한 회피 불가능한 집합
__123 단어 동기화하기
__124 금고 열림 단어
__125 짧아진 순열의 초단어

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.