본문 바로가기

자료구조10

[정보처리기사][알고리즘][자료구조] 병합 Q. 배열 A,B에는 정수가 오름차순으로 정렬되어 있다. 데이터는 10건 미만이다. 배열 A,B에서 0이 들어있는 다음의 요소에는 데이터가 없는 것으로 간주한다. 배열 A,B를 병합시켜 배열 C에 기억시키고 맨 마지막에는 0을 기억시킨다. 배열 A와 B에 같은 데이터가 있으면 한번만 C에 옮긴다. %%%%복잡주의%%%%1. 배열 A의 크리를 A(10), 배열 B의 크기를 B(10)으로 선언하고, 배열 C는 2개의 배열 크기를 합한 C(20)으로 선언한다. 2. 배열 A의 첫 번째 자료를 지정하기 위해 배열 A의 위치를 지정하는 i를 1로 초기화한다. 3. 배열 B의 첫 번째 자료를 지정하기 위해 배열 B의 위치를 지정하는 j를 1로 초기화한다. 4. 배열 C의 위치를 지정하는 K를 0으로 초기화한다. *.. 2015. 8. 21.
[정보처리기사][알고리즘][자료구조] 이분검색 - 2차원 배열 Q. 키보드로 입력받은 번호에 대한 점수를 DATA 배열에서 찾아 출력하는 순서도를 작성하시오. 단, DATA(1,10) 배열에는 번호와 점수가 들어있다고 가정하고, 찾는 자료가 없을 경우 자료와 함께 Not Found를 출력하고 끝낸다.1. 번호 순으로 정렬된 번호와 점수가 저장될 2차원 DATA배열을 선언한다. 자료가 저장되어있다고 가정한다. 2. 찾을 번호를 입력한다. 3. 검색 범위의 시작위치는 1이므로 L을 1로 초기화한다. 4. 검색 범위의 마지막 위치는 10이므로 H를 10으로 초기화한다. 10개의 열을 사용하므로 마지막 위치는 10이다. 5. 검색 진행 여부를 판단한다. 검색 범위의 시작 위치와 끝 위치를 비교하여 어떤 경우에 더 찾아봐야 하는지 생각한다. 1) 시작 위치가 더 크다면, 입.. 2015. 8. 21.
[정보처리기사][알고리즘][자료구조] 이분검색 - 1차원배열 Q. 키보드로 입력 받은 값이 DATA 배열의 몇 번째에 기억되어 있는지 알아보기 위해 출력하는 순서도를 작성하시오. 단, DATA(10) 배역에는 10개의 숫자가 들어있으며, 찾는 자료가 없을 경우 자료와 함께 Not Found를 출력하고 끝낸다.1. 입력받은 숫자가 저장될 DATA 배열을 선언한다. 정렬된 숫자가 저장되어 있다고 가정한다. 2. 찾을 숫자를 입력받는다. 3. 검색 범위의 시작 위치는 1이므로 L을 1로 초기화한다. 4. 검색 범위의 마지막 위치는 10이므로 H를 10으로 초기화한다. 10개의 배열요소를 사용하므로 마지막 위치는 10이다. 5. L이 H보다 작거나 같으면 계산을 수행하기 위해 YES로 가고 아니면 시작 위치가 마지막 위치보다 커진것이므로 NO로 간다. 1) No일 경우,.. 2015. 8. 21.
[정보처리기사][알고리즘][자료구조] 석차구하기 - 바로출력 Q. 10명 학생의 국어, 수학 점수를 각각 입력 받아 총점을 계산한 후 총점 기준 오름차순으로 순위를 출력하는 순서도를 작성하시오. 단, 동점은 동석차로 하고 총점이 0인경우는 출력하지 않는다.1. KUK(10), MAT(10), HAP(10) 배열을 선언한다. 2. i는 1씩 누적되며 증가하는 변수이므로 i를 0으로 초기화한다. 3. 자료의 수를 세기 위해 1씩 더한다. 4. 국어점수를 입력 받아 KUK(i)에 저장한다. 수학점수를 입력받아 MAT(i)에 저장한다. 5. 국어점수와 수학점수의 합계를 HAP(i)에 저장한다. 6. 입력 자료의 개수 i가 10보다 작으면 자료를 더 입력 받아야 하므로 Yes로 간다. 1) Yes일 경우, 3으로 간다. 2) No일 경우, 7로 간다. 7. 바깥쪽 반복문은.. 2015. 8. 21.