이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
자료 구조
C언어로 쉽게 풀어쓴 개정판
천인국
생능출판사 2014.02.14.
베스트
IT 모바일 top20 6주
가격
29,000
29,000
YES포인트?
0원
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  국내배송만 가능
  •  문화비소득공제 가능

책소개

목차

CHAPTER 01 자료 구조와 알고리즘
1.1 자료 구조와 알고리즘
1.2 추상 데이터 타입
1.3 알고리즘의 성능 분석
1.4 자료 구조 표기법
연습문제

CHAPTER 02 순환
2.1 순환의 소개
2.2 거듭제곱 값 계산
2.3 피보나치 수열의 계산
2.4 하노이탑 문제
연습문제

CHAPTER 03 배열, 구조체, 포인터
3.1 배열
3.2 배열의 응용: 다항식
3.3 배열의 응용: 희소 행렬
3.4 구조체
3.5 포인터
3.6 동적 메모리 할당
연습문제

CHAPTER 04 리스트
4.1 리스트 추상 데이터 타입
4.2 배열로 구현된 리스트
4.3 연결 리스트
4.3.1 연결 리스트의 소개
4.3.2 단순 연결 리스트
4.3.3 원형 연결 리스트
4.3.4 이중 연결 리스트
4.3.5 연결 리스트의 응용: 다항식
4.4 연결 리스트로 구현된 리스트
4.5 선형 리스트의 응용: 텍스트 에디터
연습문제

CHAPTER 05 스택
5.1 스택 추상 데이터 타입
5.2 배열로 구현한 스택
5.3 연결 리스트로 구현한 스택
5.4 괄호 검사
5.5 수식의 계산
5.6 미로 탐색 문제
연습문제

CHAPTER 06 큐
6.1 큐 추상 데이터 타입
6.2 배열로 구현된 큐
6.3 연결 리스트로 구현된 큐
6.4 덱
6.5 큐의 응용
연습문제

CHAPTER 07 트리
7.1 트리의 개념
7.2 이진 트리의 소개
7.3 이진 트리의 표현
7.4 이진 트리의 순회
7.5 이진 트리의 연산
7.6 스레드 이진 트리
7.7 이진 탐색 트리
7.8 이진 탐색 트리의 응용: 영어 사전
연습문제

CHAPTER 08 우선순위 큐
8.1 우선순위 큐 추상 데이터 타입
8.2 우선순위 큐의 구현 방법
8.3 히프
8.3.1 히프의 개념
8.3.2 히프의 구현
8.3.3 삽입 연산
8.3.4 삭제 연산
8.3.5 히프의 복잡도 분석
8.4 히프의 응용
연습문제

CHAPTER 09 정렬
9.1 정렬이란?
9.2 선택 정렬
9.3 삽입 정렬
9.4 버블 정렬
9.5 셸 정렬
9.6 합병 정렬
9.7 퀵 정렬
9.8 히프 정렬
9.9 기수 정렬
9.10 정렬 알고리즘의 비교
9.11 정렬의 응용: 영어 사전을 위한 정렬
연습문제

CHAPTER 10 그래프
10.1 그래프란?
10.2 그래프 추상 데이터 타입
10.3 그래프의 표현 방법
10.4 그래프의 탐색
10.4.1 깊이 우선 탐색
10.4.2 너비 우선 탐색
10.5 연결 성분
10.6 신장 트리
10.7 최소 비용 신장 트리
10.7.1 Kruskal의 MST 알고리즘
10.7.2 Prim의 MST 알고리즘
10.8 최단 경로
10.8.1 Dijkstra의 최단 경로 알고리즘
10.8.2 Floyd의 최단 경로 알고리즘
10.9 위상 정렬
연습문제

CHAPTER 11 해싱
11.1 해싱이란?
11.2 추상 자료형 사전 구조
11.3 해싱의 구조
11.4 해시 함수
11.5 충돌 해결책
11.5.1 선형 조사법
11.5.2 체이닝
11.6 해싱의 성능 분석
연습문제

CHAPTER 12 탐색
12.1 탐색이란?
12.2 정렬되지 않은 배열에서의 탐색
12.3 정렬된 배열에서의 탐색
12.3.1 정렬된 배열에서의 순차 탐색
12.3.2 이진 탐색
12.3.3 색인 순차 탐색
12.3.4 보간 탐색
12.4 균형 이진 탐색 트리
12.4.1 AVL 트리
12.4.2 2-3 트리
12.4.3 2-3-4 트리
연습문제

저자 소개 1

千仁國

서울대학교 전자공학과에 입학하여 1983년에 공학사 학위를 취득하였고, 한국과학기술원 대학원에 입학하여 1985년에 전기 및 전자공학과 석사 학위를, 1993년에 박사 학위를 취득하였다. 1985년부터 1988년까지 삼성전자 종합연구소에서 주임 연구원으로 재직하였고, 1993년부터 현재까지 순천향대학교 컴퓨터공학과 교수로 재직 중이다. 2005년에는 캐나다 UBC에서 방문교수를 지냈다. 저서로는 『인공지능 2판』(2023, 인피니티북스), 『HTML5+CSS3+JavaScript로 배우는 웹프로그래밍 기초 2판』(2023, 인피니티북스), 『Power JAVA 3판』(202
서울대학교 전자공학과에 입학하여 1983년에 공학사 학위를 취득하였고, 한국과학기술원 대학원에 입학하여 1985년에 전기 및 전자공학과 석사 학위를, 1993년에 박사 학위를 취득하였다. 1985년부터 1988년까지 삼성전자 종합연구소에서 주임 연구원으로 재직하였고, 1993년부터 현재까지 순천향대학교 컴퓨터공학과 교수로 재직 중이다. 2005년에는 캐나다 UBC에서 방문교수를 지냈다.

저서로는 『인공지능 2판』(2023, 인피니티북스), 『HTML5+CSS3+JavaScript로 배우는 웹프로그래밍 기초 2판』(2023, 인피니티북스), 『Power JAVA 3판』(2022, 인피니티북스), 『인공지능』(2020, 인피니티북스), 『스크래치로 배우는 컴퓨팅 사고와 문제해결』(2019, 인피니티북스), 『OpenCV를 이용한 디지털 영상처리』(2019, 인피니티북스), 『Power Java Compact』(2018, 인피니티북스), 『어서와 C++는 처음이지!』(2018, 인피니티북스), 『문제해결과 컴퓨팅 사고』(2017, 인피니티북스), 『문제해결과 컴퓨팅 사고를 위한 스크래치』(2017, 인피니티북스), 『문제해결과 컴퓨팅 사고를 위한 파이썬』(2017, 인피니티북스), 『어서와 파이썬은 처음이지!』(2016, 인피니티북스), 『어서와 Java는 처음이지!』(2015, 인피니티북스), 『어서와 C언어는 처음이지!』(2015, 인피니티북스), 『HTML5+CSS3+JavaScript로 배우는 웹프로그래밍 기초』(2014, 인피니티북스), 『C++ Espresso』(2010, 인피니티북스), 『Power C++』(2010, 인피니티북스), 『쉽게 풀어쓴 C언어 Express』(2007, 생능출판사), 『C언어로 쉽게 풀어쓴 자료구조』(2005, 생능출판사) 등이 있다.

천인국의 다른 상품

저 자 소 개
공용해

연세대학교 전자공학과 공학사, Polytechnic Univ.(뉴욕) 컴퓨터과학과 공학석사, Polytechnic Univ.(뉴욕) 컴퓨터과학과 공학박사, 한진중공업 연구원, 삼성전자 연구소 연구원, 순천향대학교 의료과학대학 학장으로 있다가 현재 순천향대학교 의료IT공학과 교수로 재직중이다.

하상호

서울대학교 계산통계학과 이학사, 서울대학교 계산통계학과 이학석사, 서울대학교 전산과학과 이학박사, 한국전자통신연구소 Post. Doc, 미국 MIT Post. Doc, 미국 아이오와 주립대학 방문 교수였다가 현재는 순천향대학교 컴퓨터공학과 교수로 재직중이다.

관련 분류

품목정보

발행일
2014년 02월 14일
쪽수, 무게, 크기
544쪽 | 210*297mm
ISBN13
9788970506432

출판사 리뷰

우리가 C언어를 배우려고 할 때 시행착오를 겪는 부분들이 있다. 그중 하나가 자료 구조와 알고리즘을 매우 어렵다고 느끼는 것이고, C언어를 이해하지 않고 암기하려는 것이며, 더 나아가 C언어의 완전한 이해 없이 C++를 배우고자 도전하는 것이다.

이 책은 도입부에서부터 이러한 어려움을 해결해주고 있는데, 자료 구조와 알고리즘에 대한 정의를 그림을 통해 충분히 설명하면서 자바 애플릿으로 작성된 가상 실습 소프트웨어로 개념을 확실히 잡아주고 있다. 더 나아가 유사코드로 작성된 알고리즘을 학습하고 최종적으로 C언어로 구현된 내용을 학습할 수 있도록 구성하고 있어, 자료 구조와 알고리즘의 개념의 이해는 물론이고 C언어로 구현된 내용을 통해 C언어를 쉽게 이해할 수 있다.

자료 구조와 알고리즘을 쉽게 이해할 수 있도록 플래시로 제작된 애니메이션과 자바 애플릿으로 제작된 가상 실습 프로그램은 이론적인 내용을 쉽게 습득할 수 있도록 하고 있다. 이들 애니메이션과 가상 실습을 통하여 기존에 어렵게만 느껴지던 자료 구조의 내용을 멀티미디어 시각화를 통해서 알기 쉽게 전달하고 있는데, 특히 플래시 애니메이션을 통해서 이해하기 어려운 개념을 알기 쉽게 시각화하여 설명하고 있으며, 자바 애플릿을 제작하여 알고리즘의 실행 과정을 시각화함으로써 자료 구조가 실행 도중에 변화되는 모습을 생생하게 전달할 수 있도록 하였다.

또한 자바 애플릿 프로그램은 사용자가 입력 자료를 변경하여 실험을 할 수 있으며 프로그램 소스를 한 문장씩 실행하면서 자료 구조가 변화되는 모습을 직접 볼 수 있게 함으로써 프로그램 소스를 쉽게 이해할 수 있도록 하였다. 자료 구조나 알고리즘을 공부할 때는 처음에는 특정한 언어로 구현된 것을 보지 않는 것이 좋을 때가 많다. 대신 말로 된 설명이나 유사코드(pseudo-code) 등으로 개념을 먼저 이해하는 것이 중요하다. 이 책은 이러한 점을 배려하여 C 프로그램에 앞서서 유사코드로 작성된 알고리즘을 제시함으로써 자료 구조와 알고리즘의 핵심적인 내용을 쉽게 이해할 수 있도록 하였다.

실습을 통한 프로그래밍 능력 배양

이론을 이해한 다음, 프로그래밍 도구를 이용하여 실습을 해보는 것은 프로그래밍 능력 향상에 많은 도움이 된다. 이 책에서는 자료 구조 실습을 단계적으로 진행해볼 수 있도록 실습 문제를 두고 있는데, 실습 문제에서는 빈칸이 포함된 소스가 주어지고 학습자들이 단계적으로 소스를 추가해가는 방식으로 자율적으로 실습을 진행할 수 있도록 하였다.

자료 구조와 알고리즘을 학습할 때 가능하면 실질적이고 구체적인 실세계의 문제를 함께 다루는 것이 큰 도움이 된다. 이 책은 우리가 경험하는 실세계의 대상들과 관련이 있는 것들을 풀어볼 수 있도록 실제적인 응용 프로그램을 많이 다루고 있다. 프로그램은 단편적인 프로그램이 아닌 완전한 프로그램을 제공하려고 노력하였다. 예를 들어, 기존의 경우에는 일부 함수만 제시됨으로써 실제로 학생들이 실습 또는 활용하려고 할 때에 여러 가지 애로 사항이 많았는데, 이 책에서는 최대한 main 함수를 포함하여 완전한 프로그램을 제공하여 사용자들이 쉽게 소스를 활용할 수 있도록 하였다.

학습을 효과적으로 하기 위한 책의 구성과 내용

이 책은 전체적으로 12개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 1장 ‘자료 구조와 알고리즘’에서는 자료 구조와 알고리즘의 개념, 추상 데이터 타입 도입의 필요성, 시간 복잡도의 개념, 빅오 표기법에 의한 알고리즘 분석 기법 및 자료 구조 표기법을 설명하고 있다. 2장 ‘순환’에서는 순환의 개념, 순환 알고리즘의 구조, 순환 호출 사용 시 주의점, 순환 호출 응용력 배양에 대해 서술하고 있다. 3장 ‘배열, 구조체, 포인터’에서는 배열, 구조체, 포인터의 개념, 배열을 이용한 응용 프로그램 작성, 함수 호출 시에 배열과 구조체의 전달 방법, 포인터 관련 연산자, 동적 메모리 할당 및 반납의 메커니즘을 기술하고 있다.

4장 ‘리스트’에서는 리스트의 개념과 추상 자료형, 리스트의 배열과 연결 리스트의 2가지 구현 방법, 연결 리스트의 개념과 작동 원리, 연결 리스트의 여러 가지 연산, 리스트를 이용하여 프로그램할 수 있는 능력에 대해 설명하고 있다. 5장 ‘스택’에서는 스택의 개념과 추상 자료형, 스택의 동작 원리, 배열과 연결 리스트의 2가지 구현 방법, 스택 응용 프로그램을 제작할 수 있는 능력에 대해 서술하고 있다. 6장 ‘큐’에서는 큐의 개념과 추상 자료형, 배열과 연결 리스트의 2가지 구현 방법, 덱의 개념과 구현 방법, 큐를 이용하여 프로그램할 수 있는 능력에 대해 기술하고 있다.

7장 ‘트리’에서는 트리의 개념, 트리의 순회 알고리즘, 이진 탐색 트리의 동작 원리, 이진 탐색 트리의 효율성에 대해 설명하고 있다. 8장 ‘우선순위 큐’에서는 우선순위 큐의 개념, 배열, 리스트로 구현된 우선순위 큐의 장단점, 히프의 동작 원리, 히프의 효율성, 히프의 배열을 이용한 구현에 대해 기술하고 있다. 9장 ‘정렬’에서는 정렬의 개념, 각 정렬 알고리즘의 동작 원리, 장단점, 효율성, C언어 구현 등에 대해 서술하고 있다.

10장 ‘그래프’에서는 그래프의 개념, 그래프를 표현하는 2가지 방법, 그래프 순회 방법, 최단 경로, 최소 신장 트리 알고리즘, 그래프를 문제 풀이에 응용하는 방법을 설명하고 있다. 11장 ‘해싱’에서는 추상 자료형 사전 구조, 해싱의 개념, 해시 함수의 변환 방법, 충돌 해결책인 선형 조사법 및 체이닝에 대해 기술하고 있다. 12장 ‘탐색’에서는 순차 탐색과 이진 탐색의 장단점, 색인 탐색과 보간 탐색의 개념, 균형 트리를 사용하는 목적, AVL 트리의 원리 및 삽입 연산, 2-3 트리와 2-3-4 트리의 개념에 대해 서술하고 있다.

리뷰/한줄평6

리뷰

8.0 리뷰 총점

한줄평

6.0 한줄평 총점

클린봇이 부적절한 글을 감지 중입니다.

설정