이미 소장하고 있다면 판매해 보세요.
|
CHAPTER 1 자바스크립트 프로그래밍 환경과 모델
__1.1 자바스크립트 환경 __1.2 자바스크립트 프로그래밍 기초 __1.3 객체와 객체지향 프로그래밍 __1.4 마치며 CHAPTER 2 배열 __2.1 자바스크립트 배열 정의 __2.2 배열 사용하기 __2.3 접근자 함수 __2.4 변형자 함수 __2.5 반복자 함수 __2.6 이차원 배열과 다차원 배열 __2.7 객체를 요소로 포함하는 배열 __2.8 객체에 포함된 배열 __2.9 연습문제 CHAPTER 3 리스트 __3.1 리스트 ADT __3.2 List 클래스 구현 __3.3 리스트와 반복 __3.4 리스트 기반 애플리케이션 __3.5 연습문제 CHAPTER 4 스택 __4.1 스택 동작 __4.2 스택 구현 __4.3 Stack 클래스 이용하기 __4.4 연습문제 CHAPTER 5 큐 __5.1 큐 동작 __5.2 배열 기반의 Queue 클래스 구현 __5.3 Queue 클래스 사용하기: 스퀘어 댄스 파티에서 파트너 정하기 __5.4 큐로 데이터 정렬하기 __5.5 우선순위 큐 __5.6 연습문제 CHAPTER 6 연결 리스트 __6.1 배열의 단점 __6.2 연결 리스트 정의 __6.3 객체 기반 연결 리스트 설계 __6.4 양방향 연결 리스트 __6.5 순환형 연결 리스트 __6.6 기타 연결 리스트 함수 __6.7 연습문제 CHAPTER 7 딕셔너리 __7.1 Dictionary 클래스 __7.2 Dictionary 클래스의 부가 함수 __7.3 Dictionary 클래스에 정렬 기능 추가하기 __7.4 연습문제 CHAPTER 8 해싱 __8.1 해싱 개요 __8.2 해시 테이블 클래스 __8.3 충돌 처리 __8.4 연습문제 CHAPTER 9 집합 __9.1 집합의 핵심 정의, 동작, 속성 __9.2 Set 클래스 구현 __9.3 집합의 추가 동작 __9.4 연습문제 CHAPTER 10 이진 트리와 이진 검색 트리 __10.1 트리 정의 __10.2 이진 트리와 이진 검색 트리 __10.3 BST 검색 __10.4 BST의 노드 삭제하기 __10.5 발견 횟수 계산 __10.6 연습문제 CHAPTER 11 그래프와 그래프 알고리즘 __11.1 그래프 정의 __11.2 실생활에 사용되는 그래프 __11.3 Graph 클래스 __11.4 그래프 검색 __11.5 최단 경로 찾기 __11.6 위상 정렬 __11.7 연습문제 CHAPTER 12 정렬 알고리즘 __12.1 배열 테스트 베드 __12.2 기본 정렬 알고리즘 __12.3 고급 정렬 알고리즘 __12.4 연습문제 CHAPTER 13 검색 알고리즘 __13.1 순차 검색 __13.2 이진 검색 __13.3 텍스트 데이터 검색 __13.4 연습문제 CHAPTER 14 고급 알고리즘 __14.1 동적 프로그래밍 __14.2 탐욕 알고리즘 __14.3 연습문제 |
|
★ 강력해진 자바스크립트를 정말 제대로 즐겨라!
자바스크립트는 Node.js, 스파이더몽키 등의 플랫폼을 보유한 서버 사이드 컴퓨터 프로그래밍 언어로 점점 입지를 굳혔다. 요즘은 자바스크립트의 쓰임이 브라우저 외부 영역으로 확장되면서 자바스크립트 프로그래머는 C++, 자바 같은 일반 프로그래밍 언어에서 제공하는 다양한 도구(연결 리스트, 스택, 큐, 그래프, 데이터 정렬 알고리즘과 검색 알고리즘 등 전통적인 자료구조와 알고리즘 등)가 필요하게 되었다. 이 책은 다양한 자료구조와 알고리즘의 입출력 데이터를 설명할 뿐만 아니라 어디에 무엇이 가장 적합한 해법인지도 알려준다. ★ 대상 독자 HTML, 자바스크립트, CSS, 자바 프로그래밍에 익숙한 웹 앱 개발자 ‘해보면서 배우는’ 사람들과 표준 개발 도구를 이용해서 새로운 기술과 기법을 적용하는 실제 예제를 보고 만들기를 선호하는 사람 ★ 이 책에서 다루는 내용 배열과 리스트 : 가장 기본이 되는 자료구조 스택과 큐 : 좀 더 복잡한 리스트형 자료구조 연결 리스트 : 배열의 단점을 개선한 자료구조 딕셔너리 : 키와 값 쌍으로 데이터 저장 해싱 : 자료를 빠르게 삽입하거나 가져올 수 있는 자료구조 집합 : 모든 데이터가 고유한 상황일 때 적합한 자료구조 이진 트리 : 계층적으로 데이터 저장 그래프와 그래프 알고리즘 : 네트워크 형태의 자료구조를 구성하는 데 적합 알고리즘 : 데이터 정렬과 검색에 유용한 알고리즘 고급 알고리즘 : 동적 프로그래밍과 탐욕 알고리즘 ★ 부분별 요약 1장 - 자바스크립트 언어의 개요와 이 책에서 사용하는 자바스크립트의 기능을 설명한다. 또한 이 책 전체에서 사용하는 프로그래밍 형식도 설명한다. 2장 - 컴퓨터 프로그래밍에서 가장 흔히 사용하는 자료구조며, 자바스크립트의 네이티브 형식인 배열을 설명한다. 3장 - 첫 번째 자료구조인 리스트를 소개한다. 4장 - 스택 자료구조를 설명한다. 스택은 컴파일러, 운영체제 구현에서 폭넓게 사용하는 자료구조다. 5장 - 큐 자료구조를 설명한다. 큐는 은행이나 슈퍼에 줄을 선 사람들을 추상화한 자료구조다. 보통 차례로 데이터를 처리해야 하는 시뮬레이터 소프트웨어에서 큐를 광범위하게 사용한다. 6장 - 연결 리스트를 설명한다. 연결 리스트는 리스트 자료구조를 변형시킨 형태로 각 요소가 별도의 객체며 각 객체끼리 서로 연결되어 있는 자료구조다. 연결 리스트는 데이터를 자주 삽입하거나 삭제하는 프로그램에 효율적인 자료구조다. 7장 - 키와 값 쌍으로 데이터를 저장하는 자료구조인 딕셔너리를 만들고 사용하는 방법을 설명한다. 8장 - 딕셔너리를 구현하는 방법 중 하나로 해시 테이블을 이용할 수 있다. 해시 테이블과 해시 알고리즘을 이용해 테이블에 데이터를 저장하는 방법을 설명한다. 9장 - 세트 자료구조를 설명한다. 자료구조 책에서는 세트를 생략할 때가 종종 있다. 세트는 중복된 데이터를 포함하지 않는 상황에 적합한 자료구조다. 10장 - 이진 트리와 이진 탐색 트리를 설명한다. 이전에도 설명했듯이 이진 탐색 트리는 정렬된 형태로 데이터를 저장해야 할 때 유용한 자료구조다. 11장 - 그래프와 그래프 알고리즘을 설명한다. 그래프는 컴퓨터 네트워크의 노드나 지도의 도시 등과 같은 데이터를 표현하는 데 사용하는 자료구조다. 12장 - 자료구조가 아닌 알고리즘을 중심으로 살펴본다. 특히 작은 데이터를 처리하는 데 적합하며 구현하기 쉬운 간단한 정렬 알고리즘부터 대용량 데이터 세트를 처리하는 데 적합하며 다소 복잡한 알고리즘까지 다양한 알고리즘을 설명한다. 13장 - 순차 검색, 이진 검색 등 검색 관련 알고리즘을 설명한다. 14장 - 동적 프로그래밍, 탐욕 알고리즘과 같은 고급 알고리즘을 설명한다. 기존의 알고리즘으로는 너무 느리거나 구현하기가 너무 어려울 때 14장에서 소개하는 고급 알고리즘을 사용할 수 있다. 동적 프로그래밍, 탐욕 알고리즘을 이용해 전통적인 문제를 해결하는 예제도 보여준다. |