책정리/뇌를 자극하는 알고리즘

목차

GONII 2015. 3. 18. 10:59

part1. 자료구조

1장. 리스트

  1. 링크드 리스트

    배열 유감

    링크드 리스트를 소개합니다

    C 언어로 표현하는 링크드 리스트의 노드

    링크드 리스트의 주요 연산

    링크드 리스트 예제 프로그램

    링크드 리스트의 뒷이야기

  2. 더블 링크드 리스트

    더블 링크드 리스트를 소개합니다

    더블 링크드 리스트의 주요 연산

    더블 링크드 리스트 예제 프로그램

  3. 환형 링크드 리스트

    리스트 세계와 우로보로스, 환형 링크드 리스트

    환형 더블 링크드 리스트의 주요 연산

    환형 더블 리읔드 리스트 예제 프로그램

2장. 스택

  1. 스택 주차장의 추억
  2. 스택의 주요 기능 : 삽입과 제거
  3. 배열로 구현하는 스택

    스택과 스택의 노드 표현하기

    스택의 기본 연산 구현하기

    배열로 구현하는 스택 예제 프로그램

  4. 링크드 리스트로 구현하는 스택

    스택과 스택의 노드 표현하기

    스택의 기본 연산 구현하기

    링크드 리스트로 구현하는 스택 예제 프로그램

  5. 스택의 응용 : 사칙 연산 계산기

    수식의 중위 표기법과 후위 표기법

    후위 표기식을 계산하는 알고리즘

    사칙 연산 계산기 예제 프로그램

    이것만을 알고 갑시다

3장. 큐

  1. 큐의 주요 기능: 삽입과 제거
  2. 끝은 새로운 시작이다: 순환 큐

    순환 큐를 소개합니다.

    비어 있거나 또는 가득 차 있거나

    순환 큐 구현하기

    순환 큐 예제 프로그램

  3. 링크드 큐

    순환 큐 vs 링크드 큐

    링크드 큐 구현하기

    링크드 큐 예제 프로그램

    이것만은 알고 갑시다

4장. 트리

  1. 트리기초 다지기

    트리를 소개합니다

    트리를 열어봅시다

    트리 표현하기

    노드 표현하기

    트리 구현하기

  2. 이진 트리

    누구냐, 넌!

    이진 트리의 여러 형태

    이진 트리의 순회

    이진 트리 구현하기

  3. 수식 트리

    수식 트리를 소개합니다

    수식 트리의 구축

    수식 트리의 구현

  4. 분리 집합

    분리 집합: 교집합을 갖지 않는 집합들

    분리 집합의 표현

    분리 집합의 연산

    분리 집합 예제 프로그램

    이것만은 알고 갑시다

part2 알고리즘

5장. 정렬

  1. 콩쥐의 해결책: 정렬 알고리즘
  2. 버블 정렬

    버블 정렬을 소개합니다

    버블 정렬은 얼마나 빠를까요?

    거품을 내는 코드를 작성해 봅시다

  3. 삽입 정렬

    삽입 정렬은 무엇인가요?

    삽입 정렬은 버블 정렬보다 빠를까요?

    삽입 정렬 예제

  4. 퀵 정렬

    빠른 정렬, 퀵 정렬

    퀵 정렬이 퀵 정렬을 호출합니다

    퀵 정렬은 빠릅니다!

  5. C 표준 라이브러리 퀵 정렬 함수

    qsort() 함수를 소개합니다

    qsort() 함수를 테스트 해봅시다

    콩쥐가 되어 보세요

    이것만은 알고 갑시다

6장. 탐색

  1. 데이터를 찾아서
  2. 순차 탐색

    자기 구성 순차 탐색

  3. 이진 탐색

    탐색 익스프레스: 이진 탐색

    이진 탐색의 성능 측정

    이진 탐색의 구현

    C 표준 라이브러리의 이진 탐색 함수 : bsearch()

  4. 이진 탐색 트리

    이진 탐색을 위한 이진 트리

    이진 탐색 트리는 어떻게 생겼을까?

    이진 탐색 트리의 기본 연산

    이진 탐색 트리 예제 프로그램

    뒤늦게 생각해보는 이진 탐색 트리의 문제점

  5. 레드 블랙 트리

    레드 블랙 트리가 균현을 유지하는 비결

    레드 블랙 트리의 기본 연산

    레드 블랙 트리 예제 프로그램

    이것만은 알고 갑시다

7장. 우선순위 큐와 힙

  1. 우선순위 큐

    우선순위 큐의 삽입 연산

    우선순위 큐의 제거 연산

    우선순위 큐의 구현

  2. 힙에 새 노드 삽입하기

    힙의 최소값 삭제

    힙의 구현

    힙 예제 프로그램

  3. 힙을 이용한 우선순위 큐의 구현

    이것만은 알고 갑시다

8장. 해시 테이블

  1. 해시에 대하여
  2. 해시 테이블: 공간을 팔아 시간을 사다
  3. 해시 함수

    나눗셈법

    나눗셈법 예제 프록램

    자릿수 접기

    해시 함수의 한계: 충돌

  4. 충돌 해결하기

    체이닝

    개방 주소법

    이것만은 알고 갑시다

9장. 그래프

  1. 그래프를 소개합니다

    오일러의 도구

    그래프의 정의

  2. 그래프를 어떻게 표현할 것인가?

    인접 행렬

    인접 리스트

    인접 행렬 vs 인접 리스트

    인접 리스트의 구현

    인접 리스트 예제 프로그램

  3. 그래프 순회 : 그래프를 따라 산책하기

    깊이 우선 탐색

    너비 우선 탐색

    그래프 순회 예제 프로그램

  4. 위상 정렬

    위상 정렬 예제 프로그램

  5. 최소 신장 트리

    프림 알고리즘

    크루스칼 알고리즘

    최소 신장 트리 예제 프로그램

  6. 최단 경로 탐색

    다익스트라 알고리즘

    다익스트라 알고리즘 예제 프로그램

10장. 문자열 검색

  1. 고지식한 검색

    고지식하거나 미련하거나

    고지식한 검색의 구현

  2. 카프-라빈 알고리즘

    해시 값을 활용한 문자열 검색

    카프-라빈 알고리즘의 구현

  3. KMP 알고리즘

    접두부, 접미부, 그리고 경계

    경계 정보를 미리 계산하기

    KMP 알고리즘의 구현

  4. 보이어-무어 알고리즘

    나쁜 문자 이동

    착한 접미부 이동

    보이어-무어 알고리즘의 전처리 과정

    이것만은 알고 갑시다

part3 알고리즘 설계 기법

11장. 알고리즘 성능 분석

  1. 알고리즘의 성능에 대하여
  2. 알고리즘 수행 시간의 분석
  3. 점근 표기법

    O 표기법

    표기법

    θ 표기법

  4. 재귀 알고리즘의 성능 분석

    재귀 방정식과 재귀 알고리즘

    마스터 정리

    이것만은 알고 갑시다

12장. 분할 정복

  1. 아우스터리츠 전투
  2. 분할 정복 알고리즘
  3. 분할 정복의 응용

    병합 정렬

    거듭 제곱

    피보나치 수

    이것만은 알고 갑시다

13장. 동적 계획법

  1. 동적 계획법이란
  2. 피보나치 수 구하기

    동적 계획법으로 피보나치 수 구하기

    동적 계획법으로 설계된 피보나치 수 알고리즘의 구현

  3. 최장 공통 부분 순서

    최장 공통 부분 순서란

    LCS 알고리즘

    동적 계획법으로 설계하는 LCS 알고리즘

    이것만은 알고 갑시다

14장. 탐욕 알고리즘

  1. 탐욕 알고리즘에 대하여
  2. 편의점 점원의 거스름돈 줄이기

    거스름돈 계산 프로그램

    거스름돈을 만드는 탐욕 알고리즘은 항상 최적일까?

  3. 크루스칼의 최소 신장 트리 알고리즘 다시 보기
  4. 다익스트라의 최단 경로 알고리즘 다시 보기
  5. 허프만 코딩을 이용한 데이터 압축

    고정 길이 코드와 접두어 코드

    허프만 코딩

    허프만 코딩의 구현

    이것만은 알고 갑시다

15장. 백트래킹

  1. 백트래킹을 소개합니다
  2. 미로 탈출로 찾기

    트리 대신 재귀 호출로 구현하는 백트래킹

    미로 탈출 알고리즘 구현하기

  3. 8개의 쿤

    8개의 퀸이 만드는 해공간과 백트래킹

    8개의 퀸 알고리즘 구현하기

    이것만은 알고 갑시다

       

       

반응형

'책정리 > 뇌를 자극하는 알고리즘' 카테고리의 다른 글

5장 정렬  (0) 2015.03.23
4장 트리  (0) 2015.03.22
3장 큐  (0) 2015.03.19
2장 스택  (0) 2015.03.19
1장 리스트  (0) 2015.03.18