정보관리기술사&컴퓨터시스템응용기술사 6: 알고리즘 (정보관리기술사와 컴퓨터시스템응용기술사를 한번에 끝낼 수 있는 길라잡이 | 개정증보판)

정보관리기술사&컴퓨터시스템응용기술사 6: 알고리즘 (정보관리기술사와 컴퓨터시스템응용기술사를 한번에 끝낼 수 있는 길라잡이 | 개정증보판)

$30.75
Description
1. 이 책은 학원 수강을 통해 습득한 내용과 멘토링을 진행하면서 스스로 학습한 내용을 바탕으로 답안 형태로 작성하였고, IT분야 기술사인 정보관리기술사와 컴퓨터시스템응용기술사 자격을 취득하기 위해 학습하고 있거나 학습하고자 하는 분들을 위해 만들었습니다.

2. 본 교재는 발전 동향, 배경 그리고 유사 기술과의 비교, 다양한 도식화 등 25년간의 실무 개발자 경험을 토대로 작성한 내용으로 풍부한 경험적인 요소가 내재되어 있는 장점이 있습니다.
저자

권영식

-성균관대학교정보통신대학원정보보호과졸업(공학석사)
-삼성전자선임/책임연구원
-도시바삼성스토리지테크놀러지-코리아(주)수석연구원
-컴퓨터시스템응용기술사,정보시스템수석감리원,정보통신특급기술자
-과학기술정보통신부IT멘토
-데이터관리인증심사원(DQC-M)
-韓(한)·日(일)기술사교류회위원

목차

PART1.자료구조(DataStructure)와알고리즘(Algorithm)
1.자료구조(DataStructure)
2.자료구조(DataStructure)의형태,구성,단위
3.알고리즘(Algorithm)의정의,조건,접근방법,분석방법
4.알고리즘실행시간을추정하는데사용되는Big-Oh(O)표기법
5.알고리즘의평가방법인TimeComplexity(시간복잡도)와SpaceComplexity(공간복잡도)
6.10진수53를2진수로변환하고2진수110101을10진수로변환
7.10진수0.6875를2진수로변환하고그결과를다시10진수로표현
8.2진수를음수로표현하는방법3가지이상나열
9.알고리즘표현방법과반복문인for,while,do~while문을사용하여1에서100까지덧셈하는code예제와순서도
10.아래3개A,B,C알고리즘사용시n에대한전체연산수를구하시오
11.프로그램언어에서함수간매개변수전달기법인Call-by-value,Call-by-reference,Call-by-name에대해실제Code예제를보이시오.
12.C언어를사용하여정수를이진수로변환하는프로그램을작성하시오.
가정:C언어에서이진수의출력은문자열,이진수는32bit를초과하지않음
13.자료구조에서아래Pointer자료의MemoryAllocation(할당)를표현하고설명하시오.

PART2.재귀함수(RecursionFunction)
14.“Factorialn”을구하는재귀호출알고리즘
15.다음재귀호출(RecursiveCall)Code에수행동작을설명하시오.
16.피보나치수열(FibonacciSequence)에대해설명하고아래Code에대한실행결과를기술하시오.
17.아래피보나치(Fibonacci)함수Code에대해실행과정을설명하고실행결과를기술하시오.
18.아래하노이타워(TheTowerofHanoi)문제를아래조건에적절하게기술하시오.
조건1)하나의막대에쌓여있는원반을다른하나의원반에그대로옮기시오.
이때한번에하나씩만옮길수있고옮기는과정에서작은원반의위에
큰원반이올려져서는안됨.
조건2)실행과정을설명하고Coding하시오.

PART3.배열(Array)과연결리스트(LinkedList)
19.Array(배열)에대해설명하고장단점
20.다음3차원배열값에대한배열의각각의요소값과Memory에할당되는방법에대해기술하시오(행(Column)우선의경우를고려하여작성하시오).
21.배열(Array)List와연결List의차이점
22.선형List(LinearList)에서처리할수있는연산에대해7가지이상나열
23.LinkedList의구성과비순차적인메모리구성에따른삽입과삭제
24.다음과같이구조체자료형인_node를선언하고이를이용하여연결리스트(LinkedList)를만들었다.다음소스를보고물음에답하시오(단,시작함수는_tmain()).
25.이중(Double)연결리스트(LinkedList)에서삽입과삭제
26.인접다중리스트(AdjacencyMultiList)에대해설명하고아래Graph에대해인접리스트로표현하시오.

PART4.스택(Stack)과큐(Queue)
27.스택(Stack)에서사용되는용어와연산
28.아래Stack구조를LinkedList(연결리스트)형태로표현하고D값을삭제한연결리스트와E값을삽입한연결리스트를도식화하시오(Stack크기는5로가정한다).
29.Stack의크기n=5인스택에서노드A,B,C,D를Push하고D,C,B를POP한후다시노드E,F를Push하는과정(TOP는StackPointer임)
30.Stack의활용예5가지이상과2개의상세예제그리고stackoverflow발생방지방법2가지
31.Queue에대해설명하고Queue를표현하기위한조건과큐의삽입과삭제에대해Coding하여설명하시오.
32.원형큐(CircularQueue)에서Enqueue와Dequeue,Empty와Full상태
33.우선순위큐(PriorityQueue)를구현하는방법으로배열,연결List,힙(Heap)을이용하는방법이있다.각각설명하시오.
34.데크(Deque:DoubleEndedQueue)의삽입과삭제과정

PART5.정렬(Sorting)
35.다음은C언어로작성된버블정렬(BubbleSort)알고리즘프로그램일부이다.프로그램을완성하시오.
36.아래Code는BubbleSort에서Flag를사용하는경우와사용하지않는경우를각각Coding하고자한다.가.항목과나.항목의Code를완성하고차이점을기술하시오.
37.BubbleSort에서이미정렬된값은더이상비교할필요가없다.이점을고려하여BubbleSort의예제를들어Coding하시오(설명도추가하시오).
38.다음Key값에대한BubbleSort과정을설명하고버블정렬성능평가를Big-oh(O)로표기하시오.
39.아래Key값에대해선택정렬(SelectionSort)과정을설명하고Coding예제를기술하시오.
40.아래Key값에대해삽입정렬(InsertionSort)과정을설명하고Code예제를기술하시오.
41.InsertionSort(삽입정렬)에대해실행효율적인측면을설명하고초기자료:2,4,3,5,1값에실행과정을기술하시오.
42.다음값을삽입정렬(InsertSorting)과정을설명하시오.
43.다음각각의Data를선택정렬과머지정렬(Merge)의과정을설명하시오.
44.아래Record값을버킷(Bucket)을사용하여기수정렬(RadixSort)을수행하는과정을기술하시오(n=15).
45.아래Record값을Queue를사용하여기수정렬(RadixSort)을수행하는과정을기술하시오.(n=15)
46.12개의RecordKey값=(121,212,004,120,215,309,518,202,415,345,107,333)로구성된파일을기수정렬(Radix)(LSD우선방식적용)로정렬하는과정을보이시오.
47.아래2개의배열값에서2-원합병정렬(2-WayMergeSort)으로정렬하는과정을설명하시오.
48.아래Key값을이용하여ShellSort과정을설명하시오(이때매개변수는6,4,3,2,1을적용하시오).
49.병합정렬(MergeSort)의방법에대해추상화하여설명하시오.Key값은다음과같다.Key=(8,2,3,7,1,5,4,6)
50.다음16개의정렬되지않는초기자료가배열a에입력되어있을때단계별로오름차순으로정렬되는과정을(기수정렬-RadixSort)방법사용)기술하시오.
51.QuickSorting알고리즘을설명하고,다음Data를QuickSorting알고리즘을정렬하는과정을설명하시오.Data는15,22,13,27,12,10,20,25.
52.아래정렬되지않은데이터가9개있을때외부정렬(ExternalSort)방식인다단계병합방식으로정렬되는과정을기술하시오.
53.아래정렬되지않은데이터8개에대해균형병합정렬(BalancedMergeSort)과정을기술하시오.
54.아래이진트리를힙(Heap)구조로변형하시오.
55.아래이진트리는이미Heap구조로변형된상태(초기상태)이다.Heapsort의과정을상세히설명하시오.
56.다음Heap구조에서3를추가하여Heap구조를재정렬하고RootNode제거시의과정을기술하시오(최소힙-MinimumHeap을사용하시오).
57내부정렬(Sort)알고리즘의종류를나열하고비교횟수와소요공간(기억공간),특징을나열하시오.

PART6.탐색(Search)
58.검색(Search)의정의와용어,그리고검색방법을분류
59.순차검색(SequentialSearch)의정의와알고리즘표현그리고AverageSearchLength(평균검색길이)를설명하시오.
60.이진검색(BinarySearch)과정을FlowChart로표현하시오.
61.BinarySearch(이진검색)에대해설명하고아래Record에서‘25’Key값을검색하는과정을설명하시오.
62.다음은17개의Record로구성된파일이다.키M을트리형태로표현하고검색하는과정을기술하시오.
63.다음은17개의Record로구성된파일이다.KeyM을이진검색(BinarySearch)방법으로찾으시오.
64.다음Record에서Key값57을찾는과정을이진탐색(BinarySearch)법으로설명하시오(알고리즘도작성하시오).
65.보간검색(InterpolationSearch)에대해설명하고아래Record에서보간검색법을이용하여Key값55를검색하는과정을설명하시오.
66.블록검색(BlockSearch)에대해설명하고다음16개Record로구성된파일을블록으로저장한형태이다.Key64를검색하는과정을설명하시오(블록당Record는4개).
67.다음12개의Record를가진파일에서Key28을가진Record를피보나치검색(FibonacciSearch)과정을기술하시오.
68.이진검색트리(BinarySearchTree)의각Node의Key값특징을설명하고아래이진검색트리구성에서⑪Key값을검색하는과정에대해FlowChart형태로기술하시오.
69.TLB,SNS,RTE,SAN,FIFO,ROI,HASH의데이터에서해싱(Hashing)을이용하여ROI와ERP를검색하라(아래EBCDICCode의Table을활용하여Hashing함수를구하고버킷수는10개이고한개의버킷에는2개의Data를저장할수있음).
70.Hashing(해싱)충돌과해결방법에대해설명하시오.
71.검색알고리즘(SearchAlgorithm)의평균검색길이,검색수행시간,기억공간,특징을5가지이상나열하고비교하시오.

PART7.산술식표현과트리(Tree)
72.다음산술식X=A+(B+C/D)*E-F를이진트리형태로표현하고전위(Prefix)표기법과후위(Postfix)표기법에따라stack에저장되는형태를기술하시오(우선순위는(),*,/,+,-순).
73.다음산술식을우선순위연산자를고려하여계산하시오(A는3,B=4,C=5,D=2,E=3,F=2,G는6이다).
74.산술식X=A+(B+C/D)*E-F를후위(Postfix)로표기하고이때후위표기산술식의Stack연산과정을기술하시오(우선순위는(),*,/,+,-순임).
75.다음수식을Tree형태(수식트리=ExpressionTree)로표현하여계산하시오.(우선순위는*,+,-순)
76.Tree에서사용되는용어10개이상에대해설명하시오.
77.이진트리(BinaryTree)의유형에대해설명하고이진트리의순회(Traversal)방법4가지의예를드시오.
78.아래이진트리의운행(

출판사 서평

Part1.자료구조(DataStructure)와알고리즘(Algorithm)에서는,
자료구조의형태,구성단위,알고리즘의정의,분석,Big-Oh(O)표기법,시간복잡도와공간복잡도,반복문,연산수,매개변수전달방법,Call-by-value,Call-by-reference,Call-by-name에대한내용으로작성했습니다.[관련토픽-13개]

Part2.재귀함수(RecursionFunction)에서는,
재귀호출알고리즘의수행동작,피보나치수열(FibonacciSequence),하노이타워(TheTowerofHanoi)에대해학습할수있도록하였습니다.[관련토픽-5개]


Part3.배열(Array)과연결리스트(LinkedList)에서는,
배열의장단점과메모리할당방법,배열과연결리스트(LinkedList)차이점,LinkedList삽입과삭제동작,이중(DoubleLinkedList)삽입과삭제동작에대해쉽게접근할수있도록답안화하였습니다.[관련토픽-8개]

Part4.스택(Stack)과큐(Queue)에서는,
Stack의용어와연산,Stack삽입과삭제,Stack의Overflow방지방법,Queue의삽입과삭제,원형큐(CircularQueue)Empty,Full상태,데크(Deque:Enqueue,Dequeue),우선순위큐(PriorityQueue)에대한내용을학습할수있도록하였습니다.[관련토픽-8개]

Part5.정렬(Sorting)에서는,
버블정렬,선택정렬,삽입정렬,병합정렬,기수정렬,2-원합병정렬,쉘정렬,퀵정렬,힙정렬,외부정렬,균형병합정렬등정렬알고리즘의비교와특징들을학습할수있도록답안화하였습니다.항상출제되는부분으로많은관심을가지고학습하시기바랍니다.[관련토픽-23개]

Part6.탐색(Search)에서는,
순차검색,이진검색,보간검색,블록검색,피보나치검색,이진검색트리,해싱(Hashing)검색,Hashing충돌과해결방법,검색알고리즘(SearchAlgorithm)성능및특징에대해학습할수있습니다.[관련토픽-14개]

Part7.산술식표현과트리(Tree)에서는,
Tree의용어,Tree의유형및삽입과삭제,Thread이진트리,운행방법,메모리저장,AVLTree구성및균형(LL,LR,RL,RR회전),2-3Tree,2-3-4Tree,RedBlackTree,m-원탐색Tree,B-Tree,B*-Tree,B+-Tree,T-Tree삽입삭제에대해실제예를들어설명한부분으로이해위주로학습할수있도록기술하였습니다.매번출제되는중요한토픽들입니다.[관련토픽-41개]

Part8.그래프(Graph)에서는,
Graph의용어및종류,인접행렬과인접List표현법,깊이우선검색(DFS:Depth-FirstSearch),넓이우선검색(BFS:Breadth-FirstSearch),최소신장트리(MinimalSpanningTree)알고리즘,Prim’s/Kruskal’s/Sollin’s알고리즘에대한내용으로작성했습니다.[관련토픽-14개]

Part9.기타알고리즘에서는,
DMA동작에대한FlowChart작성,Buffer크기에따른영향,Dekker알고리즘,Peterson알고리즘,Process병행시의인터리빙(Interleaving),TwophaseLocking,직렬불가능(Non-serialization)을직렬화,기계학습및Agent를설명한부분으로이해위주로학습할수있도록기술하였습니다.[관련토픽-17개]

Part10(부록).알고리즘SourceCode에서는,
1파트부터7파트까지학습하는데참조가되는SourceCode를수록하였습니다.관련된알고리즘소스코드는총22개로다음과같습니다.Binary변환,Callbyname,Callbyreference,Callbyvalue,FactorialN,FibonacciCode,FibonacciSequence,TheTowerOfHanoi,DoubleLinkedListInsertDelete,LinkedListOrderedInsertDeletePrint,QueueInsertDelete,stackPushPop,Bubble_Flag,Bubble_noFlag,BubbleSort,InsertSort,QuickSort,SelectionSort,BinarySearch,InterpolationSearch,SequentialSearch,Tree순회등총22개알고리즘소스를수록하였고VisualStudio환경에서정상적으로실행된SourceCode입니다.[관련SourceCode?22개]