한빛출판네트워크

IT/모바일

자바스크립트 자료구조와 알고리즘 : 구조적이고 효율적인 자바스크립트 프로그래밍 기법 익히기

한빛미디어

번역서

절판

자바스크립트 자료구조와 알고리즘 : 구조적이고 효율적인 자바스크립트 프로그래밍 기법 익히기
좋아요: 31
  • 저자 : 마이클 맥밀런
  • 역자 : 우정은
  • 출간일 : 2014-08-28
  • 페이지 : 296쪽
  • ISBN : 9788968481222
  • 물류코드 :2122

합계 : 19,800

  • 강력해진 자바스크립트를 정말 제대로 즐겨라!

    자바스크립트는 Node.js, 스파이더몽키 등의 플랫폼을 보유한 서버 사이드 컴퓨터 프로그래밍 언어로 점점 입지를 굳혔다. 요즘은 자바스크립트의 쓰임이 브라우저 외부 영역으로 확장되면서 자바스크립트 프로그래머는 C++, 자바 같은 일반 프로그래밍 언어에서 제공하는 다양한 도구(연결 리스트, 스택, 큐, 그래프, 데이터 정렬 알고리즘과 검색 알고리즘 등 전통적인 자료구조와 알고리즘 등)가 필요하게 되었다. 이 책은 다양한 자료구조와 알고리즘의 입출력 데이터를 설명할 뿐만 아니라 어디에 무엇이 가장 적합한 해법인지도 알려준다.

     


    【대상 독자】
     · HTML, 자바스크립트, CSS, 자바 프로그래밍에 익숙한 웹 앱 개발자 
     · '해보면서 배우는' 사람들과 표준 개발 도구를 이용해서 새로운 기술과 기법을 적용하는 실제 예제를 보고 만들기를 선호하는 사람

     


    【이 책에서 다루는 내용】
     · 배열과 리스트 : 가장 기본이 되는 자료구조
     · 스택과 큐 : 좀 더 복잡한 리스트형 자료구조
     · 연결 리스트 : 배열의 단점을 개선한 자료구조
     · 딕셔너리 : 키와 값 쌍으로 데이터 저장
     · 해싱 : 자료를 빠르게 삽입하거나 가져올 수 있는 자료구조
     · 집합 : 모든 데이터가 고유한 상황일 때 적합한 자료구조
     · 이진 트리 : 계층적으로 데이터 저장
     · 그래프와 그래프 알고리즘 : 네트워크 형태의 자료구조를 구성하는 데 적합
     · 알고리즘 : 데이터 정렬과 검색에 유용한 알고리즘
     · 고급 알고리즘 : 동적 프로그래밍과 탐욕 알고리즘

     


    【부분별 요약】
     · 1장 - 자바스크립트 언어의 개요와 이 책에서 사용하는 자바스크립트의 기능을 설명한다. 또한 이 책 전체에서 사용하는 프로그래밍 형식도 설명한다.
     · 2장 - 컴퓨터 프로그래밍에서 가장 흔히 사용하는 자료구조며, 자바스크립트의 네이티브 형식인 배열을 설명한다.
     · 3장 - 첫 번째 자료구조인 리스트를 소개한다.
     · 4장 - 스택 자료구조를 설명한다. 스택은 컴파일러, 운영체제 구현에서 폭넓게 사용하는 자료구조다.
     · 5장 - 큐 자료구조를 설명한다. 큐는 은행이나 슈퍼에 줄을 선 사람들을 추상화한 자료구조다. 보통 차례로 데이터를 처리해야 하는 시뮬레이터 소프트웨어에서 큐를 광범위하게 사용한다.
     · 6장 - 연결 리스트를 설명한다. 연결 리스트는 리스트 자료구조를 변형시킨 형태로 각 요소가 별도의 객체며 각 객체끼리 서로 연결되어 있는 자료구조다. 연결 리스트는 데이터를 자주 삽입하거나 삭제하는 프로그램에 효율적인 자료구조다.
     · 7장 - 키와 값 쌍으로 데이터를 저장하는 자료구조인 딕셔너리를 만들고 사용하는 방법을 설명한다.
     · 8장 - 딕셔너리를 구현하는 방법 중 하나로 해시 테이블을 이용할 수 있다. 해시 테이블과 해시 알고리즘을 이용해 테이블에 데이터를 저장하는 방법을 설명한다.
     · 9장 - 세트 자료구조를 설명한다. 자료구조 책에서는 세트를 생략할 때가 종종 있다. 세트는 중복된 데이터를 포함하지 않는 상황에 적합한 자료구조다.
     · 10장 - 이진 트리와 이진 탐색 트리를 설명한다. 이전에도 설명했듯이 이진 탐색 트리는 정렬된 형태로 데이터를 저장해야 할 때 유용한 자료구조다.
     · 11장 - 그래프와 그래프 알고리즘을 설명한다. 그래프는 컴퓨터 네트워크의 노드나 지도의 도시 등과 같은 데이터를 표현하는 데 사용하는 자료구조다.
     · 12장 - 자료구조가 아닌 알고리즘을 중심으로 살펴본다. 특히 작은 데이터를 처리하는 데 적합하며 구현하기 쉬운 간단한 정렬 알고리즘부터 대용량 데이터 세트를 처리하는 데 적합하며 다소 복잡한 알고리즘까지 다양한 알고리즘을 설명한다.
     · 13장 - 순차 검색, 이진 검색 등 검색 관련 알고리즘을 설명한다.
     · 14장 - 동적 프로그래밍, 탐욕 알고리즘과 같은 고급 알고리즘을 설명한다. 기존의 알고리즘으로는 너무 느리거나 구현하기가 너무 어려울 때 14장에서 소개하는 고급 알고리즘을 사용할 수 있다. 동적 프로그래밍, 탐욕 알고리즘을 이용해 전통적인 문제를 해결하는 예제도 보여준다.

  • [저자] 마이클 맥밀런

    아칸소 주 노스리틀록에 위치한 풀라스키 기술대학교(Pulaski Technical College)에서 컴퓨터 정보시스템을 가르치고 있으며, 아칸소 주립대학교에서 정보공학 부교수도 역임하고 있다. 학생들을 가르치기 전까지는 아칸소 주 어린이 병원(Arkansas Children's Hospital)에서 통계 컴퓨팅과 데이터 분석 관련 일을 했다.

    [역자] 우정은

    인하대학교 컴퓨터공학과를 졸업하고 LG전자, 썬마이크로시스템즈, 오라클 등에서 모바일 제품 관련 개발 일을 하다가 현재는 뉴질랜드 웰링턴에 있는 Flux Federation 사에서 모바일 앱 개발자로 새로운 인생을 즐기고 있다. 2010년 아이폰의 매력에 빠져들면서 번역 및 개발을 취미로 삼게 되었다. 2010년 이후로 꾸준히 서적을 번역한다.

     

  • 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 연습문제

  •  

    • 함수형 자바스크립트 : 새롭고 올바른 자바스크립트 프로그래밍 기법

      마이클 포거스

    • 자바스크립트를 말하다 : 가장 간결하면서도 완벽한 자바스크립트 입문서

      악셀 라우슈마이어

    • 자바스크립트 성능 최적화: High Performance JavaScript

      니콜라스 자카스

    • 읽기 좋은 자바스크립트 코딩 기법: 유지보수가 쉬운 코드로 팀의 생산성을 높이자

      니콜라스 자카스

    • 인사이드 자바스크립트 : 핵심 개념과 원리를 정확하게. jQuery, Node.js, 클로저의 개념까지

      송형주 , 고현준

    • 더글라스 크락포드의 자바스크립트 핵심 가이드

      더글라스 크락포드(Douglas Crockford)

    • 사전처럼 바로 찾아 쓰는 알고리즘

      조지 T. 하인만 , 게리 폴리케 , 스탠리 셀코

    • 누워서 읽는 알고리즘: 프로그래밍 상상력을 키워주는 알고리즘 이야기

      임백준

    • 뇌를 자극하는 알고리즘

      박상현

    • Programming Challenges: 알고리즘 트레이닝 북

      스티븐 스키에나 , 미구엘 레비야

닫기

해당 상품을 장바구니에 담았습니다.
장바구니로 이동하시겠습니까?