| 0 | ((저자 소개) 김종진) XML 관련 관련 논문 ==> XML 관련 논문 | 2006-10-25 | 1 |
| 5 | ((5p) 머리말) 독자를 위해 저자의 홈페이지(http://www.jejue.ac.kr/~jkim)를 운영하고 ==> 독자를 위해 저자의 홈페이지(http://www.jejue.ac.kr/~jkim)와 카페(http://cafe.naver.com/computerbook)를 운영하고 | 2006-10-25 | 1 |
| 15 | (15 배열 첫 페이지에서) 첫 페이지에서 사진 ==> 첫 페이지에서 사진 -> 삭제 | 2006-10-25 | 1 |
| 25 | (P25) 이는 모든 집합의 부분집합이다. 그리고 원서가 1개인 {a},{b}, ... ==> 이는 모든 집합의 부분집합이다. 그리고 원소가 1개인 {a},{b}, ... | 2006-10-25 | 1 |
| 29 | ((p 29) [프로그램 1-2]) select, num, num1, num2, I ==> select, num, num1, num2, i | 2006-10-25 | 1 |
| 31 | ((p 31) 아래에서 6번째 줄) int I ==> int i | 2006-10-25 | 1 |
| 35 | ((p 35) 본문 옆 여벽에 나와 있는 소스 설명) 집합 set1에 대한 집합 st2의 차지합 set를 구하는 함수이다. ==> 집합 set1에 대한 집합 set2의 차집합 set를 구하는 함수이다. | 2006-10-25 | 1 |
| 36 | ((p 36) 페이지에 가운데 문장 끝부분) 다음과 같이 공용체가 카티션 곱에 의한 데이터형이라는 정도만 알아두자. ==> 다음과 같이 구조체가 카티션 곱에 의한 데이터형이라는 정도만 알아두자. | 2006-10-25 | 1 |
| 36 | ((p 36) 카티션 곱의 정의(조건제시법)) A*B = { (x, y) | x ∈ A 그리고 x ∈ B } ==> A*B = { (x, y) | x ∈ A 그리고 y ∈ B } | 2006-10-25 | 1 |
| 45 | ((p 45) 중간부분: 관계식 2a+1...) 집합 A={1,2,3}의 원소가 관계식이 2a+1에 의해 집합 B={1,3,5,7}에 ... ==> 집합 A={1,2,3}의 원소가 관계식이 2a+1에 의해 집합 B={3,5,7}에 ... | 2006-10-25 | 1 |
| 51 | ((p 51) 중간에 작은 제목) 합성 관계를 두 관계를 ==> 합성 관계는 두 관계를 | 2006-10-25 | 1 |
| 51 | ((p 51) 첫번째 풀이 밑에서 둘 째줄) 즉, 정리하면 R = {(2,2), (2,3), (3,1), (3,2)}가 된다 ==> 즉, 정리하면 R = {(1,2), (1,3), (2,2), (2,3), (3,1), (3,2)}가 된다. | 2006-10-25 | 1 |
| 54 | (p 54 밑에서 4번째 줄, 2번째 줄, [그림2-3]) 학생 릴레이션에서 이름과 성적
이름,성적(학생)
[그림2-3] 이름, 성적(학생)결과 ==> 학생 릴레이션에서 학번과 성적
학번,성적(학생)
[그림2-3] 학번, 성적(학생)결과 | 2006-10-25 | 1 |
| 55 | ((p 55) 5, 7, 10) [그림 2-2]의 학생 릴레이션과
[표 2-4]
[그림 2-5]과 ==> [그림 2-1]의 학생 릴레이션과
[그림 2-4]
[그림 2-5]와 | 2006-10-25 | 1 |
| 55 | ((p 55) [그림2-5]) 컴교 A301 720-0801 윤리 A304 720-0816 컴교 B205 720-0821 과학 C201 720-0854 수학 E304 720-0858 ==> 컴교 E304 720-0858 윤리 A301 720-0801 컴교 E304 720-0858 과학 B205 720-0821 수학 A304 720-0816 | 2006-10-25 | 1 |
| 60 | ((p 60) 네번째 문단 첫째줄) [그림 3-4]는 함수가 되는 ==> [그림 3-3]은 함수가 되는 | 2006-10-25 | 1 |
| 64 | ((p 64) 첫번째 문장 두번째 줄 끌 부분) ... 원소가 한개로 빠짐없이 대응하 ==> ... 원소가 한개도 빠짐없이 대응하 | 2006-10-25 | 1 |
| 66 | ((p 66) 아래에서 3번째 줄) [그림 3-13]과 ==> [그림 3-14]와 | 2006-10-25 | 1 |
| 66 | ((p 66) 첫번째 예제문제) f(x)=2^x+1 ==> f(x)=2x+1 | 2006-10-25 | 1 |
| 66 | (두번째 예제 문제 1)) ∴ g 。f(x) -> -2x-1 ==> ∴ g 。f(x) -> 2x+3 | 2006-10-25 | 1 |
| 76 | ((p 76) 마지막줄) 0.6875_2는 0.1011_2로 변환된다. ==> 0.6875_10는 0.1011_2로 변환된다. | 2006-10-25 | 1 |
| 77 | ((p 77) [그림 4-3]) [그림 4-3]의 (b) 나눗셈에서 계산식 ==> [그림 4-3]의 (b) 나눗셈에서 계산식 세로 줄 정렬 | 2006-10-25 | 1 |
| 83 | ((p 83) 소스 6번째 줄) for (i=length-1; i>=0; I--) ==> for (i=length-1; i>=0; i--) | 2006-10-25 | 1 |
| 88 | ((p. 88) 마지막 그림) 25, 35, 49를 X로 표시해야 함. ==> 25, 35, 49를 X로 표시해야 함. | 2006-10-25 | 1 |
| 90 | ((p90) 표 5-1) 0 - 100,000 ==> 0 - 1,000,000 | 2006-10-25 | 1 |
| 99 | ((p 99) 밑에서 두번째 줄) ... 현의 길이에 따는 소리의 ==> ... 현의 길이에 따른 소리의 | 2006-10-25 | 1 |
| 101 | ((p 101) 의 첫줄) (1)은 첫째 항이 2이고 다음 항은 바로 앞 항에 2를 곱한 값이고, ==> (1)은 첫째 항이 2이고 다음 항은 바로 앞 항에 3을 곱한 값이고, | 2006-10-25 | 1 |
| 104 | ((p104~ 105 ) 피보나치 수열에서 알 수 있는 것들) (4)과 (5)번의 그림 예 ==> (4)과 (5)번의 그림 예 바꾸기 | 2006-10-25 | 1 |
| 116 | ((p 116) 위에서 4째 줄) n*(n-1)*(n-2)*...*n ==> n*(n-1)*(n-2)*...*1 => (마지막 n을 1로) | 2006-10-25 | 1 |
| 117 | ((pp. 117-119) [프로그램 7-1]과 [실행 결과]) ==> #include <stdio.h> #define MAX 10
void permutation(int n, int r); void print(int r, int s[]); int p=0;
main() { int n, r; printf("input number of objects ==> "); scanf("%d", &n); printf("input number to be chose ==> "); scanf("%d", &r); permutation(n, r); }
void permutation(int n, int r) { int s[MAX]; int i, j=0; int a, b, end_n, boo;
/* n개의 원소를 배열에 저장한다. */ for (i=0; i<n; i++) s[i] = i+1;
/* n진법을 이용하여 순열을 만들고 print함수를 호출한다. */ for(end_n = n; s[0] != end_n+1; s[r-1]++) { boo=1; /* n진법을 만든다. */ for (i=r-1; i>0; i--) { if(s[i] == n+1) { s[i]=1; s[i-1]++; } } /* n진법 수 중 중복되는 수가 있는 수를 가려낸다. 121과 같은 경우 */ for(a=0; a<r-1; a++) for(b=a+1; b<r; b++) { if(s[a]==s[b]) boo=0; } /* n진법 수 중 중복되지 않는 수는 출력한다. */ if((boo==1)&&(s[0] != end_n+1)) print(r, s); } printf(" "); }
void print(int r, int s[]) { int i; for (i=0; i<r; i++) printf("%d", s[i]); printf(" "); p++; /* 5개의 수 출력후 개행 */ if (p%5 == 0) printf(" "); }
[실행 결과] $ ./a.out input number of objects ==> 5 input number to be chose ==> 3 123 124 125 132 134 135 142 143 145 152 153 154 213 214 215 231 234 235 241 243 245 251 253 254 312 314 315 321 324 325 341 342 345 351 352 354 412 413 415 421 423 425 431 432 435 451 452 453 512 513 514 521 523 524 531 532 534 541 542 543
$
| 2006-10-25 | 1 |
| 122 | (p.122 아래에서 세번째 줄) 10_C_3 = 10_P_3 = 10_P_3/3! ==> 10_C_3 = 10_P_3/3! | 2006-10-25 | 1 |
| 130 | (p.130 첫 번째 식) <첫번째식> n_C_0 + n_C_1 + n_C_2 + ... + = n_C_n2^n
<세번째식> 이다. 따라서 이 두 식을 더하고 빼어 n_C_1 + 2*n_C_2 + 3*n_C_3... + n*n_C_n2 = n*2^n-1
<네번째식> n_C_0 - *n_C_1 + n_C_2 + n_C_3...(-1)^n-1*n_C_n = 0 ==> <첫번째 식> n_C_0 + n_C_1 + n_C_2 + ... + n_C_n = 2^n
<세번째식> 이다. 따라서 이 두 식을 더하고 뺀 식을 더하면 2(n_C_0 + n_C_2 + n_C_3 + ...+ n_C_n) = 2*2^n
<네번째식> n_C_0 + n_C_2 + n_C_3 + ...+ n_C_n = 2^n | 2006-10-25 | 1 |
| 138 | ((p 138) 아래에서 3, 2번째 줄) 대칭 행려
대칭 행려가 ==> 대칭 행렬
대칭 행렬이 | 2006-10-25 | 1 |
| 139 | ((p 139) [그림 8-13]) [그림 8-13]
[그림 8-13] 대칭 행려의 예 ==> [그림 8-13]을 138 쪽 대칭 행렬 옆으로 이동
[그림 8-13] 대칭 행렬의 예 | 2006-10-25 | 1 |
| 142 | ((p 142) [그림 8-19]) [그림 8-19] 2x2 행렬 A와 2x2 행렬 B ==> [그림 8-19] 2x2 행렬 A와 2x2 행렬 B의 곱셈 | 2006-10-25 | 1 |
| 143 | ((p 143) [그림 8-22]) [그림 8-22] 행렬로 표시 ==> [그림 8-22] 행렬로 표시 -> 삭제 | 2006-10-25 | 1 |
| 144 | ((p.144) 그림 8-23의 연산 과정의 결과) 22 26 49 64 ==> 22 28 49 64 | 2006-10-25 | 1 |
| 146 | ((p 146) [그림 8-27]) [그림 8-27] AX = E ==> [그림 8-27] AX = E -> 삭제 | 2006-10-25 | 1 |
| 154 | ((p154) 첫번째 예제문제) 1/2 + 1/4 + 1/8 + 1/16 + ... + (1/2)n + ... ==> 1/2 + 1/4 + 1/8 + 1/16 + ... + (1/2)^n + ... | 2006-10-25 | 1 |
| 160 | (p.160 예제문제 풀이) S - (1/3)S = (1 + 2/3 + 3/(3^2) + 4/(3^3) + 5/(3^4) + ... + (n-1)/(3^(n-2)) + n/(3^(n-1))) - (1/3 + 3/(3^2) + 4/(3^3) + 5/(3^4) + ... + (n-1)/(3^(n-2)) + n/(3^(n-1))) ==> S - (1/3)S = (1 + 2/3 + 3/(3^2) + 4/(3^3) + 5/(3^4) + ... + (n-1)/(3^(n-2)) + n/(3^(n-1))) - (1/3 + 2/(3^2) + 3/(3^3) + 4/(3^4) + ... + (n-2)/(3^(n-2)) + (n-1)/(3^(n-1))) | 2006-10-25 | 1 |
| 161 | ((p 161) 세 번째 단락 첫째줄, [그림 9-2]) [그림 9-2]에서 출발점에서
[그림 9-2] 화살 이야기 ==> [그림 9-1]에서 출발점에서
[그림 9-1] 화살 이야기 | 2006-10-25 | 1 |
| 171 | ((p 171) 산포 구하기 다음 줄) [그림 10-3]과 같이 5명의 ==> [그림 10-2]와 같이 5명의 | 2006-10-25 | 1 |
| 172 | ((p 172) 5,6 번째 줄) 5번째 줄과 6번째 줄의 위치가 바뀜 ==> 표준편차(s)이 두 번째 박스 위로 가야 함 | 2006-10-25 | 1 |
| 172 | ((P 172) 두 번째 예제 문제) 70, 85, 788,92, 80, 85 ==> 70, 85, 78, 92, 80, 85 (788->78) | 2006-10-25 | 1 |
| 174 | ((p 174) [표 11-1]) [표 11-1] 흰 쥐의 무게 데이터 ==> [표 10-1] 흰 쥐의 무게 데이터 | 2006-10-25 | 1 |
| 187 | ((p 187) 그림 11-3) 8 9 ==> 7 8 | 2006-10-25 | 1 |
| 196 | ((p 196) 5번째 단락, [그림 12-4]) [그림 12-4]를 통해 살펴보자.
[그림 12-4] 원하는 난수를 만들기 위한 그래프 ==> [그림 12-3]을 통해 살펴보자.
[그림 12-3] 원하는 난수를 만들기 위한 그래프 | 2006-10-25 | 1 |
| 199 | ((p 199) [그림 12-5], 두 번째 단락) [그림 12-5] 혼합 합동법에 의한 난수 생성 단계
[그림 12-5]의 ==> [그림 12-4] 혼합 합동법에 의한 난수 생성 단계
[그림 12-4]의 | 2006-10-25 | 1 |
| 204 | ((p.204) 3-4번째 줄) 이 방법은 - 갖고 있다. ==> 삭제, 앞 부분과 중복 | 2006-10-25 | 1 |
| 214 | ((p 214) 두 번째 줄, [그림 13-7]) [그림 13-10]과 같이 가중 검사합을 계산한다.
[그림 13-7] ==> 다음과 같이 가중 검사합을 계산한다.
[그림 13-7] 가중 검사합 계산 -> 삭제 | 2006-10-25 | 1 |
| 231 | ((p 231) 세 번째 단락 둘째 줄위) [그림 14-2]와 같고 -> [그림 14-1]과 같고 ==> [그림 14-2]와 같고 -> [그림 14-1]과 같고 | 2006-10-25 | 1 |
| 232 | ((p 232) 3, 5번째 단락) [그림 14-4]와 같고 스위치 A
[그림 14-5]이다. ==> [그림 14-3]과 같고 스위치 A
[그림 14-4]이다. | 2006-10-25 | 1 |
| 233 | ((p 233) 세 번째 단락 첫째줄) [그림 14-6]이다. ==> [그림 14-5]이다. | 2006-10-25 | 1 |
| 233 | ([그림 14-5]) [그림 14-5] OR 게이트 논리 기호 ==> [그림 14-5] NOT 게이트 논리 기호 | 2006-10-25 | 1 |
| 234 | ((p 234) 1, 4번째 단락) [그림 14-7]이다.
[그림 14-8]이다. ==> [그림 14-6]이다.
[그림 14-7]이다. | 2006-10-25 | 1 |
| 235 | ((p 235) 중간,) [그림 14-9]이다. ==> [그림 14-8]이다. | 2006-10-25 | 1 |
| 236 | ((p 236) 둘째줄) [그림 14-10]과 같다. ==> [그림 14-9]와 같다. | 2006-10-25 | 1 |
| 236 | ((p 236) 예제문제 풀이 2)) AND 게이트 입력값 B = 0 ==> B = 1 | 2006-10-25 | 1 |
| 241 | ((p241) 부울대수 기본공식) 1번 : X + 0 = X3 ==> 1번 : X + 0 = X | 2006-10-25 | 1 |
| 244 | ((p244) 예제문제) 회로 그림 잘못됨 ==> _ _ 마지막 AND 게이트의 입력 변경 : A => A, C => C | 2006-10-25 | 1 |
| 247 | ((p 247) 실행 결과) $ a.outꏮ Programming Grains Linux Programming Language ^ꎀ 입력 종료 capital letter: 5 small letter: 36 $ ==> $ a.outꏮ Input year & month ==> 2020 2 Days = 29 $ | 2006-10-25 | 1 |
| 248 | ((p 248) [프로그램 14-3]설명하는 끝부분) ... printbit 함수는 초에 ==> ... printbit 함수는 ch에 | 2006-10-25 | 1 |
| 269 | (p269) 16 재귀호출 첫 페이지 사진
직□간접적 ==> 16 재귀호출 첫 페이지 사진 -> 삭제
직·간접적 | 2006-10-25 | 1 |
| 276 | ((p 276) 네번째 문단) 이 수식을 함수로 나타내면 다음과 같은데, if 조건식인 n==1 이 참이면 1을 반환하고, ==> 이 수식을 함수로 나타내면 다음과 같은데, if 조건식인 n==0 이 참이면 1을 반환하고, | 2006-10-25 | 1 |
| 287 | ((p 287) 세번째 단락 첫째줄) 다음 표와 같다.
[표 17-1] 정렬 알고리즘 특징 ==> 다음과 같다.
[그림 17-1] 정렬 알고리즘 특징 | 2006-10-25 | 1 |
| 294 | (p 294 맨 마지막 그림, p 295 첫 번) 7 19 52 38 52 75 41 ==> 7 19 38 24 52 75 41 | 2006-10-25 | 1 |
| 295 | (P 295 첫번째 그림) 7 19 38 24 52 41 75 ==> 7 19 24 38 52 41 75 | 2006-10-25 | 1 |
| 296 | ((p 296) 선택 정렬에 예제) 데이터가 자리를 교환할 때 다음 데이터가 하나씩 뒤로 밀리는 걸로 설명됨 ==> 선택 정렬은 전체 데이터중 가장 작은수를 찾은후 맨 앞에 있는 수와 교환한 후, 맨 앞에 가장 작은수를 제외한 데이터 중에서 작은수를 찾아 두째번 자리에 있는 수와 교환하는데 이 때 자리가 하나씩 밀리는 것이 아니라 원래 자리와 자리만 바뀜 | 2006-10-25 | 1 |
| 298 | ((p 298) [그림 17-8]에서) 두 번째 데이터 7 ==> 17로 바꾸어야 함 | 2006-10-25 | 1 |
| 300 | ((p 300) [표 17-9]) [표 17-9] 퀵 정렬 결과 ==> [그림 17-9] 퀵 정렬 결과 | 2006-10-25 | 1 |
| 300 | ((p 300) 11단계 그림) 교환 전의 33과 26
==> 26과 33으로 변경 | 2006-10-25 | 1 |
| 306 | (p. 306) - 첫번째 그림 버킷 [0]의 200 위에 380 위치 버킷 [2]의 312 -> 612 버킷 [3]의 380 삭제
- 아래 1단계 결과 200, 361, 612, 380, 254, 764, 485, 177, 39, 209 ==> 1단계 결과 200, 380, 631, 612, 254, 764, 485, 177, 39, 209 ==>
| 2006-10-25 | 1 |
| 310 | ((p 310) 4단계와 5단계 그림) 4단계와 5단계의 그림이 바뀜 ==> 4단계와 5단계의 트리 그림 서로 바꿈 | 2006-10-25 | 1 |
| 313 | ((p 313) 2단계 트리 (p 314) 3단계 트리) 트리 순서 바뀜 ==> (2)단계와 (3)단계 트리 그림 서로 바꿈 | 2006-10-25 | 1 |
| 328 | ((p 328) 첫번째 그림) 71의 음영 표시 ==> <음영 표시 변경> 69를 음영 표시 | 2006-10-25 | 1 |
| 331 | ((p 331) 아래에서 3줄) [그림 18-8]과 같이 ==> [그림 18-7]과 같이 | 2006-10-25 | 1 |
| 331 | ((p331) (1) 1단계 박스 수식에서 분모) 16-12
==> 16-2 | 2006-10-25 | 1 |
| 344 | ((p 344) 세번째 문단 첫째줄) 예를 들어 +, 3, 5를 중위 표기로 나타내면 다음과 같고 ==> 예를 들어 3, +, 5를 전위 표기로 나타내면 다음과 같고 | 2006-10-25 | 1 |
| 366 | ((p 366) 마지막 줄) 저장된다.] ==> 저장된다. | 2006-10-25 | 1 |
| 374 | ((p 374) delete 함수 전체) delete 함수 전체 ==> 다음과 같이 수정해야 합니다.
void delete (struct list **pptr, int data) { struct list *ptr, *preptr;
/* 리스트에 노드가 하나도 없는 경우 */ if (*pptr == NULL) { printf("no data "); /* 삭제할 노드가 첫 번째 노드인 경우 */ } else if ((*pptr)->data == data) { *pptr = (*pptr)->next; } else { preptr = *pptr; ptr = preptr->next; while (ptr!=NULL) { /* 삭제할 노드가 첫 번째 노드가 아닌 경우 */ if (ptr->data == data) { preptr->next = ptr->next; free(ptr); return; } else { preptr = ptr; ptr = ptr->next; } } /* 삭제할 노드가 없는 경우 */ printf("not found "); } } | 2006-10-25 | 1 |
| 375 | ((p 375) 소스 코드) if (pt->data == data) { /* 삭제할 노드가 없는 경우 */ preptr->next = ptr->next; free(ptr); } else { printf("Not found "); } ==> <주석 위치 수정> if (pt->data == data) { preptr->next = ptr->next; free(ptr); } else { /* 삭제할 노드가 없는 경우 */ printf("Not found "); } | 2006-10-25 | 1 |
| 387 | ((p 387) [그림 21-4]) [그림 21-4] 트리 구조 ==> [그림 21-3] 트리 구조 | 2006-10-25 | 1 |
| 400 | ((p 400) 중간) [그림 21-15]과 같이 ==> [그림 21-15]와 같이 | 2006-10-25 | 1 |
| 408 | ((p 408) [프로그램 20-2]) 소스 수정 ==> #include <stdio.h> #include <stdlib.h>
struct node { int data; struct node *left_child; struct node *right_child; };
typedef struct node treenode; typedef treenode *tree_ptr;
void insert_node (tree_ptr *head, int key); void delete_node (tree_ptr *head, int key); tree_ptr search_node (tree_ptr head, int key);
main() { tree_ptr ptr, temp; int select, data; ptr = NULL;
while (1) { printf("select menu : 1.insert 2.delete 3.search 4.exit => "); scanf("%d", &select); if (select == 1) { printf("insert data => "); scanf("%d", &data); insert_node (&ptr, data); } else if (select == 2) { printf("delete data => "); scanf("%d", &data); delete_node (&ptr, data); } else if (select == 3) { printf("search data => "); scanf("%d", &data); if (temp = search_node (ptr, data)) printf("%d ", temp->data); } else if (select == 4) { break; } else { printf("select error "); } } }
/* key값의 노드를 삽입하는 함수 */ void insert_node (tree_ptr *head, int key) { tree_ptr ptr1, ptr2, temp; /* 동적 메모리 할당 */ temp = (tree_ptr)malloc(sizeof(treenode)); temp->data = key; temp->left_child = NULL; temp->right_child = NULL;
if((*head) == NULL) /* 첫 번째 노드면 */ (*head) = temp; else { ptr1 = (*head); while (ptr1) { /* 삽입할 위치 탐색 */ ptr2 = ptr1; if (key == ptr1->data) /* 같은 키가 있으면 삽입하지 않고 종료 */ return; else if (key < ptr1->data) ptr1 = ptr1->left_child; else ptr1 = ptr1->right_child; } if (key < ptr2->data) /* 노드의 키보다 작으면 왼쪽 자식 노드로 삽입 */ ptr2->left_child = temp; else /* 노드의 키보다 크면 오른쪽 자식 노드로 삽입 */ ptr2->right_child = temp; } }
/* key값의 노드를 삭제하는 함수 */ void delete_node (tree_ptr *head, int key) { tree_ptr parent, son, temp1, temp2; parent = (*head); son = (*head); while (son!=NULL && son->data!=key) { parent = son; if (key < son->data) son = son->left_child; else son = son->right_child; } if (son==NULL) { printf("Not found "); return; } else temp1 = son;
if (temp1->right_child==NULL && temp1->left_child==NULL) /* 첫 번째 경우 */ son = NULL; else if (temp1->right_child==NULL) /* 두 번째 경우 */ son = temp1->left_child; else if (temp1->right_child->left_child == NULL) { /* 세 번째 경우 */ son = temp1->right_child; son->left_child = temp1->left_child; } else { /* 네 번째 경우 */ temp2 = son->right_child; while (temp2->left_child->left_child != NULL) temp2 = temp2->left_child; son = temp2->left_child; temp2->left_child = son->right_child; son->left_child = temp1->left_child; son->right_child = temp1->right_child; } free(temp1); if (key == parent->data) (*head) = son; else if (key < parent->data) parent->left_child = son; else parent->right_child = son; }
/* head가 가리키는 트리에서 key값의 노드를 탐색하는 함수 */ tree_ptr search_node (tree_ptr head, int key) { tree_ptr temp; temp = head; while (temp) { if (key == temp->data) /* 탐색에 성공하면 해당 노드를 반환 */ return temp; /* 노드의 키보다 작으면 왼쪽 서브 트리를 탐색하도록 설정 */ if (key < temp->data) temp = temp->left_child; else /* 노드의 키보다 크면 오른쪽 서브 트리를 탐색하도록 설정 */ temp = temp->right_child; } printf("Not found "); return NULL; /* 탐색에 실패하면 NULL반환 */ }
| 2006-10-25 | 1 |
| 410 | (p 410, p 411) p410과 p411 소스 ==> p410과 p411 소스 차례 바뀜 | 2006-10-25 | 1 |
| 421 | ((p 421) 끝에서 4줄,) [그림 22-4]와 같이 ==> [그림 22-3]과 같이 | 2006-10-25 | 1 |
| 423 | ((p 423) 네번째 단락 셋째줄) [그림 22-7]에서 ==> [그림 22-6]에서 | 2006-10-25 | 1 |
| 424 | ((p 424) 네번째 단락) [그림 22-9]는[그림 22-8]의 ==> [그림 22-10]은 [그림 22-9]의 | 2006-10-25 | 1 |
| 425 | ((p 425) 세번째 단락) [그림 22-11]은 [그림 22-10]의 ==> [그림 22-12]는 [그림 22-11]의 | 2006-10-25 | 1 |
| 426 | ((p 426) 세번째 단락) [그림 22-12]는 ==> [그림 22-14]는 | 2006-10-25 | 1 |
| 439 | ((p 439)) [프로그램 22-1] ==> [프로그램 22-2] | 2006-10-25 | 1 |
| 440 | ((p 440) 소스 맨 위) 소스 누락 ==> 다음 코드 추가
typedef struct node *node_ptr;
struct queue { int data; struct queue *next; }; | 2006-10-25 | 1 |
| 462 | ((p 462) 둘째 박스) k2 = 1243972900 ==> k^2 = 1243972900 | 2006-10-25 | 1 |
| 464 | (p. 464 [그림 23-8] 위 부분) 어떠한 값에도 편중되지 않음을 확인할 수 있고 결국 해시 주소는 110011012이다. ==> 어떠한 값에도 편중되지 않음을 확인할 수 있고 결국 해시 주소는 11001101이다. | 2006-10-25 | 1 |
| 470 | ((p470) 밑에서 세번째 줄) i2
==> i^2 | 2006-10-25 | 1 |
| 473 | ((p 473) 두번째 단락) [그림 23-23]의 ==> 위 그림에서 | 2006-10-25 | 1 |
| 474 | ((p 474)) [그림 23-25]와
[그림 23-25] 컴파일러 구조
[그림 23-26]의
[그림 23-26] 원시 프로그램의 예
[그림 23-27] 원시 프로그램의 토큰들 ==> [그림 23-22]와
[그림 23-22] 컴파일러 구조
[그림 23-23]의
[그림 23-23] 원시 프로그램의 예
[그림 23-24] 원시 프로그램의 토큰들 | 2006-10-25 | 1 |
| 476 | ((p 476)) [그림 23-28]과 같이 노드 하나를
[그림 23-29]와 같이 저장된다. ==> 다음과 같이 노드 하나를
다음과 같이 저장된다. | 2006-10-25 | 1 |
| 477 | ((p 477)) [그림 23-30]과 같이 저장된다. ==> 다음과 같이 저장된다. | 2006-10-25 | 1 |
| 478 | ((p 478)) [그림 23-32]와 같이 저장된다. ==> 다음과 같이 저장된다. | 2006-10-25 | 1 |
| 479 | ((p 479)) [그림 23-35]와 같이 줄 번호 4를 ==> 다음과 같이 줄 번호 4를 | 2006-10-25 | 1 |
| 485 | ((p 485) 네째줄) 휴리스틱틱 ==> 휴리스틱 | 2006-10-25 | 1 |
| 490 | ((pp. 490-496) 모든 그림) 상태8 4 1 3 2 5 6 7 8 _
상태9 4 1 3 2 5 6 7 8 _
상태10 4 1 3 2 5 6 _ 7 8
상태12 4 1 3 2 5 6 _ 7 8 ==> 상태8 4 1 3 2 5 _ 7 8 6
상태9 4 1 _ 2 5 3 7 8 6
상태10 4 1 3 2 _ 5 7 8 6
상태12 4 3 _ 2 1 6 7 5 8 | 2006-10-25 | 1 |
| 497 | ((p. 497) 밑에서 두번째 문단) h(N)은 현재 노드에서 목표 노드에, h(N)은 현재 노드에서 목표 노드에 이르는 추정 비용이다. ==> h(N)은 현재 노드에서 목표 노드에 이르는 추정 비용이다. | 2006-10-25 | 1 |
| 499 | ((pp. 499-503) 모든 그림) 상태8 4 1 3 2 5 6 7 8 _
상태10 4 1 3 2 5 6 _ 7 8 ==> 상태8 4 1 3 2 5 _ 7 8 6
상태10 4 3 _ 2 1 6 7 5 8 | 2006-10-25 | 1 |
| 509 | ((p 509) [그림 24-16]) [그림 24-16] B4 노드와 B5 노드 잘라버림 ==> [그림 24-16] B4 노드와 B5 노드 잘라버림 -> 삭제 | 2006-10-25 | 1 |
|