본문 바로가기

컴퓨터 일반34

버블정렬 (Bubble Sort) 버블정렬은 문자 그대로 마치 공기방울이 수면 위로 떠오르듯 가장 큰 레코드가 한 칸씩 한 칸씩 오른쪽으로 떠올라오는 정렬입니다. 버블정렬 순서 ㅇ 다음과 같은 숫자의 나열이 있을 경우 버블 정렬을 해보자. 1. 첫번째 칸의 22와 그 다음칸에 있는 37을 비교 합니다. 만약 22가 더 크다면 두 수를 스왑(Swap)하고, 아니라면 다음칸으로 이동합니다. 2. 두번째 칸의 37과 그 다음칸에 있는 15를 비교 합니다. 만약 37이 더 크다면 두 수를 스왑(Swap)하고, 아니라면 다음칸으로 이동합니다. 3. 세번째 칸의 37과 그 다음칸에 있는 19를 비교 합니다. 만약 37이 더 크다면 두 수를 스왑(Swap)하고, 아니라면 다음칸으로 이동합니다. 4. 네번째 칸의 37과 그 다음칸에 있는 12를 비교 .. 2011. 1. 8.
선택정렬(Selection Sort) 발췌 : [IT COOKBOOK] C·C++로 배우는 자료구조론 p353 선택정렬은 가장 큰 것을 선택하여 가장 마지막 것과 스와핑하는 방식입니다. 선택정렬은 이름 그대로 선택하여 정렬하는 방법입니다. 가장 큰 수를 선택하기 위해서 정렬되지 않는 수의 나열을 모두 검사하고, 선택된 수를 정렬되지 않은 수의 나열의 가장 오른쪽의 수와 스왑(Swap)합니다. ㅇ아래와 같은 수의 나열이 있을 경우 선택정렬을 사용 할 때의 모양을 알아보겠습니다. 1. 22부터 12까지의 수의 나열을 모두 검사하여 가장 큰 수인 37을 선택합니다. 2. 선택된 가장 큰 수인 37을 정렬되지 않은 수의 나열의 가장 오른쪽에 있는 12와 스왑합니다. 3. 22부터 19까지의 수의 나열을 모두 검사하여 가장 큰 수인 22를 선택합니다.. 2011. 1. 6.
SVN(Subversion) 종류와 소개 원문 : http://absenteye.blog.me/100105171981 1. VisualSVN Server와 TortoiseSVN VisualSVN Server : http://www.visualsvn.com/server/ TortoiseSVN : http://tortoisesvn.net/downloads 사용법 : http://blog.naver.com/pumpguy?Redirect=Log&logNo=30076071386 2. 프로젝트 네이버 개발자 센터 URL : http://dev.naver.com 네이버 SVN사용법 : http://planmaster.tistory.com/263 3. Subversion의 개략적인 소개와 사용법 http://blog.pages.kr/386 '네이버SVN 서버.. 2010. 12. 24.
4장. Builder 패턴 - 부분 부분 생성을 통한 전체 객체 생성 Builder 패턴은 객체를 구성하는 부분 부분을 먼저 생성하고, 이를 조합함으로써 전체 객체를 생성하며, 생성할 객체의 종류가 손쉽게 추가, 확장이 가능한 패턴이다. 회사 제품에 대한 설명서를 자동 번역 소프트웨어를 이용하여 제작하려고 한다. 제품 설명서는 한국어로 되어있고, 영어, 일본어, 프랑스어로 된 설명서를 만들어내는 것을 목적으로 한다. 설명서에 사용되는 문장은 평서문, 의무문, 명령문으로만 구성되어있고, 한문장씩 번역한다. 추가적으로 어떻게 접근해야 번역 대상 언어의 추가와 같은 새로운 요구 사항을 기존의 소스코드와는 독립적으로 쉽게 반영할 수 있을까? 아래의 클래스 다이어그램은 Builder 패턴을 사용하여 자동 번역 소프트웨어를 설계 했을 때의 구조이다. 2010. 12. 10.
3장. Abstract Factory 패턴 - 제품군별 객체 생성 Abstract Factory 패턴은 제품군별 객체 생성이 필요할 경우 매우 유용한 패턴이다. ※ 제품군 : 제품 여러 개가 있고, 각 제품들은 또 다시 여러 종류로 나뉠 때 같은 종류의 제품들을 모아놓은 것. 컴파일러를 개발하기 위해 설계를 한다면, 원시코드를 토큰 단위로 잘라주기 위한 스캐너(Scanner), 구문 분석을 하기 위한 파서(Parser), 중간 코드 및 기계어 코드를 생성하기 위한 코드 생성기(Code Generator), 생성된 코드를 최적화시켜주기 위한 최적화 모듈(Optimizer) 등으로 구성된다. 여러 시스템이나 운영체제에서 동일하게 실행이 가능한 컴파일러를 개발 해야 한다면 어떻게 해야하는가? 아래의 클래스 다이어그램은 Abstract Factory 패턴을 사용하여 HP와 S.. 2010. 12. 4.
UML (Unified Modeling Language) (2) "GoF 디자인 패턴! 이렇게 활용한다"에는 클래스 다이어그램과 시퀀스 다이어그램을 사용하여 디자인 패턴을 설명합니다. 그럼 책을 보기 위해서 필수적으로 알아야 할 클래스 다이어그램의 표기법을 알아보겠습니다. 링크 : http://blog.naver.com/witchope?Redirect=Log&logNo=30077417714 □ UML (Unified Modeling Language) 1. 여러 방법론의 표기법을 통합한다는 의미의 모델링 언어 2. UML 특징 - 그래픽 심볼로 표현 - 명세화 되어있어 명세서 역할 가능 - 시스템 구조의 모든 상세 내역에 대한 문서화 - 프로그래밍 코드 생성 및 역공학 가능 3. UML 목적 - User에게 쉽고 가시적인 모델링 언어제공 - 개발 언어 및 프로세스 와는.. 2010. 12. 4.