본문 바로가기

전체보기

(448)
[136] 서로소 집합(Disjoint set)과 유니온 파인드(Union-Find) 1. 서로소 집합(Disjoint set)그림과 같이 공통 원소가 없는 두 집합을 서로소 집합 또는 분리 집합이라고 합니다.https://ko.wikipedia.org/wiki/서로소_집합 서로소 집합 - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전. 서로소인 두 집합 집합론에서 서로소 집합(-素集合, 영어: disjoint sets)는 공통 원소가 없는 두 집합이다.[1] 예를 들어서 1, 2, 3}과 4, 5, 6}은 서로소이며 1, 2, 3}과 3,ko.wikipedia.org이 서로소 집합을 자료구조로 나타내는 방법은 다양합니다.그 중 그래프를 이용하면 다음과 같이 나타낼 수 있습니다.(한 집합 내에 원소들이 연결만 되어 있으면 됩니다.)만약 1이 속해 있는 집합과 5가 속해 있..
[135] 알고리즘 09차시 레드 블랙 트리 1. 레드 블랙 트리 가. 레드 블랙 트리 이진 탐색 트리에 균형을 맞추는 기능을 추가한 트리 부모 노드보다 작은 값의 노드는 왼쪽, 큰 값의 노드는 오른쪽에 배치됨.(이진 탐색 트리) 삽입, 삭제가 일어나는 경우에 높이를 작게 유지하는 "자가 균형 이진 탐색 트리" 복잡한 자료구조이지만 실 사용에서 효율적이고 최악의 경우에도 상당히 우수한 실행 시간을 보임. 레드 블랙 트리에서는 리프 노드들은 비어있고 자료를 가지고 있지 않음. 트리에 n개의 원소가 있을 때 O(log n) 의 시간복잡도로 삽입, 삭제, 탐색을 할 수 있음. 자료의 삽입, 삭제, 탐색에서 최악의 경우에도 일정한 실행 시간을 보장함. 실시간 처리와 같은 실행시간이 중요한 경우에 유용함. 나. 순수 이진 탐색 트리에서의 문제점 한쪽으로 치..
[134] 소프트웨어공학 10차시 객체지향 분석기법 1. 객체지향 분석의 정의와 특징 가. 객체지향 분석기법의 정의 1) 더욱 실 세계에 가까운 분석 소프트웨어를 데이터와 프로세스로 분리하지 않고, 실세계에 존재하는 사물이나 개념, 즉 객체(Object) 자체를 소프트웨어로 구현하고자 하는 분석기법 2) 객체는 또 뭔가요? 실세계에 존재하는 어떤 사물이나 개념 3) 시작된 동기? 실세계에서 볼 수 있는 모든 것들을 추상화하여 '객체로 표현할 수 있다.' 라는 생각에서 출발 나. 객체지향 분석기법의 등장배경 1) 새로운 변화의 바람(1990~) 구조적 분석이 한계를 드러내게 됨. 소프트웨어의 대형화 시스템의 복잡화 분석과 설계간의 불완전한 연결 웹(Web)의 활성화 객체지향 프로그래밍의 각광 2) 다양한 객체지향 모델링 방법의 등장 럼바우의 OMT 부치의 ..
[133] 소프트웨어공학 09차시 구조적 분석기법 1. 구조적 분석기법 개요 가. 1970년대 탄생한 분석기법 1) 사용자의 필수적 요구사항을 적절한 기능단위로 분할하고 개발흐름에 따라 소프트웨어를 모델링하는 분석기법 2) 대표적 구조적 분석기법 기능 중심의 자료흐름도(DFD) 자료사전(DD) 소단위명세서(Mini Spec) 나. 구조적 분석기법의 원칙 1) 추상화의 원칙 특정 대상에 대한 실체를 분리하기 위하여 '어떻게'가 아닌 '무엇'으로 표현하는 간소한 방법 사소한 것에 제약을 받지 않고 문제를 해결할 수 있게 함. 2) 정형화의 원칙 소프트웨어의 제어와 산출물의 품질관리를 위한 기초가 됨. 형식이 생각과 명령을 자동화(일반화)시킬 수 있는 근거를 제공 3) 분할정복 복잡하고 큰 시스템을 좀 더 작고 독립적인 서브시스템으로 나누고, 작게 분할된 시..
[132] 매개변수 탐색(parametric search) 1. 매개변수 탐색이란? 영어로 parametric search라고도 부르는 이 탐색 알고리즘은 이진 탐색과 유사합니다. 이진 탐색을 하기 위해서는 데이터가 정렬되어 있어야 가능한데, 매개변수 탐색도 마찬가지로 데이터 안에서 한 요소를 기준으로 어느 한 쪽의 결과가 일정해야 합니다. 이런 상황에서 조건을 만족하는 최대값 혹은 조건을 만족하지 않는 최소값을 찾을 때 유용하게 사용됩니다. https://en.wikipedia.org/wiki/Parametric_search Parametric search - Wikipedia From Wikipedia, the free encyclopedia Algorithmic optimization method In the design and analysis of alg..
[131] 데이터베이스 10차시 ER-관계 사상에 의한 관계 데이터베이스 설계 2 1. 키 제약조건을 반영하는 사상 가. 엔티티타입(Entity Type)과 속성(Attribute)의 사상 1) 엔티티타입의 사상 바로 테이블(Relation)로 사상함. 2) 속성의 사상 복합(Composite) 속성 : 단순 속성만 포함함. 다치(Multi-valued) 속성 : 새로운 테이블을 만듦.(복합키 사용) 나. 관계타입(Relation Type)의 사상 1) 고려 사항 Relationship의 제약 조건을 준수할 것 Degree(Arity)에 따라 unary/binary/ternary Cardinality에 따라 1:n, n:m, 1:1 Participation 제약에 따라 total / partial 키 무결성(key integrity)을 준수할 것 널 값(null value)의 발생을 ..
[130] 데이터베이스 09차시 ER-관계 사상에 의한 관계 데이터베이스 설계 1 1. ER-관계 사상 방법 가. 데이터베이스 설계 절차 리뷰 요구사항 수집 및 분석 개념적 설계 : ER 모델 (Entity-Relationship Model) 논리적 설계 : 관계 모델 (Relational Model) 물리적 설계 나. ER 모델 리뷰 엔티티/개체(Entity) - 개별적이고 독립적인 개체 엔티티 타입(Entity Type) - 엔티티의 범주 엔티티 집합(Entity Set) - 특정 엔티티 타입에 속하는 실제 개체들의 집합 애트리뷰트/속성(Attribute) - 엔티티가 가지는 특성이나 속성 애트리뷰트타입(Attribute Type) - 애트리뷰트의 특정 범주 다치 속성 (Multi-valued Attribute) - 리스트와 같이 한 속성에 여러 값을 가질 수 있는 속성 복합 속..
[129] 미니맥스 알고리즘을 사용하여 틱택토 게임 만들기 1. 틱택토 게임 3 X 3 판에 빈 칸을 골라, 플레이어가 번갈아가며 O와 X를 적습니다. 먼저 가로, 세로, 대각선 상에 3개를 연달아 놓으면 이기는 게임입니다. 오목의 간단한 버전이라고 생각해도 좋습니다. https://ko.wikipedia.org/wiki/틱택토 틱택토 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 틱택토(tic-tac-toe)는 두 명이 번갈아가며 O와 X를 3×3 판에 써서 같은 글자를 가로, 세로, 혹은 대각선 상에 놓이도록 하는 놀이이다. m,n,k-게임으로, (3,3,3)-게임이 ko.wikipedia.org 2. 미니맥스 알고리즘 미니맥스 알고리즘은 상대방과 자신의 모든 경우의 수를 탐색해서 최선의 수를 찾아내는 알고리즘입니다. 기본적인 아이디어..