서브메뉴

본문

그림으로 정리한 알고리즘과 자료구조 (자바+파이썬)
그림으로 정리한 알고리즘과 자료구조 (자바+파이썬)
저자 : 조민호
출판사 : 정보문화사
출판년 : 2018
ISBN : 9788956747880

책소개


그림과 표로 저절로 이해되는 알고리즘!
알고리즘과 함께 익히는 IoT, 인공지능, 머신러닝, 딥러닝

인공지능과 빅데이터 등 4차 산업혁명의 키워드가 되는 산업 기반이 모두 알고리즘 기반으로 돌아간다. 이 책은 세상을 이해하는 중요한 기준인 알고리즘과 자료구조의 모든 개념과 아이디어를 그림으로 표현하여 쉽게 이해할 수 있도록 하였고, 각 알고리즘과 자료구조의 원리를 자바와 파이썬 코드로 제시하여 상세히 알 수 있도록 하였다.

IT 분야 취업과 프로그래밍 면접, 각종 시험에 대비할 수 있고 알고리즘과 자료구조의 모든 개념을 그림으로 표현하였다. 자바와 파이썬으로 알고리즘과 자료구조를 익힐 수 있다.

목차


1장 컴퓨터를 바라보는 관점

1.1. 컴퓨터만의 특별함
1.2. 인간 세상의 발전사와 컴퓨터의 역할
1.3. 컴퓨터가 만들고 있는 세상의 분류
[요약]

2장 알고리즘은 무엇인가?

2.1. 컴퓨터 발명의 역사
컴퓨터 발명에 기여한 기술
2.2. 부울 대수 - 컴퓨터를 탄생시킨 위대한 개념
조지 부울에 의한 생각의 표현 및 간소화 과정
2.3. 전기 기술의 발전
2.4. 디지털 논리 회로
컴퓨터에서 사용되는 중요 회로
2.5. 튜링 기계
튜링 기계의 기본 원리
2.6. 컴퓨터의 작동 원리
현대 컴퓨터의 작동 순서
튜링 기계의 작동 순서
2.7. 컴퓨터 프로그래밍 - 반복시키는 절차와 순서를 정하는 것
프로그래밍
코딩
프로그래밍에서의 단위 작업(분석)
프로그래밍의 수행 예
2.8. 알고리즘은 무엇이고 왜 중요한가?
알고리즘의 정의
알고리즘의 종류
알고리즘의 표현
알고리즘의 기술 언어
[요약]

3장 알고리즘의 개발

3.1. 프로그램과 알고리즘의 관계
사용자가 입력한 값들의 합과 평균을 구하는 알고리즘
두 변수의 값을 교환하는 알고리즘
3.2. 프로그램 개발 과정과 알고리즘의 관계
3.3. 알고리즘 개발 - 프로그램의 작성
3.4. 알고리즘의 구조화
구조화 과정과 알고리즘 구현
[요약]

4장 자료구조

4.1. 컴퓨터의 데이터 취급 방법
4.2. 자료구조의 정의 및 종류
4.3. 자료구조의 분류
단순 구조
선형 구조
비선형 구조
파일 구조
4.4. 자료구조의 구현
[1] 자료구조의 구현 기술
[2] 리스트형 자료구조
자바 배열로 구현한 리스트형 자료구조
[3] 연결 리스트 자료구조
연결 리스트 자료구조의 종류
연결 리스트 자료구조의 데이터 삽입 과정
파이썬으로 구현한 연결 리스트 자료구조
연결 리스트를 이용한 스택의 구현
자바와 연결 리스트로 구현한 스택
[4] 해쉬 테이블의 구현
4.5. 순서 리스트 자료구조
4.6. 배열 자료구조
4.7. 스택 자료구조
스택 자료구조 알아보기
스택 자료구조 용도
자바로 구현한 스택 자료구조
파이썬으로 구현한 스택 자료구조
컴퓨터가 사용하는 수식(후위 표기법)으로 변환과 연산
4.8. 큐 자료구조
큐 자료구조 알아보기
큐 자료구조 용도
자바로 구현한 큐 자료구조
파이썬으로 구현한 큐 자료구조
4.9. 데크 자료구조
데크 자료구조 알아보기
데크 자료구조 종류
데크 운영 개념
4.10. 트리 자료구조
4.11. 이진 트리
[1] 개요
이진 트리 구조 알아보기
이진 트리 생성
이진 트리 모양에 따른 분류
[2] 사용 및 응용
이진 트리 사용 알고리즘(입력, 검색, 삭제)
이진 트리 응용 사례 및 구현 방법
자바로 구현한 이진 트리 프로그램
파이썬으로 이진 트리를 만들고 데이터를 찾아 출력하는 프로그램
4.12. 힙 - 트리 자료구조의 응용
힙 알아보기
최대 힙의 모양
힙 사용 예
힙에서의 삽입, 삭제 과정
4.13. 그래프 자료구조
그래프 알아보기
그래프에서 알아 두어야 할 용어
그래프를 구현하는 알고리즘
4.14. 프로그램 언어에서의 자료구조 지원
자바 컬렉션에서 제공하는 자료구조
자바로 구현한 벡터 자료구조
[요약]

5장 정렬 알고리즘

5.1. 정렬 알고리즘
정렬 알고리즘 알아보기
정렬 알고리즘 종류
5.2. 버킷 정렬 알고리즘
버킷 정렬 알고리즘 알아보기
5.3. 기수 정렬 알고리즘
기수 정렬 알고리즘 알아보기
파이썬으로 구현한 기수 정렬 알고리즘
자바로 구현한 기수 정렬 알고리즘
5.4. 선택 정렬 알고리즘
선택 정렬 알고리즘 알아보기
파이썬으로 구현한 선택 정렬 알고리즘
자바로 구현한 선택 정렬 알고리즘
5.5. 교환 정렬 알고리즘
교환 정렬 알고리즘 알아보기
파이썬으로 구현한 교환 정렬 알고리즘
자바로 구현한 교환 정렬 알고리즘
5.6. 삽입 정렬 알고리즘
삽입 정렬 알고리즘 알아보기
파이썬으로 구현한 삽입 정렬 알고리즘
자바로 구현한 삽입 정렬 알고리즘
5.7. 쉘 정렬 알고리즘
셀 정렬 알고리즘 알아보기
파이썬으로 구현한 쉘 정렬 알고리즘
자바로 구현한 쉘 정렬 알고리즘
5.8. 병합 정렬 알고리즘
병합 정렬 알고리즘 알아보기
2차 병합 정렬 알고리즘 알아보기
5.9. 퀵 정렬 알고리즘
퀵 정렬 알고리즘 알아보기
파이썬으로 구현한 퀵 정렬 알고리즘
자바로 구현한 퀵 정렬 알고리즘
5.10. 힙 정렬 알고리즘
힙 정렬 알고리즘 알아보기
최대 힙을 사용하는 경우
5.11. 프로그램 제작에서 정렬 사용
5.12. 정렬 알고리즘 선택 기준
[요약]

6장 검색 알고리즘
6.1. 검색 알고리즘
검색 알고리즘 알아보기
검색의 종류
6.2. 순차 검색 알고리즘
순차 검색 알고리즘 알아보기
자바로 구현한 순차 검색 알고리즘
파이썬으로 구현한 순차 검색 알고리즘
6.3. 이진 검색 알고리즘
이진 검색 알고리즘 알아보기
자바로 구현한 이진 검색 알고리즘
6.4. 문자열 검색 알고리즘
문자열 검색 알고리즘 알아보기
자바로 구현한 문자열 검색 알고리즘
6.5. KMP 검색 알고리즘
KMP 검색 알고리즘 알아보기
자바로 구현한 KMP 검색 알고리즘
6.6. BM 검색 알고리즘
BM 검색 알고리즘 알아보기
자바로 구현한 BM 검색 알고리즘
[요약]

7장 컴퓨터 역사에 남을 유명한 알고리즘
7.1. 영향력 있는 알고리즘
컴퓨터 산업에 큰 영향을 미치고 있는 알고리즘
7.2 웹 검색 알고리즘
웹 검색이 수행하는 중요 작업
7.3. 매칭 알고리즘
인덱스
구문 쿼리
적합성
메타워드
7.4. 랭킹 알고리즘
하이퍼링크 알고리즘
권위 링크 알고리즘
무작위 서퍼 알고리즘
7.5. 오류 정정 알고리즘
[1] 오류 정정 알고리즘의 필요와 종류
컴퓨터가 수행하는 동작
데이터 전송 에러를 고치는 방법
컴퓨터에서 사용하는 오류 정정 알고리즘의 종류
[2] 반복 알고리즘
반복 알고리즘 사용하기
[3] 리던던시 알고리즘
해밍코드 알고리즘 사용하기
[4] 체크섬 알고리즘
체크섬 알고리즘 사용하기
계단 체크섬 알고리즘 사용하기
[5] 핀 포인트 알고리즘
7.6. 데이터 압축 알고리즘
[1] 데이터 압축의 유형별 분류
[2] Run-Length Encoding 알고리즘
[3] LZ77 알고리즘
[4] 섀넌-파노 코딩 또는 허프만 코딩(심벌 트릭을 이용한 숫자 코드)
ZIP 파일의 원리
[5] 손실 압축 알고리즘
JPEG 알고리즘 : 정지 영상 압축 표준
MPEG 알고리즘 : 동영상 압축 표준
7.7. 인공지능과 패턴 인식
[1] 인공지능
머신러닝
인공 신경망
딥러닝
[2] 패턴 인식
인접 이웃 분류자 알고리즘
K 인접 이웃 분류 알고리즘
의사 결정 나무 알고리즘
인공 신경망 알고리즘
인공 신경망 응용 및 학습에 의한 발전 방향
7.8. 데이터베이스
[1] 데이터베이스 알아보기
[2] 데이터베이스에서 사용하는 알고리즘
미리 쓰기 로그 알고리즘
2단계 커밋 알고리즘
가상 테이블 알고리즘
7.9. 암호학 알고리즘
암호학 알고리즘과 분류
공개키에 의한 암호화
개인키에 의한 암호화
디지털 서명의 알고리즘
[요약]

8장 알고리즘 활용을 위한 추가 지식
8.1. 알고리즘의 성능 및 표기 방법
알고리즘의 우수함을 식별하는 기준
알고리즘 표기 방법
8.2 추가로 공부할 내용

QuickMenu