목차
01 기본 알고리즘
  01-1 알고리즘이란? = 13
    세 정수의 최댓값 구하기 = 13
    조건 판단과 분기 살펴보기 = 23
    순서도의 기호 살펴보기 = 26
  01-2 반복 = 29
    1부터 n까지 정수의 합 구하기 = 29
    양수만 입력하기 = 33
    다중 루프 다루기 = 38
02 기본 자료구조
  02-1 배열이란? = 44
    자료구조 정의하기 = 44
    배열 다루기 = 44
    메모리 할당과 동적 객체 생성하기 = 49
    배열을 동적으로 생성하기 = 53
    배열 요소의 최댓값 구하기 = 58
    배열 요소를 역순으로 정렬하기 = 66
    기수 변환하기 = 71
    소수 나열하기 = 79
    다차원 배열 만들기 = 87
    날짜를 계산하는 프로그램 만들기 = 89
  02-2 구조체란? = 96
    구조체 살펴보기 = 96
    구조체 배열로 구현하기 = 98
03 검색 알고리즘
  03-1 검색 알고리즘이란? = 102
    검색과 키 살펴보기 = 102
    배열에서 검색하기 = 102
  03-2 선형 검색 = 105
    선형 검색 다루기 = 105
    보초법으로 검색 다루기 = 109
  03-3 이진 검색 = 113
    이진 검색 다루기 = 113
    복잡도 살펴보기 = 118
    정렬된 배열에서 검색하는 bsearch 함수 알아보기 = 123
04 스택과 큐
  04-1 스택이란? = 138
    스택 알아보기 = 138
    스택 만들기 = 140
  04-2 큐란? = 151
    큐 알아보기 = 151
    배열로 큐 만들기 = 152
    링 버퍼로 큐 만들기 = 153
05 재귀 알고리즘
  05-1 재귀의 기본 = 171
    재귀 알아보기 = 171
    순차곱셈 구하기 = 172
    유클리드 호제법 살펴보기 = 174
  05-2 재귀 알고리즘의 분석 = 178
    재귀 알고리즘 분석하기 = 178
    재귀 알고리즘의 비재귀적 표현 살펴보기 = 181
    메모이제이션 알아보기 = 185
  05-3 하노이의 탑 = 188
    하노이의 탑 살펴보기 = 188
  05-4 8퀸 문제 = 193
    8퀸 문제 정의하기 = 193
    퀸 놓기 = 194
    가지 뻗기 = 200
    분기 한정법 다루기 = 202
    8퀸 문제를 푸는 프로그램 완성하기 = 204
06 정렬 알고리즘
  06-1 정렬 = 209
    정렬 정의하기 = 209
  06-2 버블 정렬 = 211
    버블 정렬 알아보기 = 211
  06-3 단순 선택 정렬 = 220
    단순 선택 정렬 알아보기 = 220
  06-4 단순 삽입 정렬 = 222
    단순 삽입 정렬 알아보기 = 222
  06-5 셸 정렬 = 227
    단순 삽입 정렬의 특징 이해하기 = 227
    셸 정렬 살펴보기 = 228
  06-6 퀵 정렬 = 234
    퀵 정렬 살펴보기 = 234
    배열을 두 그룹으로 나누기 = 235
    퀵 정렬하기 = 238
    비재귀적인 퀵 정렬하기 = 242
    qsort 함수를 사용해 정렬하기 = 253
  06-7 병합 정렬 = 259
    정렬을 마친 배열 병합하기 = 259
    병합 정렬하기 = 261
  06-8 힙 정렬 = 267
    힙 정의하기 = 267
    힙 정렬 알아보기 = 269
    배열로 힙 만들기 = 273
    힙 정렬의 시간 복잡도 이해하기 = 275
  06-9 도수 정렬 = 278
    도수 정렬하기 = 278
07 문자열 검색
  07-1 문자열의 기본 = 286
    문자열 정의하기 = 286
    문자열 리터럴 알아보기 = 286
    배열에 문자열 저장하기 = 288
    포인터로 문자열 나타내기 = 290
    문자열의 길이 구하기 = 293
    문자열에서 문자 검색하기 = 295
    문자열의 대소 관계 비교하기 = 298
  07-2 브루트-포스법 = 303
    문자열 검색 정의하기 = 303
    브루트-포스법으로 검색하기 = 303
  07-3 KMP법 = 308
    KMP법 알아보기 = 308
  07-4 보이어-무어법 = 313
    보이어-무어법 살펴보기 = 313
    strstr 함수 알아보기 = 317
08 리스트
  08-1 선형 리스트 = 321
    선형 리스트 정의하기 = 321
    배열로 선형 리스트 만들기 = 322
  08-2 포인터를 이용한 연결 리스트 = 324
    포인터로 연결 리스트 만들기 = 324
  08-3 커서를 이용한 연결 리스트 = 349
    커서로 연결 리스트 만들기 = 349
    배열의 비어 있는 요소 처리하기 = 357
    프리 리스트 구현하기 = 359
  08-4 원형 이중 연결 리스트 = 365
    원형 리스트 알아보기 = 365
    이중 연결 리스트 알아보기 = 366
    원형 이중 연결 리스트 만들기 = 367
09 트리
  09-1 트리란? = 390
    트리 정의하기 = 390
    순서 트리와 무순서 트리 정의하기 = 392
    순서 트리의 탐색 방법 알아보기 = 392
  09-2 이진트리와 이진검색트리 = 396
    이진트리 정의하기 = 396
    완전이진트리 정의하기 = 396
    이진검색트리 살펴보기 = 397
    이진검색트리 만들기 = 398
10 해시
  10-1 해시법 = 417
    정렬된 배열에 새로운 값 추가하기 = 417
    해시법 정의하기 = 417
    충돌 살펴보기 = 418
    체인법 살펴보기 = 422
    오픈 주소법 이해하기 = 440
찾아보기 = 451
닫기