목록정보처리산업기사 (37)
판봉 개발 일기
정보처리산업기사를 오늘 시험을 보고왔습니다. 비전공자 공부 방법 : 시나공 필기 책, cbt 기출문제 공부 기간 : 1달정도 하루 공부 시간 : 1~3시간 사이 북부직업전문학교라는 곳에서 시험을 봤는데 다행히 아버지가 차로 태워주셔서 약 40분?정도 시간이 걸린것 같습니다 (필자는 부천에 서식중...) 이름이 [학교]가 붙어서 학교의 이미지를 생각했는데 건물 안에 있는 거더라구요 학원같은 느낌? 앞에는 벤치가 있는데 거기서 사람들이 다 기다렸습니다. 시국이 시국인지라.. 가채점 결과는 다행히 턱걸이로 합격을 했습니다. 주위에 시험을 본사람들을 알아보니 역시나 이번 시험이 좀 어려운 편이었던것 같네요 이번 3회차 시험은 21년도의 마지막 필기시험이었는데 22년도부터 아예 과정이 확 바뀐다고 하니까 좀 문제..
인덱스의 개념 인덱스는 데이터 레코드를 빠르게 접근하기위해 구성하는 것입니다. 데이터가 저장된 물리적 구조와 관계가 있습니다. 레코드가 저장된 물리적 구조에 접근하는 방법을 제공합니다. 인덱스를 통해 파일의 레코드에 대한 액세스를 빠르게 할 수 있습니다. 레코드의 삽입과 삭제가 수시로 일어나면 인덱스의 개수를 줄이는게 좋습니다. m-원 검색 트리(m-way Search Tree) 한 노드가 최대 m-1개의 키와 m개의 Subtree를 갖도록 구성됨 키 값의 일부분이 동일한 문자열이나 숫자로 구성된 자료를 표현하는데 좋음 트리 높이가 얕아져 특정 노드의 검색 시간이 감소됨 삽입, 삭제 시 트리 균형을 유지하기 위해 복잡한 연산이 필요합니다. B-트리의 특징 Index를 구성하는 방법으로 가장 많이 사용하는..
해싱의 개요 해싱은 Hash Table이라는 기억공간을 할당하고, 해시 함수를 이용하여 레코드 키에 대한 Hash Table 내의 Home Address를 계산한 뒤 주어진 레코드를 해당 기억장소에 저장하거나 검색 작업을 수행하는 방식입니다. 해싱은 DMA(직접 접근) 파일을 구성할 때 사용되며, 접근 속도는 빠르나 기억공간이 많이 요구됨 다른 방식에 비해 검색 속도가 가장 빠르다 삽입, 삭제 작업의 빈도가 많을때 유리한 방식 키-주소 변환 방법 해시 테이블(Hash Table, 해시표) 해시 테이블은 레코드를 한 개 이상 보관할 수 있는 Bucket들로 구성된 기억공간으로 보조기억장치에 구성도 되고 주기억 장치에도 구성이 가능함 버킷 : 하나의 주소를 갖는 파일의 한 구역이며 크기는 같은 주소에 포함될..
검색은 컴퓨터를 이용하여 기억공간에 보관중인 특정 레코드를 찾아내는 작업입니다. 선형 검색(Linear Search) 선형 검색은 순서화되지 않은 파일에서 순차적으로 검색하는 것으로 키값을 첫번째 레코드 키값부터 차례로 비교함 순차 검색(Sequential Search)라고도 합니다. 프로그램 작성이 가장 쉽습니다. 평균 검색 횟수는 (n+1)/2입니다. 제어 검색(Control Search) 제어 검색은 반드시 순서화되어있어야 검색할 수 있습니다. 한번의 비교 동작이 끝나고 비교 대상이 된 레코드를 다음에 비교할 대상을 선택하는 기준으로 이용해 검색합니다. 이분 검색(이진 검색, Binary Search) 전체 파일을 두개의 서브파일로 분리하며 키 레코드를 검색합니다. 찾으려는 키의 값을 파일으 중간 ..
삽입 정렬(insertion Sort) 삽입 정렬은 가장 간단한 정렬 방식으로 이미 순서화된 파일에 새로운 하나의 레코드를 순서에 맞게 삽입시킨다음에 정렬하는ㄱ ㅓㅅ입니다. 평균과 최악 모두 수행 시간 복잡도는O(n2)입니다. 쉘 정렬(Shell Sort) 쉘 정렬은 삽입정렬을 확장한 개념입니다. 평균 수행 복잡도는 O(n1.5)이고, 최악의 수행 시간 복잡도는 삽입 정렬과 같습니다. 쉘 정렬의키워드는 매개변수입니다. 선택 정렬(Seletcion Sort) 선택 정렬은 n개의 레코드 중에서 최소값을 찾아 첫번째 레코드 위치에 놓고 나머지 (n-1)개 중에서 다시 최소값을 찾아 두번째 레코드 위치에 놓는 방식을 반복하는 것입니다. 평균과 최악 모두 수행 시간 복잡도는 O(n2)입니다. 버블 정렬(Bubbl..
정렬은 파일을 구성하는 각 레코드를 특정 키 항목을 기준으로 오름또는 내림차순으로 재배열 하는 작업입니다. 정렬 방식 정렬은 크게 주기억장치에서 이루어지는 내부 정렬과 보조기억장치에서 이루어지는 외부정렬이 있습니다. 내부정렬 선택법 : 히프 삽입법 : 삽입,쉘정렬 교환법: 버블,선택,퀵정렬 병합법 : 2-way Merge Sort 분배법 : 기수 정렬(Radix Sort) 내부 정렬이란 소량의 데이터에 대해 주기억 장치에 기억시켜서 정렬하는 방법입니다. 외부정렬 밸런스 병합정렬 캐스케이드 병합 정렬 폴리파즈 병합 정렬 옷리레이팅 병합 정렬 대부분 외부정렬은 병합정렬으로 처리합니다. 정렬 알고리즘 선택시 주의 사항 데이터의 양 초기 데이터의 배열 상태 키 값들의 분포 상태 소요공간과 작업시간 사용하는 컴퓨..
그래프의 정의 그래프 G는 정점 V(Vertax)와 간선 E(Edge)의 두 집합으로 이루어짐 간선의 방향성 유무에 따라 방향 그래프와 무방향 그래프로 구분됨 통신망, 교통망, 이항관계, 연립방정식, 유기화학 구조식, 무향성분 해법 등에 이용 Tree는 사이클이 없는 Graph입니다. 용어 정리 Loop - 한 정점에서 그 자신에 이어지는 간선 Loop 차수 무방향 그래프 : 한 정점에 연결된 간선의 수 방향 그래프 - 진입 차수(Indegree) : 한 정점에 도착하는 방향 간선의 수 - 진출 차수(Outdegree) : 한 정점에서 출발하는 방향 간선의 수 - 차수 = 진입차수 + 진출 차수 경로(Path)- 임의의 정점에서 다른 정점에 이르는 길 경로 길이 : 경로상에 있는 간선들의 수 단순 경로 ..
트리를 구성하는 각 노드들을 찾아가는 방법을 운행법이라 합니다 이진 트리를 운행하는 방법은 산술식의 표기법과 연관성을 갖습니다. 트리의 운행법 이진 트리의 운행법은 다음 세 가지가 있다. Preorder 운행 : Root -> Left -> Right 순으로 운행한다. Inorder 운행 : Left -> Root -> Right 순으로 운행한다. Postorer 운행 : Left -> Right -> Root 순으로 운행한다. 수식의 표기법 산술식을 계산하기 위해 기억공간에 기억시키는 방법으로 이진 트리를 많이 사용한다. 이진 트리로 만들어진 수식을 인오더, 프리오더, 포스트오더로 운행하면 각각 중위, 전위, 후위 표기법이 됩니다. 스레드 이진 트리(Threaded Binary Tree) 스레드 이진 ..
이진 트리는 차수(Degree)가 2 이하인 노드들로 구성된 트리, 즉 자식이 둘 이하인 노드들로만 구성된 트리를 말합니다. 이진 트리의 특성 이진 트리의 레벨 i에서 최대 노드의 수는 2의 i-1승입니다. 이진 트리에서 Terminal Node수가 no, 차수인 2인 노드 수가 n 2 라고 할때 n 0 = n 2 +1이 됩니다. 이진 트리의 종류 정이진 트리(Full Binary Tree) 정이진 트리는 깊이가 k일때 전체 노드의 수가 2 k-1개의 노드이고, 레벨 i마다 2 i-1개의 노들들로 꽉찬 트리를 말합니다 전이진 트리(Complete Binary Tree) 전이진 트리는 노드의 수가 n개 일때 정이진 트리의 각 노드에 붙인 1~n의 일련 번호와 일대일 대응되는 트리를 말합니다 중간에 빈 부분..
트리의 정의 트리는 정점(Node, 노드)과 선분(Branch, 가지)을 이용해 사이클을 이루지 않도록 구성한 Graph의 특수한 형태 가족의 계보(족보), 연산 수식, 회사 조직 구조도, 히프(Heap) 등을 표현하기에 적합 트리 관련 용어 노드 : 트리의 기본 요소로 자료 항목과 다른 항목에 대한 가지를 합친 것 근 노드 : 트리의 맨 위에 있는 노드 디그리(Degree, 차수) : 각 노드에서 뻗어나온 가지 수 단말 노드(Terminal Node) = 잎 노드(Leaf Node) : 자식이 하나도 없는 도그, 즉 Degree가 0인것 비단말 노드(Non-Terminal Node) : 자식이 하나라도 있는 노드 조상 노드(Ancestors Node) : 임의의 노드에서 근 노드에 이르는 경로상에 있는..