목록CS (88)
개발자꿈나무

정렬의 종류 버블 정렬 (bubble sort) - 가장 기본적인 정렬로 인접한 i번째 키와 i + 1번째 키를 비교하여 교환하는 방법 - 초기 데이터가 원하는 정렬 순서로 입력되면 정렬을 도중에 멈출 수 있으며 정렬 도중 완료된 경우에도 확인할 수 있음 - 평균 시간복잡도 : O(n^2) / 최악 시간복잡도 : O(n^2) 초기값 50 20 30 10 40 1단계 20 30 10 40 50 2단계 20 10 30 40 50 3단계 10 20 30 40 50 선택 정렬 (selection sort) - 키 중 최소값을 선택하여 첫 레코드와 교환하고, 다음에는 2번부터 n번까지에서 같은 과정을 수행 - 비교횟수가 많을 수 있으나 모든 키가 한 단계에 한번만 이동하면 되므로 이동횟수는 적음 - 평균 시간복잡..

테스트 레벨 - 소프트웨어의 개발 단계에 따라 분류되는 테스트 단계 - 애플리케이션 테스트는 소프트웨어의 개발 단계에서부터 테스트를 수행하므로 단순히 소프트웨어에 포함된 코드 상의 오류뿐만 아니라 요구 분석의 오류, 설계 인터페이스 오류 등도 발견할 수 있음 - 애플리케이션 테스트와 소프트웨어 개발 단계를 연결하여 표현한 것을 V-모델이라 함 단위 테스트 (Unit Test) - 코딩 직후 소프트웨어 설계의 최소 단위인 모듈이나 컴포넌트에 초점을 맞춰 테스트하는 것 - 인터페이스, 외부적 I/O, 자료 구조, 독립적 기초 경로, 오류 처리 경로, 경계 조건 등을 검사 - 사용자의 요구사항을 기반으로 한 기능성 테스트를 최우선으로 수행 - 주로 구조 기반 테스트를 이용하여 테스트 수행 - 발견 가능한 오류..

그래프의 정의 - 그래프 : 공집합이 아닌 정점의 집합과 간선의 집합으로 구성되는 자료구조 무방향 그래프 (undirected graph) - 간선을 나타내는 정점의 쌍에 순서가 없음 - 정점 A와 B를 연결하는 간선 (A, B)와 간선 (B, A)는 같은 간선으로 취급 - n개의 정점을 가진 무방향 그래프에서 최대 간선수는 n(n - 1) / 2개 방향 그래프 (directed graph) - 정점 A에서 출발하여 B로 연결되는 간선은 - n개의 정점을 가진 방향 그래프에서 최대 간선수는 n(n - 1)개 그래프의 표현 그래프의 인접행렬 표현 - 그래프 내의 정점에 다른 임의의 정점과의 여부를 표현하는 방법 - 인접행렬의 크기는 정점의 수가 n일 때 n^2 - 무방향성 그래프의 인접행렬에서는 대각선에 ..

트리의 정의 트리의 정의 - 정점(노드)와 선분(가지)를 이용하여 사이클을 이루지 않도록 구성한 그래프의 특수한 형태 - 하나 이상의 유한한 개수의 노드로 구성되며 반드시 근(Root) 노드부터 시작해서 노드와 노드의 관계는 가지(Branch)에 의해 표현 * 트리의 용어 - 노드(node) : 트리의 기본 요소로서 자료 항목과 다른 항목에 대한 가지를 합친 것 (A, B, C, D, E, F, G ...) - 가지(branch) : 노드와 노드의 관계를 표시하는 것으로 트리에서는 가지가 1 : n으로 연결되는 일이 많음 - 근(root) : 트리의 1번 노드 (A) - 레벨(level) : 근의 레벨을 1로 하고 근에서 가지 하나로 연결될 때마다 1씩 증가 - 부모노드(parent), 자노드(child..
10진 연산 언팩(Unpacked) 연산 - 존(zone) 4비트 + 숫자(digit) 4비트를 사용하여 10진수 한 자리를 한 바이트로 표현 - 최하위 바이트의 존 부분을 부호로 사용하여 양수면 16진수 C(1100), 음수면 16진수 D(1101)을 사용 - 입출력 데이터로 사용하고 연산용 데이터롤 사용할 수 없음 - 부호가 없는 숫자는 존 부분에 16진수 F(1111) 사용 팩(Packed) 연산 - 10진수 한 자리를 숫자(digit) 4비트로 표현하는 방식으로 1바이트에 2개의 숫자를 표현 - 최하위 바이트의 4bit를 부호로 사용하며 양수면 16진수 C(1100), 음수면 16진수 D(1101)을 사용 - 연산용 데이터로 사용하고 입출력 데이터로 사용할 수 없음 더보기 Q. 10진수 -456을..

스택 (Stack) 스택의 특성 - LIFO(Last In First Out) : 스택의 모든 작업은 항상 최근의 위치에 국한 - 주요 작업은 삽입, 삭제이며 시작복잡도는 O(1) - 배열로 구현하는 방법은 간단한 반면 스택의 크기가 고정된다는 단점이 있음 - 연결리스트를 이용하면 구현은 약간 복잡하지만 스택의 크기를 필요에 따라 가변적으로 변경할 수 있는 장점이 있음 //배열 구조에서 스택의 삽입 void push(element item) { //전역stack에 item의 삽입 if(top >= MAX_STACK_SIZE-1) stackfull(); stack[++top] = item; } //배열 구조에서 스택의 삭제 element pop() { //stack의 최상위 원소를 삭제하고 반환 if(to..