알라딘

그림으로 정리한 알고리즘과 자료구조 - 자바 + 파이썬

조민호 지음 | 정보문화사
  • 등록일2019-02-01
  • 파일포맷pdf
  • 파일크기9 M  
  • 지원기기아이폰, 아이패드, 안드로이드, 태블릿, PC
  • 보유현황보유 1, 대출 0, 예약 0
  • 평점 평점점 평가없음

책소개

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


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

또 각 장 마지막에서 ‘요약’ 코너를 통해 어떤 내용을 학습했는지 핵심을 정리하여 알고리즘의 개념을 확실히 자신의 것으로 만들 수 있습니다.

IT 분야 취업과 프로그래밍 면접, 각종 시험에 대비할 수 있습니다!
기본적인 컴퓨터의 원리와 발전부터 알고리즘, 자료구조와 관련하여 IT 분야 면접과 시험에 자주 나오는 다양한 문제에 대한 해결책을 자세히 다루고 있습니다. 프로그래밍을 처음 공부하는 사람부터 기술 면접을 준비하고 있는 개발자에게 유용한 지침서가 될 것입니다.

알고리즘과 자료구조의 모든 개념을 그림으로 표현하였습니다!
어떤 언어를 사용하든 알고리즘은 기본이 되며, 중요합니다. 하지만 글로만 이해하기는 어려울 수 있습니다. 독자가 쉽게 이해할 수 있도록 돕기 위해 알고리즘과 자료구조의 모든 개념을 표와 그림을 이용해 수록하였습니다. 구체적인 그림을 통해 어려운 내용을 쉽게 이해할 수 있습니다.

자바와 파이썬으로 알고리즘과 자료구조를 익힐 수 있습니다!
이론과 그림을 통해 배운 알고리즘과 자료구조를 자바와 파이썬 예제 소스를 통해 하나씩 코딩하며 어떻게 문제를 해결하는지 이해할 수 있습니다. 이론 → 그림 → 예제 소스로 이어지는 구성을 통해 알고리즘과 자료구조 개념을 확실히 다지며 응용력을 키울 수 있습니다.

이런 분들께 추천합니다!
· 프로그래밍을 처음으로 공부하려는 분
· 컴퓨터를 이해하고, 응용을 위한 지식을 쌓고자 하는 분
· 컴퓨터 원리를 알고자 하는 분
· 4차 산업혁명 산업의 기반을 알고 싶은 분
· IT 분야 취업 및 시험을 앞두고 있는 분

저자소개

중원대학교 컴퓨터공학과 교수로 재직 중이며, 25년 이상 프로그램 개발 및 컨설팅 분야에서 실무를 수행하였다. 컴퓨터 응용 분야에 관심이 많으며 수많은 기업체에서 소프트웨어 모델링, 디자인 분야에 대해 강의하였다. 최근에는 소셜 네트워크, 머신러닝, 데이터 분석 분야에 대해 연구하고 있다.

주요 저서
그림으로 정리한 알고리즘과 자료구조[자바+파이썬](2018)
빅데이터 분석을 위한 R 프로그래밍(2016)
프로그래머가 알아야 할 1%의 핵심원리(2009) 공저

목차

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 추가로 공부할 내용

한줄 서평