데이타구조
2016-03-29
Destructive Update vs. Persistent Data (과제2 관련),
과제3 풀이
과제 제출 안내
- Google Drive 공유 폴더를 통해 (종이 X, 메일 X)
-
[새로 만들기] 버튼을 눌러
DS16<이름><학번> 폴더를 만들고 (예: DS16김연아123456)
만들어진 폴더를 우클릭하여
폴더 공유설정으로 kyagrd@gmail.com 에게 공유 (편집권한) - Google 메일 계정만 있으면 Google Drive 서비스 이용 가능
- Google 메일 계정은 무료로 만들 수 있으며
참고로 안드로이드 스마트폰 사용자는 누구나 이미 보유
데이타 구조를 다루는 2가지 관점
- Destructive Update (기존의 것을 파괴하고 덮어씀)
- 장점: 메모리 절약
- 단점: 공유된 데이타일 경우 혼란 가능성,
멀티스레드로 동시 접근할 때 불리
- Persistent Data (기존의 데이타를 그대로 유지)
- 장점: 이전/중간과정 데이타 재사용/공유 용이,
멀티스레드로 동시 접근할 때 유리 - 단점: 메모리 낭비 가능성
- 장점: 이전/중간과정 데이타 재사용/공유 용이,
Destructive Update
- int x = 3;
int y = 5;
x = x + y; // x 에 결과 덮어씀
- list* l1= cons(1,NULL);
list* l2= cons(2,cons(3,NULL));
// 기존 l1 대신 길이 3인 리스트
l1->next = l2;
- 기존 리스트를 해체/파괴하며 순서 뒤집기
Persistent Data
- int x = 3;
int y = 5;
int z = x + y; // 새로운 곳에
// 기존 x, y 값 유지
-
list* l1= cons(1,NULL);
list* l2= cons(2,cons(3,NULL));
// 길이 3인 새 리스트
list* l3 = cons(11->data, l2);
// 기존 l1, l2 그대로 유지
- 기존 리스트 유지하며 순서 뒤집힌 새로운 리스트 만들기
No notes on this slide.
데이타구조 2016-03-29 Destructive Update vs. Persistent Data (과제2 관련), 과제3 풀이
데이타구조
By 안기영 (Ahn, Ki Yung)
데이타구조
2016-04-12
- 1,674