반응형

언어 자료구조 알고리즘 1251

[디딤돌 자료구조와 알고리즘 with C] 2.2 순차 정렬(Sequential Sort)

2.2 순차 정렬(Sequential Sort) 이번에는 반복적인 방법으로 해결하는 순차 정렬(Sequential Sort) 알고리즘을 살펴볼게요. 정렬 알고리즘은 배열의 자료를 원하는 순으로 배치하는 알고리즘을 말해요. 정렬 알고리즘은 입력 인자로 정렬할 자료들이 있는 배열의 시작 주소와 원소 개수, 비교 알고리즘이 필요합니다. 그리고 수행 후에는 배열 내의 자료들은 원하는 순서로 배치한 상태여야 합니다. 순차 정렬은 맨 앞에서부터 제일 작은 원소를 배치하게 만들어 나가는 알고리즘이예요. 이를 위해 배치할 자리에 있는 원소를 뒤쪽에 있는 원소들과 비교하면서 작은 것을 발견하면 배치할 위치의 원소와 교환해요.순차 정렬(base:배열의 시작 주소, n: 원소 개수, compare:비교 논리) 반복(i:=0..

[디딤돌 자료구조와 알고리즘 with C] 2. 반복 알고리즘

2. 반복 알고리즘 문제를 해결하는 다양한 방법 중에서 반복적인 방법으로 문제를 해결하는 것은 매우 흔합니다. 이번 장에서는 반복적인 방법으로 문제를 해결하는 반복 알고리즘을 다룹니다. 특히 반복 알고리즘으로 어떠한 문제를 해결할 수 있다는 것을 증명하기 위해서는 어떠한 특징을 고려해야 하는지 살펴볼 것입니다. 2. 1 루프 변성과 루프 불변성 반복 알고리즘으로 어떠한 문제를 해결할 수 있는지 증명할 때는 루프 변성과 루프 불변성을 이용합니다. 루프 변성은 반복문을 수행하면서 변하는 성질이며 루프 불변성은 변하지 않는 성질을 말합니다. 예를 들어 정수 start에서 end 사이의 합계를 구하는 문제가 있다고 가정합시다. 이 문제는 다음과 같은 방법으로 해결할 수 있습니다. 특정 범위의 합계 구하기(sta..

[디딤돌 자료구조와 알고리즘 with C] 1.4 공통으로 사용할 코드

1.4 공통으로 사용할 코드앞으로 이 책에서 공통으로 사용할 소스를 먼저 소개할게요. 같은 부분을 계속 지면을 할애하는 것보다 앞에서 언급하고 넘어갈게요. 이 책에서 공통으로 사용할 Book 형식을 정의합시다. Book 형식에는 제목, 저자, 번호를 멤버로 구성하세요.#pragma once #define MAX_TIT_LEN 200#define MAX_AUT_LEN 20typedef struct _Book Book;struct _Book{ char title[MAX_TIT_LEN+1]; char author[MAX_AUT_LEN+1]; int num;}; 그리고 동적으로 Book을 생성하는 함수와 소멸하는 함수를 제공합시다.Book *New_Book(const char *title,const char *..

[디딤돌 자료구조와 알고리즘 with C] 1.3 알고리즘의 평가와 접근적 표기

1.3 알고리즘의 평가와 접근적 표기같은 문제를 해결하는 알고리즘은 여러 개가 있을 수 있죠. 전산에서 알고리즘을 평가하는 방법은 여러가지가 있어요. 그 중에서 수행 속도를 평가하거나 메모리 효율을 평가하는 점근식 방법을 많이 사용하죠. 점근적 표기에서는 n개의 자료가 있을 때 알고리즘 수행 시간(혹은 메모리 사용)이 n과 어떠한 상관관계가 있는지 표현하는 방법입니다. 예를 들어 어떠한 알고리즘이 n개의 자료가 있을 때 수행 시간 T(n)= 3n+27이라고 가정할게요. 만약 n이 충분히 큰 수라면 가장 높은 차수의 항이 결과에 가장 큰 영향을 주겠죠. 점근식 표기에서는 가장 높은 차수의 항을 제외한 나머지 차수의 항은 버리고 계산해요. 그리고 상수도 생략하여 평가합니다. 따라서 T(n)=3n+27과 같은..

[디딤돌 자료구조와 알고리즘 wich C] 1.2 알고리즘(Algorithm)

1.2 알고리즘(Algorithm) 알고리즘은 특정 문제를 해결하기 위한 논리를 말해요. 해결해야 할 어떠한 문제가 주어지면 문제에 주어지는 선행 조건과 영향 인자와 후행 조건을 알아겠죠. 선행 조건은 알고리즘을 수행 하기 전의 상태를 말합니다. 그리고 영향 인자는 문제를 해결하는데 영향을 주는 인자예요. 후행 조건은 문제를 해결하고 난 후의 상태를 말해요. 결국 알고리즘은 선행 조건인 상태에서 주어진 영향 인자를 가지고 후행 조건에 맞게 문제를 해결하는 것이죠. 예를 들어 특정 범위 내의 정수의 합계를 구하는 문제를 살펴봅시다. 이 때는 선행 조건은 특별한 것이 없네요. 문제를 해결하는 데 영향을 주는 인자는 범위의 시작과 끝이겠죠. 따라서 알고리즘을 함수로 구현한다면 입력 인자로 범위의 시작 정수와 ..

[디딤돌 자료구조와 알고리즘 with C] 1.1 자료구조(Data Structure)

1.1 자료구조(Data Structure) 자료구조는 자료를 메모리에 표현하는 구조를 말합니다. 자료구조를 분류할 때는 자료를 보관하는 형태에 따라 분류하는데 일반적으로 선형 자료구조와 비 선형 자료구조로 나누죠. 선형 자료구조에는 같은 종류의 자료를 연속적인 메모리에 관리하는 배열과 데이터와 링크로 구성하는 노드들의 선형 집합인 연결리스트가 있어요. 그리고 임시적으로 자료를 보관하는 버퍼로 가장 최근에 보관한 자료를 꺼내주는 스택(Last In First Out)과 가장 먼저 보관한 자료를 꺼내주는 큐(First In First Out)도 선형 자료구조인 배열이나 연결리스트를 이용한 잘 알려진 버퍼입니다. 비 선형 자료구조에는 나무의 뿌리처럼 자료를 보관하는 모습을 계층적으로 표현할 수 있는 트리와 ..

[디딤돌 자료구조와 알고리즘 with C] 1. 다루는 내용

1. 다루는 내용 이 책은 프로그래머의 기초 지식인 알고리즘과 자료구조를 이론적인 접근과 구현을 다루고 있습니다. 자료구조는 프로그램에 관라할 데이터를 어떠한 구조로 보관하고 접근할 것인가를 다루는 것이죠. 선형 자료구조인 배열이나 연결리스트, 스택, 큐와 비선형 자료구조인, 트리, 그래프 등이 있습니다. 알고리즘은 문제를 해결하기 위한 논리의 집합이예요. 문제 해결 방법으로 분류하면 반복 알고리즘, 재귀 알고리즘, 분할 정복, 동적 프로그래밍, 탐욕 알고리즘 등이 있죠. 컴퓨터 프로그래밍을 업무로 하는 이들에게 알고리즘과 자료구조는 실질적인 구현에서 필수적으로 필요합니다. 그리고 이들을 다루는 책은 매우 다양하죠. 이론으로 접근하는 책들은 다양한 알고리즘과 자료구조를 다루지만 실질적인 구현없이 추상적으..

[HTML5] 이미지

[HTML5] 이미지 이미지 태그는 img를 사용하고 src 속성에 표시할 이미지 소스를 명시합니다. 이미지는 모니터를 볼 수 없는 환경에서 스크린 리더와 같은 보조 기술에서 이미지 내용을 파악할 수 있게 하여야 합니다. 이를 위해 alt 속성을 제공하고 있으며 이를 대체 텍스트라 부릅니다. 이미지에 캡션을 붙일 때는 figure 태그와 figcaption 태그를 사용합니다. figure 태그에 이미지 태그를 여러 개 넣을 수 있습니다. 그리고 figcaption 태그를 이용하여 설명을 표시합니다. 하롱베이의 일출은 나도 모르게 명상에 잠기게 하네요. 다음은 이미지 태그를 사용한 예제입니다. DOCTYPE html /> 언제나 휴일 - 이미지 header { height:40px; background-c..

[HTML5] 테이블

테이블 테이블은 같은 종류의 여러 데이터를 정리하여 표시할 때 많이 사용합니다. 태그를 사용합니다. 테이블은 제목, 헤더, 본문, 꼬리 중에 필요한 요소를 선택적으로 구성할 수 있습니다. 제목은 테이블 맨 위에 표시합니다. 태그를 사용합니다. 헤더는 제목과 본문 사이에 표시하며 컬럼 제목을 정하는 용도로 많이 사용합니다. 태그를 사용합니다. 본문은 헤더와 꼬리 사이에 표시합니다. 태그를 사용합니다. 꼬리는 테이블 맨 아래에 표시하며 연락처라 부가 정보를 많이 표시합니다. 태그를 사용합니다. 헤더, 본문, 꼬리에는 행을 추가할 수 있습니다. 행은 태그를 사용합니다. 행 내부에는 쉘을 나타내는 태그를 사용할 수 있습니다. 헤더에 열 제목을 표시할 때 태그를 사용하면 접근성 점수를 높게 받습니다. 여러 행에 ..

[HTML5] 목록 태그 <ul>, <ol>, <dl>

목록 태그 - , , 목록을 나열할 때 사용하는 태그는 , , 가 있습니다. 태그는 순서가 중요하지 않을 때 사용하는 태그입니다. 태그는 순서가 중요할 때 사용하는 태그입니다. 태그와 태그의 항목은 태그를 이용합니다. 태그는 제목과 그에 관한 설명을 목록으로 표시할 때 사용하는 태그입니다. 태그를 사용할 때 제목은 , 설명은 태그를 사용합니다. ul 태그 사용 하나 둘 셋 ol 태그 사용 하나 둘 셋 dl 태그 사용 수 하나 둘 셋 Copyright 2015 언제나 휴일 ehclub.co.kr

반응형