자료구조 (Data Structure).

Slides:



Advertisements
Similar presentations
내 마음의 버 스 이천신하교회 청년부. 이름 : 한상훈 나이 : 30 살 종교 : 기독교 ( 모태신앙 ) 생활신조 : 인생은 한방 ! 로또나 사자 이상형 : 청순 가련한 모태미녀 특이사항 : 걸그룹 노래에 환장함 식스팩을 갖기엔 슬픈 몸을 타고 남.
Advertisements

독서골든벨 2009 학년도 6 학년 1 학기 6-10 반. 1. 이야기 삼국유사 정대한 원효대사는 수행을 위해 떠나던 중 피곤하여 숲 속에서 잠이 들었다. 잠결에 너무 목이 마른 나머지 어디에 담겨있는 물을 맛있게 마셨나요 ?
두 손 들고 두 손 들고 찬양합니다 두 손 들고 찬양합니다 다시 오실 왕 여호와께 다시 오실 왕 여호와께 두 손 들고 찬양합니다 두 손 들고 찬양합니다 다시 오실 왕 여호와께 다시 오실 왕 여호와께 오직 주만이 나를 다스리네 오직 주만이 나를 다스리네 나 주님만을.
YES C 제 1 장 C 언어의 개요 1/34 제 1 장 C 언어의 개요 문봉근. YES C 제 1 장 C 언어의 개요 2/34 제 1 장 C 언어의 개요 1.1 프로그램과 C 언어의 특징 1.2 C 언어의 프로그램 구성 1.3 비주얼 C++ 통합 환경 들어가기.
지금은 기도 하는 시간입니다 1. 송구영신예배를 위해서 2. ‘크리스마스 이브’ 행사를 준비하는 교육 기관을 위하여
스택 스택 추상자료형 스택 스택의 구현 스택의 응용 한빛미디어(주).
행정소송 실무교육 공익법무관 문 유 식 인사 공익법무관 소개 서울고검 소개.
조선왕조의 유교정치.
제 11 장 구조체.
현대사회의 여성문제와 여성복지 3조 권경욱 강향원 황대인 변갑수 박창욱 김지현.
Internet Computing KUT Youn-Hee Han
고교평준화의 득과 실 김영주 이지영 최윤영.
제 8 장  파서 생성기 YACC 사용하기.
C로 쉽게 풀어쓴 자료구조 © Copyright 생능출판사 2005
제 2 장 배열과 스트링.
Part 12 구조체와 공용체 ©우균, 창병모 ©우균, 창병모.
CHAP 6:큐 C로 쉽게 풀어쓴 자료구조 생능출판사 2005.
Internet Computing KUT Youn-Hee Han
C 11장. 포인터의 활용 #include <stdio.h> int main(void) { int num;
쉽게 풀어쓴 C언어 Express 제17장 동적 메모리와 연결 리스트 C Express.
자본구조와지급능력분석 제9장 제1절 개요 제2절 지급능력분석의 핵심 제3절 자본구조의 중요성 제4절 자본구조분석의 회계적 의미
CHAP 10:그래프 순천향대학교 하상호.
제5장 트리.
Chapter 03 배열, 구조체, 포인터.
구조체 struct 구조체와 함수 구조체의 배열, sizeof 연산자 열거형 enum 형 정의 typedef
4장 스택.
제 4 장 L i s t.
스택(stack) SANGJI University Kwangman Ko
head data link data link data link NULL a b c
자료 구조: Chapter 3 (2)구조체, 포인터
강의 #6 큐(Queue).
CHAP 6:큐 C로 쉽게 풀어쓴 자료구조 Slide 1 (of 27).
CHAP 6:큐 C로 쉽게 풀어쓴 자료구조 생능출판사 2005.
다음 주 과제 7장 읽어오기 숙제 해서 다음 주(11월 12일) 제출하기. 큐(Queue) E304호,
Chapter 9 – 구조형과 리스트 처리 Outline 9.1 자신 참조 구조형 9.2 선형 연결 리스트 9.3 리스트 연산
쉽게 풀어쓴 C언어 Express 제17장 동적메모리와 연결리스트 C Express Slide 1 (of 13)
자료구조: CHAP 4 리스트 (2) 순천향대학교 컴퓨터공학과 하 상 호.
10장 메모리 관리.
쉽게 풀어쓴 C언어 Express 제17장 동적 메모리와 연결 리스트 C Express.
쉽게 풀어쓴 C언어 Express 제17장 동적메모리와 연결리스트 C Express.
동적메모리와 연결리스트 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원 E304호,
Dynamic Memory and Linked List
2010년 직원연수 자료 제1차 : 4월 16일 ~ 17일 제2차 : 4월 23일 ~ 24일
14주차.
Work Progress ’ 나소라, 윤민.
제주닷컴 매뉴얼 (실시간 예약시스템) 2013년 10월.
[ 포털 사이트 연관검색어/자동완성 등록 서비스 ]
배열과 연결리스트 연결리스트 배열 메모리 할당이 연속적이어서 인덱스 사용시 검색이 빠르다.
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
* 프로그램을 간단히 하기 위해 malloc 성공체크는 안 함
Chapter 04 리스트.
계약서 관련 실무 계약 위반과 판례 김래균.
Chap. 1 Data Structure & Algorithms
자료구조: CHAP 4 리스트 (2) 순천향대학교 컴퓨터공학과 하 상 호.
생활 철학 인간이란 무엇인가?.
하드웨어 vs 소프트 웨어 볼 수 있다. 만질 수 있다. 볼 수 없다. 만질 수 없다. 키보드, 마우스 ? 하드웨어
Lecture 8 복잡한 구조 프로그래밍 프로그램 짤 때의 마음가짐 invariant 데이터 구성 list pair
4장 자료형.
자료구조: CHAP 7(2) 트리 순천향대학교 컴퓨터공학과 하 상 호.
Byte Alignment ㈜ 웰컴정보시스템 김 정 은.
2 배열과 구조.
소켓버퍼(sk_buff) 이재연
Lecture 7 복잡한 구조 프로그래밍 프로그램 짤 때의 마음가짐 invariant list set
자료구조 세미나 발표 주제: 자료구조 기초 - 1회 차: 자료구조의 정의, 기초 지식 (함수, 포인터, 레퍼런스)
컴퓨터 프로그래밍 기초 - 11th : 파일 입출력 및 구조체 -
▶서류관리 프로그램 1. 로그인….2 2. 서류등록 … 서류도착 서류스티커발행
나-는 믿음으로 주 얼굴 보리니- 아침에 깰 때에 주형상에 만족하리 나주님 닮기 원하네 믿음으로 주얼굴 보리라 -
List, ArrayList, Vector, LinkedList 가 있습니다
보고서 #4 (1) (제출기한: 10/6) #1 다음 그래프 G에 대해서 답하시오. (2*5 = 10)
List, ArrayList, Vector, LinkedList 가 있습니다
Presentation transcript:

자료구조 (Data Structure)

자료구조의 정의 프로그램이란 데이터를 표현하고 그렇게 표현된 데이터를 처리하는 것 의미 데이터를 표현  자료구조 데이터를 처리  알고리즘 의미 자료를 변수로 국한하면 (책 한권) 자료구조란 변수들의 메모리상의 배치 상태를 의미 (책 장의 구조, 모양 및 책의 배치)

자료구조의 종류 선형 구조 비선형 구조 프로그램에 최적화된 자료구조 선택 자료가 일렬로 연결되어있는 구조 예: 배열, 연결리스트, 스택 (LIFO), 큐 (FIFO) 비선형 구조 자료들의 구성이 일렬이 아닌 특별한 모양으로 연결되어 있는 구조 예: 트리, 그래프 프로그램에 최적화된 자료구조 선택 선택 기준 : 자료의 양, 활용빈도, 갱신 정도나 기억용량 등

연결리스트 연결리스트란? 더미 노드 방식 논리적 순서만 유지하고, 기억장소는 임의 위치 cf. 배열 : 물리적으로 순차적인 기억장소에 저장 레코드의 추가,삽입,삭제가 잦은 곳에 유리하고, 조회가 드문 곳에 유리하다. 더미 노드 방식 Head만 있고, Tail은 없다. cf. Tail도 있는 경우, Head와 Tail사이에 노드를 추가하는 방법

연결 리스트의 구조 Node = Data + Link Link : 다음 노드의 위치정보  포인터로 지시

배열과 비교

배열과 비교2 저장장치가 아래와 같이 빈 공간이 3개씩 밖에 존재하지 않는 경우, 아래의 입력자료가 4개이므로 배열은 연속된 4개의 공간이 필요하여 저장이 불가하나 연결리스트를 이용하여 저장하는 것은 가능하다.

장단점 장점: 단점: 링크에 의해 노드가 논리적으로 연결되어 있어 물리적 이동이 필요 없으므로 추가, 삽입, 삭제 등이 빠르다 탐색 속도가 느리다  링크로 계속 접근 임의 접근이 어렵다. : 그래서 qsort, bsearch 등 표준함수에서는 일반 배열만 지원 포인터 구문이 많아 복잡하고 어렵다. 스트림 입출력, 네트워크 전송 불편  저장 시 링크 제외, 불러올 때 링크 복원

노드 (Node) 구현 노드는 구조체로 구현한다. Node는 Data와 Link를 멤버로 가진다. Link는 다음 Node를 지시할 수 있도록 포인터로 구현한다. 노드는 자기참조구조체가 된다. struct _Node { int nData; // Data struct _Node *pNode; // Link : 다음 노드에 대한 링크 };

노드 삽입

노드 삽입 코드 // 새로운 노드를 생성 pNode = (Node*) malloc ( sizeof(Node) ) ; Node *pNode; pNode = (Node*) malloc ( sizeof(Node) ) ; if( !pNode ) exit(1); pNodenData = 25 ; // 이전 노드의 링크를 저장 pNodepNext = pPrevpNext ; // 이전 노드의 링크에 새로운 노드 주소 저장 pPrevpNext = pNode;

노드 삭제

노드 삭제 코드 // 삭제할 노드 Node *pDelNode = pPrevNext ; // 삭제할 노드의 링크 정보를 저장 pPrevpNext = pDelNodepNext ; // 노드를 삭제 free( pDelNode ) ;

형의 재정의 unsigned char와 같이 형의 이름이 긴 것을 typedef를 사용하여 임의의 이름을 붙일 수 있다. 예: typedef unsigned char u_char; 구조체 템플릿명의 변경 예: typedef struct employee { int id; … } s_emp; // 새 이름 s_emp kim; // struct employee보다 간결.

과제 구조체 배열 연결리스트 성적 처리 프로그램의 자료구조를 구조체 배열로 구현한다. 성적 처리 프로그램의 자료구조를 연결리스트로 구현한다.

End