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

읽고 나면 진짜 쉬워지는 자료 구조 pdf 다운로드를 무료로 제공합니다 자료 구조를 사용하는 궁극적인 이유는 메모리를 효율적으로 사용하면서 데이터를 안정적으로 처리하기 위해서다. 따라서 데이터의 특징을 잘 분석하고 그에 맞게 ‘적합한’ 자료 구조를 선택하는 것

관련 교재 pdf 모음

인사이드 머신러닝 인터뷰 pdf 다운

책 소개

이 책은 단순히 자료 구조의 종류를 나열하고 소개하는 책이 아니다. 어떻게 동작하는지, 왜 이 자료 구조가 중요한지에 초점을 맞춰 재미있게 풀어낸 입문서이다. 수많은 도해와 유머러스한 비유를 통해 자료 구조가 프로그램을 어떻게 더 효율적이고 유연하게 만드는지 쉽게 배울 수 있다. 책에 나오는 모든 자료 구조는 프로그래밍 언어에 구애 받지 않는 의사 코드로 보여주며, 변수와 배열부터 스택, 캐시, 블룸 필터, 쿼드 트리, 그래프에 이르기까지 15개 이상의 핵심 자료 구조를 구현해 본다. 박물관의 수집품 컬렉션 인덱스를 구성하거나 만화 대사를 이용해 홍보 문구를 만들고 다람쥐가 나무 줄기를 따라 목적지로 이동하는 걸 관찰하고, 심지어는 가장 가까운 커피숍을 찾는 방법 등 일상에서 있을 법 하면서도 기발한 예제로 구성했다. 계산 성능을 최적화하기 위해 속도, 유연성, 메모리 사용량 간의 균형 맞추기 필요에 따라 동적으로 확장하거나 축소할 수 있는 자료 구조 설계하기 간단한 자료 구조를 결합해 캐시 항목 추정, 값과 키 매핑, 메모리에 맞춰 노드 크기 조정 등 고급 작업 수행하기 해시 테이블에서 데이터 검색, 이진 검색 트리로 검색 속도 향상시키기 B-트리로 검색 효율성 향상시키기, 무작위적 구조로 불량 데이터의 영향 줄이기 우리에게 익숙한 실생활 예시로 독자의 눈높이에 맞춰 설명하기 때문에 읽는 내내 재미있고 추상적인 개념들도 충분히 이해할 수 있다. 자료 구조를 따로 배운 적이 없거나 기억이 잘 나지 않아 빠르게 복습하고 싶다면 이 책 한 권으로 끝내길 추천한다.

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

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

1장 메모리 안 정보1.1 변수1.2 복합 자료 구조1.3 배열1.4 문자열1.5 변수와 배열이 중요한 이유2장 이진 탐색2.1 문제 정의2.2 선형 스캔2.3 이진 탐색 알고리즘2.4 이진 탐색 적용하기2.5 실행 시간 0452.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 트라이 1186.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장이 중요한 이유

Leave a Comment