본문 바로가기

리디 접속이 원활하지 않습니다.
강제 새로 고침(Ctrl + F5)이나 브라우저 캐시 삭제를 진행해주세요.
계속해서 문제가 발생한다면 리디 접속 테스트를 통해 원인을 파악하고 대응 방법을 안내드리겠습니다.
테스트 페이지로 이동하기

읽고 나면 진짜 쉬워지는 자료 구조 상세페이지

컴퓨터/IT 개발/프로그래밍

읽고 나면 진짜 쉬워지는 자료 구조

소장종이책 정가30,000
전자책 정가20%24,000
판매가24,000
읽고 나면 진짜 쉬워지는 자료 구조 표지 이미지

읽고 나면 진짜 쉬워지는 자료 구조작품 소개

<읽고 나면 진짜 쉬워지는 자료 구조> 기술 면접, 코딩 테스트의 필수 주제인 자료 구조!
최적의 자료 구조를 선택해야 더 효율적인 코드를 구현할 수 있다!
자료 구조를 사용하는 궁극적인 이유는 메모리를 효율적으로 사용하면서 데이터를 안정적으로 처리하기 위해서다. 따라서 데이터의 특징을 잘 분석하고 그에 맞게 ‘적합한’ 자료 구조를 선택하는 것이 중요하다. 기술 면접에서 자료 구조나 알고리즘을 포함하는 이유도 바로 이 때문이다. 이 책은 단순히 자료 구조의 종류를 나열하고 소개하는 것이 아니라 핵심 자료 구조 15개에 초점을 맞추고 어떻게 동작하는지, 왜 이 자료 구조가 중요한지 알려준다. 책의 내용을 모두 학습하면 최적의 자료 구조를 선택할 수 있는 판단력을 기를 수 있을 것이다. 우리에게 익숙한 실생활 예시로 풀어서 설명하기 때문에 읽는 것만으로도 추상적인 개념들을 충분히 이해할 수 있다. 자료 구조를 따로 배운 적이 없거나 이미 배웠지만 기억이 잘 나지 않아 빠르게 복습하고 싶다면 이 책으로 당장 시작해보자!


저자 프로필

제레미 쿠비카

  • 학력 카네기 멜런 대학교 로봇학 박사
    코넬대학교 컴퓨터 과학 학사

2024.03.25. 업데이트 작가 프로필 수정 요청

인공지능과 머신 러닝 전문가인 엔지니어링 디렉터로, 코넬대학교에서 컴퓨터 과학 학사, 카네기 멜런 대학교에서 로봇학박사 학위를 받았다. 대학원 연구 시절 잠재적인 킬러 소행성을 감지하기 위한 알고리즘 개발에 참여했다. 『Computational Fairy Tales』, 『The CS Detective』(No Starch Press, 2016)를 저술했고, ‘Computational Fairy Tales’ 블로그도 작성했다.


저자 소개

인공지능과 머신 러닝 전문가인 엔지니어링 디렉터로, 코넬대학교에서 컴퓨터 과학 학사, 카네기 멜런 대학교에서 로봇학박사 학위를 받았다. 대학원 연구 시절 잠재적인 킬러 소행성을 감지하기 위한 알고리즘 개발에 참여했다. 『Computational Fairy Tales』, 『The CS Detective』(No Starch Press, 2016)를 저술했고, ‘Computational Fairy Tales’ 블로그도 작성했다./모빌리티42 이사로 일하면서 매일 고객의 요청에 따라 코드를 만드는 현업 개발자다. 어릴 때 처음 컴퓨터를 접하고 매혹된 후 경기과학고, KAIST 전산학과(프로그래밍 언어 전공 석사)를 거치면 서 계속 컴퓨터를 사용해왔다. 직장에서는 주로 코틀린이나 자바를 사용한 서버 프로그래밍을 하고, 주말이나 여가 시간에는 번역을 하거나 공부를 하면서 즐거움을 찾는다. 시간이 아주 많이 남 을 때는 시뮬레이션 게임을 즐기면서 머리를 식히고, 어떻게 하 면 막내 자식을 프로그래밍의 세계로 끌어들일 수 있을지를 고 민하는 아빠이기도 하다. 『코어 파이썬 애플리케이션 프로그래밍』(에이콘, 2014)을 시작으로 『코틀린 함수형 프로그래밍』(에이콘, 2023), 『아토믹 코틀린』(길벗, 2023), 『코딩 좀 아는 사람』(윌북, 2023) 등 30여 권의 책을 번역했다.

목차

1장 메모리 안 정보
1.1 변수
1.2 복합 자료 구조
1.3 배열
1.4 문자열
1.5 변수와 배열이 중요한 이유

2장 이진 탐색
2.1 문제 정의
2.2 선형 스캔
2.3 이진 탐색 알고리즘
2.4 이진 탐색 적용하기
2.5 실행 시간 045
2.6 이진 탐색이 중요한 이유

3장 동적 자료 구조
3.1 배열의 한계
3.2 포인터와 참조
3.3 연결 리스트
3.4 연결 리스트에 대한 연산
3.5 이중 연결 리스트
3.6 항목들의 배열과 연결 리스트
3.7 연결 리스트가 중요한 이유

4장 스택과 큐
4.1 스택
4.2 큐
4.3 순서의 중요성
4.4 스택과 큐가 중요한 이유

5장 이진 탐색 트리
5.1 이진 탐색 트리 구조
5.2 이진 탐색 트리에서 탐색하기
5.3 이진 탐색 트리 변경하기
5.4 균형이 맞지 않는 트리의 위험성
5.5 이진 탐색 트리 대량 구축
5.6 이진 탐색 트리가 중요한 이유

6장 트라이와 적응형 자료 구조
6.1 문자열로 이뤄진 이진 탐색 트리
6.2 트라이 118
6.3 트라이가 중요한 이유

7장 우선순위 큐와 힙
7.1 우선순위 큐
7.2 최대 힙
7.3 우선순위 갱신하기
7.4 최소 힙
7.5 힙 정렬
7.6 힙이 중요한 이유

8장 격자
8.1 최근접 이웃 탐색 소개
8.2 격자
8.3 격자에 대한 탐색
8.4 격자 크기의 중요성
8.5 2차원을 넘어
8.6 공간 데이터를 넘어
8.7 격자가 중요한 이유

9장 공간 트리
9.1 쿼드 트리
9.2 k-d 트리
9.3 쿼드 트리와 k-d 트리가 중요한 이유

10장 해시 테이블
10.1 키를 사용한 저장과 탐색
10.2 해시 테이블
10.3 해시 함수
10.4 해시 테이블이 중요한 이유

11장 캐시
11.1 캐시 소개
11.2 만료와 캐시
11.3 다른 만료 전략들
11.4 캐시가 중요한 이유

12장 B-트리
12.1 B-트리 구조
12.2 B-트리 탐색하기
12.3 키 삽입하기
12.4 키 제거하기
12.5 B-트리가 중요한 이유

13장 블룸 필터
13.1 블룸 필터 소개
13.2 블룸 필터 매개변수 튜닝하기
13.3 블룸 필터와 해시 테이블의 비교
13.4 블룸 필터가 중요한 이유

14장 스킵 리스트
14.1 무작위적 구조와 결정적인 구조의 비교
14.2 스킵 리스트 소개
14.3 실행 시간
14.4 스킵 리스트가 중요한 이유

15장 그래프
15.1 그래프 소개
15.2 데이크스트라 알고리즘을 사용해 최단 경로 찾기
15.3 프림의 알고리즘을 사용해 최소 스패닝 트리 찾기
15.4 칸의 알고리즘을 이용한 위상 정렬
15.5 그래프가 중요한 이유

16장 결론
16.1 데이터의 구조가 미치는 영향은 무엇인가?
16.2 동적 자료 구조가 필요한가?
16.3 분할 상환 비용이 무엇인가?
16.4 어떻게 자료 구조를 구체적인 문제에 맞게 적응시킬 수 있을까?
16.5 메모리와 실행 시간 사이의 트레이드오프란 무엇인가?
16.6 자료 구조를 어떻게 튜닝할까?
16.7 무작위화가 기대 동작에 미치는 영향은 어떤가?
16.7 16장이 중요한 이유


리뷰

구매자 별점

0.0

점수비율
  • 5
  • 4
  • 3
  • 2
  • 1

0명이 평가함

리뷰 작성 영역

이 책을 평가해주세요!

내가 남긴 별점 0.0

별로예요

그저 그래요

보통이에요

좋아요

최고예요

별점 취소

구매자 표시 기준은 무엇인가요?

'구매자' 표시는 리디에서 유료도서 결제 후 다운로드 하시거나 리디셀렉트 도서를 다운로드하신 경우에만 표시됩니다.

무료 도서 (프로모션 등으로 무료로 전환된 도서 포함)
'구매자'로 표시되지 않습니다.
시리즈 도서 내 무료 도서
'구매자’로 표시되지 않습니다. 하지만 같은 시리즈의 유료 도서를 결제한 뒤 리뷰를 수정하거나 재등록하면 '구매자'로 표시됩니다.
영구 삭제
도서를 영구 삭제해도 ‘구매자’ 표시는 남아있습니다.
결제 취소
‘구매자’ 표시가 자동으로 사라집니다.

이 책과 함께 구매한 책


이 책과 함께 둘러본 책



본문 끝 최상단으로 돌아가기

spinner
모바일 버전