3 순차 자료구조와 선형 리스트.

Slides:



Advertisements
Similar presentations
㈜ 금산산업 회사 소개서. 회사 소개 회사 개요 회사 연혁 공장약도 제품 소개 원료 관리 필렛 작업 염 ( 소금 ) 침지 공정 급속동결 및 진공 포장 거래처 LIST 거래처별 매출 실적 공장사진 목 차.
Advertisements

1. 가족생활주기와 문화 2. 가족생활주기의 단계와 과업 1948 년 Hill & Duvall – 가족은 서로 의존하는 관계로서 가족 구성원의 개별적 생활주기의 집합으로 취급 가족생활주기 – 가족의 형성부터 해체까지 가족생활을 통하여 지속적으로 나타나는 일련의 특징적인.
2016 년 3 월 18 일 2016 귀농현장실습교육 시스템 농촌인적자원개발센터 누리집 ( 홈페이지 )
김 O O 입사 지원 이력서 및 자기소개서.
제 2 장 : 배열과 구조 이 형 원 강릉대학교 컴퓨터공학과
행 렬.
연금 투쟁에 대처하는 우리의 자세 대한민국은 거대한 세월호 가만히 있으면 조용히 가라앉는다 *연금개악 투쟁에 대한 반응
DIGITAL MINISTRY 영상제작기술교육.
컴퓨터 개론 및 실습 강의 9.
이산수학(Discrete Mathematics)
▣ 금연 프로그램 운용(안) 구 분 실 시 내 용 일 정 사전조사 교육프로그램실시
데이터 모델링 방법론 2003년 03월.
희소 행렬(sparse matrix) mn matrix A ≡ A[MAX_ROWS][MAX_COLS] 희소행렬
제2장 배열과구조.
리더십 역량 개발 계획서 핵심인재 양성 코스를 마치신 여러분, 수고하셨습니다.
( 보전산지 지정해제 [임업용산지→준보전산지])
수치해석 (Numerical Analysis)
판별분석의 개념과 적용(→ 추계통계적 성격)
성경퀴즈 대회 출애굽기.
제 2 장 배열과 스트링.
제2장 배열과구조.
Ch. 1 선형대수학: 행렬, 벡터, 행렬식, 선형연립방정식
자료 구조: Chapter 3 배열(1) 순천향대학교 컴퓨터공학과 하 상 호.
제 3 장. 배열과 구조체 및 포인터.
교육 일정표 시 간 1일차 2일차 09:00-10:00 품질 경영에 대한 이해 품질 도구 활용 _원인분석 2
대칭알고리즘 AES ▪ 발표자 : 최명현.
밀크시슬 이엑스 성 분 밀크씨슬 추출물 & 5가지 비타민 B군 특 징 실리마린 130mg , 민들레뿌리 추출물
Chapter 7-2.
제 5 장 내부거래와 미실현손익 1. 내부거래와 미실현손익의 제거 2. 재고자산 내부거래 3. 유형자산 내부거래
“주 40시간 근무제 대비” 생산성과 노사관계 혁신
소프트웨어시스템실습 3강: R 프로그래밍 및 데이터 조작
본 자료는 광고/홍보 목적이 아닌 회원을 위한 내부 교육용 자료입니다.
산청군 시천면 반천리 3-2 외1필지(공장용지, 도로)
-펀(Fun)! 펀(Fun) 리더십-.
6장 데이터 타입(2) 순천향대학교 컴퓨터공학부 하 상 호.
Association between two measurement variables Correlation
11장. GROUP BY와 HAVING 열의 그룹화 2개 이상의 열에 대한 그룹화
캐리어 저울탑재 캐리어 프리마인드&티안티안 세련된 디자인과 멋스러움!
하나샵 메인 변경 하나샵 E-커머스팀 양희연.
관계 기본 개념 관계의 표현 관계의 성질 관계의 연산 관계의 폐포 동치 관계 부분순서 관계.
Keller: Stats for Mgmt & Econ, 7th Ed 다중회귀분석 Multiple Regression
내부 표준법과 표준물 첨가법 목포대학교 화학과 남상호.
한국 형사정책 연구원 GINI 일반범죄 (형법범죄) 발생건
동적계획법과 최적화 문제 Dynamic Programming을 사용한 최적화 문제를 해결하는 알고리즘 설계 절차
adopted from KNK C Programming : A Modern Approach
2017학년도 학력인정 문해교육 운영 기관 현황 행정구별 기관수 현황 초등학력 프로그램 운영기관 중학학력 프로그램 운영기관
수정사항 → 수정 및 추가 → 삭제.
알고리즘(Algorithm) 유비쿼터스 컴퓨팅학과 교수 송 창근
2014 ‘ㄱ’ 찾기 프로젝트 공모사업 결과공유회 MODU Guide to Major 모두매거진 (토)
정의역, 공역, 치역 수학 7-가 함수 > 함수의 뜻 > 5-6/14 수업계획 수업활동 [제작의도]
y= ax 의 그래프 그리기 수학 7-가 함수 > 함수의 그래프 > 10/14 수업계획 수업활동 [제작의도]
수학8가 대한 108~110 쪽 Ⅴ. 부등식 2. 일차부등식 §1.일차부등식의 풀이(5/10) 일차부등식의 풀이.
2.7 행렬 (Matrices] 이산수학 (Discrete Mathematics) Matrix Reloaded
이산수학(Discrete Mathematics)
Ⅲ. 남부 지방의 생활 제 4장 관광산업이 발달한 제주도 주제1. 화산 활동으로 이루어진 섬, 따뜻한 기후.
▶ 평생교육 기획과 운영 평생교육 프로그램 설계 및 실행 평생교육 프로그램 설계 및 실행 평생교육사 교육과정.
[297탄] 반드시 길러야 할 4가지 공부 습관 자습 습관 복습 습관 동기부여 습관 셀프 테스트 습관
전류는 자계에서 힘을 받는다 기계공학교육 박지훈 황인석 한만혁 이덕균.
캐리어 나의 두번째 여행가방, TRAVEL CASE 합리적인 가격과 좋은 품질을 더한 캐리어를 소개합니다~
‘e-posteel’ 매뉴얼[고객사]
웃 음 율 동.
아메리칸투어리스터랑 똑같이 만들어주세요 ㅋ
房思琪的初恋乐园 ‘팡쓰치’로 보는 문학의 힘 정은비.
박 현 미 울산여자상업고등학교 창업포스터 만들며 포토샵과 친해지기 박 현 미 울산여자상업고등학교.
일반대학원 사용자 매뉴얼(학생)
1-3 함수의 그래프.
일본의 독도침탈과 남북한 대응 조 병 현 1.
<정보이론(Information Theory)> 제8장 채널의 특성과 상호정보
산 지 구 분 도 강원도 평창군 평창읍 상리 일원 ( 보전산지 해제 [ 임업용 ▶ 준보전 ] ) 범 례 공익용산지 지적선
2012년 6월 3일 주일낮예배 평신도주일 성령강림후 제2주.
Presentation transcript:

3 순차 자료구조와 선형 리스트

학습목표 내용 순차 자료구조의 개념과 특징을 알아본다. 선형 리스트의 개념과 연산을 알아본다. C 언어를 이용해 선형 리스트의 순차 자료구조를 구현한다. 선형 리스트의 응용과 순차 자료구조 구현 방법을 알아본다. 내용 01 순차 자료구조와 선형 리스트의 이해 02 선형 리스트의 구현 03 선형 리스트의 응용 및 구현

1. 순차 자료구조와 선형 리스트의 이해 순차 자료구조의 개념 구현할 자료들을 논리적 순서로 메모리에 연속 저장하는 구현 방식 논리적인 순서와 물리적인 순서가 항상 일치해야 함 C 프로그래밍에서 순차 자료구조의 구현 방식 제공하는 프로그램 기 법은 배열

1. 순차 자료구조와 선형 리스트의 이해 선형 리스트의 표현 리스트 : 자료를 구조화하는 가장 기본적인 방법은 나열하는 것

1. 순차 자료구조와 선형 리스트의 이해 선형 리스트Linear List 순서 리스트Ordered List 자료들 간에 순서를 갖는 리스트

1. 순차 자료구조와 선형 리스트의 이해 리스트의 표현 형식

1. 순차 자료구조와 선형 리스트의 이해 선형 리스트의 저장 순차 방식으로 구현하는 선형 순차 리스트(선형 리스트) 순차 자료구조는 원소를 논리적인 순서대로 메모리에 연속하여 저장 연결 방식으로 구현하는 선형 연결 리스트(연결 리스트)

1. 순차 자료구조와 선형 리스트의 이해 선형 리스트에서 원소 삽입 선형리스트 중간에 원소가 삽입되면, 그 이후의 원소들은 한 자리씩 자리를 뒤로 이동하여 물리적 순서를 논리적 순서와 일치시킴

1. 순차 자료구조와 선형 리스트의 이해 원소 삽입 방법 원소를 삽입할 빈 자리 만들기 준비한 빈 자리에 원소 삽입하기 ☞ 삽입할 자리 이후의 원소들을 한 자리씩 뒤로 자리 이동 준비한 빈 자리에 원소 삽입하기

1. 순차 자료구조와 선형 리스트의 이해 삽입할 자리를 만들기 위한 자리 이동 횟수 (n+1)개의 원소로 이루어진 선형 리스트에서 k번 자리에 원소를 삽입하는 경우 : k번 원소부터 마지막 인덱스 n번 원소까지 (n-k+1)개의 원소를 이동 이동횟수 = n-k+1 = 마지막 원소의 인덱스 - 삽입할 자리의 인덱스 +1

1. 순차 자료구조와 선형 리스트의 이해 선형 리스트에서 원소 삭제 선형리스트 중간에서 원소가 삭제되면, 그 이후의 원소들은 한 자리 씩 자리를 앞으로 이동하여 물리적 순서를 논리적 순서와 일치시킴

1. 순차 자료구조와 선형 리스트의 이해 원소 삭제 방법 원소 삭제하기 삭제한 빈 자리 채우기 ☞ 삭제한 자리 이후의 원소들을 한자리씩 앞으로 자리 이동

1. 순차 자료구조와 선형 리스트의 이해 삭제 후, 빈 자리를 채우기 위한 자리이동 횟수 (n+1)개의 원소로 이루어진 선형 리스트에서 k번 자리의 원소를 삭제한 경 우 : (k+1)번 원소부터 마지막 n번 원소까지 (n-(k+1)+1)개의 원소를 이동 이동횟수 = n-(k+1)+1 = n-k = 마지막 원소의 인덱스-삭제한 자리의 인덱스

2. 선형 리스트의 구현 선형 리스트의 구현 순차 구조의 배열을 사용 배열 : <인덱스, 원소>의 순서쌍의 집합 배열 : <인덱스, 원소>의 순서쌍의 집합 배열의 인덱스 : 배열 원소의 순서 표현

2. 선형 리스트의 구현 1차원 배열을 이용한 선형 리스트 구현 1차원 배열을 이용한 구현

2. 선형 리스트의 구현 원소의 논리적·물리적 순서 확인하기 프로그램 : 교재 129p

2. 선형 리스트의 구현 실행 결과 실행 결과 확인 배열 sale의 시작 주소 : 5241668 = 5241668 + (2ⅹ4바이트) = 5241676 논리적인 순서대로 메모리에 연속하여 저장된 순차 구조임을 확인!

2. 선형 리스트의 구현 2차원 배열을 이용한 선형 리스트의 구현 2차원 배열을 이용한 구현

2. 선형 리스트의 구현 2차원 배열의 물리적 저장 방법 2차원의 논리적 순서를 1차원의 물리적 순서로 변환하는 방법 사용 행 우선 순서 방법row major order 2차원 배열의 첫 번째 인덱스인 행 번호를 기준으로 사용하는 방법 sale[0][0]=63, sale[0][1]=84, sale[0][2]=140, sale[0][3]=130, sale[1][0]=157, sale[1][1]=209, sale[1][2]=251, sale[1][3]=312 원소의 위치 계산 방법 : α + (iⅹnj + j)ⅹℓ 행의 개수가 ni이고 열의 개수가 nj인 2차원 배열 A[ni][nj]의 시작주소가 α이고 원소의 길이가 ℓ 일 때, i행 j열 원소 즉, A[i][j]의 위치 열 우선 순서 방법column major order 2차원 배열의 마지막 인덱스인 열 번호를 기준으로 사용하는 방법 sale[0][0]=63, sale[1][0]=157, sale[0][1]=84, sale[1][1]=209, sale[0][2]=140, sale[1][2]=251, sale[0][3]=130, sale[1][3]=312 원소의 위치 계산 방법 : α + (jⅹni + i)ⅹℓ

2. 선형 리스트의 구현 2차원 논리 순서를 1차원 물리 순서로 변환

2. 선형 리스트의 구현 2차원 배열의 논리적·물리적 순서 확인하기 프로그램 : 교재 131p

2. 선형 리스트의 구현 실행 결과 실행 결과 확인 시작 주소 α=13474812, ni=2, nj=4, i=1, j=1, ℓ=4 sale[1][2]=251의 위치 = α+ (iⅹnj+j)ⅹℓ = 13474812 + (1ⅹ4+2)ⅹ4 = 13474812 + 24 = 13474836 C 컴파일러가 행 우선 순서 방법으로 2차원 배열을 저장함을 확인!

2. 선형 리스트의 구현 3차원 배열을 이용한 선형 리스트의 구현 3차원 배열을 이용한 구현

2. 선형 리스트의 구현 3차원 배열의 물리적 저장 방법 3차원의 논리적 순서를 1차원의 물리적 순서로 변환하는 방법 사용 면 우선 순서 방법 3차원 배열의 첫 번째 인덱스인 면 번호를 기준으로 사용하는 방법 원소의 위치 계산 방법 : α + {(iⅹnjⅹnk) + (jⅹnk) + k}ⅹℓ 면의 개수가 ni이고 행의 개수가 nj이고, 열의 개수가 nk 인 3차원 배열 A[ni][nj][nk], 시작주소가 α이고 원소의 길이가 ℓ 일 때, i면 j행 k열 원소 즉, A[i][j][k]의 위치 열 우선 순서 방법 3차원 배열의 마지막 인덱스인 열 번호를 기준으로 사용하는 방법 원소의 위치 계산 방법 : α + {(kⅹnjⅹni) + (jⅹni) + i}ⅹℓ

2. 선형 리스트의 구현 3차원의 논리 순서에 대한 1차원의 물리 순서 변환

2. 선형 리스트의 구현 3차원 배열의 논리적·물리적 순서 확인하기 프로그램 : 교재 134p

2. 선형 리스트의 구현 실행 결과 실행 결과 확인 시작 주소 α=1374524, ni=2, nj=2, nk=4, i=1, j=1, k=2, ℓ=4 sale[1][1][2]=239의 위치 = α+{(iⅹnjⅹnk)+(jⅹnk)+k}ⅹℓ   = 1374524 + {(1ⅹ2ⅹ4)+(1ⅹ4)+2}ⅹ4 = 1374524 + 56 = 1374580 C 컴파일러가 면 우선 순서 방법으로 3차원 배열을 저장함을 확인!

3. 선형 리스트의 응용 및 구현 다항식의 선형 리스트 표현 다항식의 개념 다항식의 특징 aXe 형식의 항들의 합으로 구성된 식 a : 계수(coefficient) X : 변수(variable) e : 지수(exponent) 다항식의 특징 지수에 따라 내림차순으로 항을 나열 다항식의 차수 : 가장 큰 지수 다항식 항의 최대 개수 = (차수 +1)개

3. 선형 리스트의 응용 및 구현 다항식의 추상 자료형(1/2)

3. 선형 리스트의 응용 및 구현 다항식의 추상 자료형(2/2)

3. 다항식의 순차 자료구조 구현 A(x) = 4x3 + 3x2 + 2 차수가 1000이므로 크기가 1001인 배열을 사용하는데, 항이 3개 뿐이므로 배열의 원소 중에서 3개만 사용 ☞ 998개의 배열 원소에 대한 메모리 공간 낭비

3. 다항식의 순차 자료구조 구현 다항식의 덧셈 연산

3. 다항식의 순차 자료구조 구현 다항식의 덧셈 연산 알고리즘

3. 다항식의 순차 자료구조 구현 다항식의 덧셈 연산 프로그램 : [알고리즘 3-1]의 구체화 교재 140p 예제 3-4 실행 결과

3. 다항식의 순차 자료구조 구현 행렬의 선형 리스트 표현 행렬matrix의 개념 행과 열로 구성된 자료구조 m×n 행렬 : 행 개수가 m개, 열 개수가 n개인 행렬 정방행렬 : 행렬 중에서 m과 n이 같은 행렬 전치행렬 : 행렬의 행과 열을 서로 바꿔 구성한 행렬

3. 다항식의 순차 자료구조 구현

3. 다항식의 순차 자료구조 구현 희소행렬Sparse Matrix은 실제로 사용하지 않는 공간이 많아 기억 공간의 활용도가 떨어짐

3. 다항식의 순차 자료구조 구현 희소 행렬에 대한 2차원 배열 표현 희소 행렬 B는 배열의 원소 56개 중 실제 사용하는 것은 0이 아닌 원소를 저장하는 10개뿐이므로 46개의 메모리 공간 낭비 0이 아닌 원소만 추출하여 <행번호, 열번호, 원소> 쌍으로 배열에 저장 추출한 순서쌍을 2차원 배열에 행으로 저장 원래의 행렬에 대한 정보를 순서쌍으로 작성하여 0번 행에 저장 ③ ① B[8][7] [0] [1] [2] [3] [4] [5] [6] 2 12 7 23 31 14 25 6 52 [7] 11 <0, 2, 2> <0, 6, 12> <1, 4, 7> <2, 0, 23> <3, 3, 31> <4, 1, 14> <4, 5, 25> <5, 6, 6> <6, 0, 52> <7, 4, 11> ②

3. 다항식의 순차 자료구조 구현 희소행렬 B의 2차원 배열 표현 예2 기억 공간을 좀 더 효율적으로 사용하기 위해 0이 아닌 값이 있는 원소만 따로 배열로 구성하는 방법 사용

3. 다항식의 순차 자료구조 구현

3. 다항식의 순차 자료구조 구현 희소행렬의 전치 연산 함수 프로그램 : 교재 145p