
[ 자료구조 실습 ] Binary Search Tree 구현하기.
2022. 12. 18. 07:49
학사_공부 정리/자료구조 실습(C++)
목표 (1) Binary Search Tree를 구현한다. expandExternal함수를 통해 10개의 데이터를 삽입하고 preorder, inorder, postorder로 결과를 출력한다. (2) find, insert, delete함수를 작성하고 데이터 삽입,삭제연산을 한다. 구현상 특징 Tree는 강의자료 Trees(1/2)를 참고하여 구현하였다. 여기서 핵심 코드는 preorder, inorder, postorder 였는데 재귀 함수를 통해 위에서 아래로 순회하게 하였다. 또, cout를 preorder에는 맨 앞에 inorder은 중간에 postorder에는 맨 마지막에 넣어 원소들을 전,중,후위 순회를 하도록 구현하였다. (1)을 을 구현하기 위핸 expandExternal함수는 이름 그대..

[자료구조 실습] sorting 알고리즘 구현
2022. 11. 28. 14:05
학사_공부 정리/자료구조 실습(C++)
Insertion sort, Seletion sort, Merge sort, Quick sort 알고리즘 구현 코드 구현 정렬 알고리즘을 ArrayVector를 이용하여 구현한다. ArrayVector은 연속적인 배열(array)에 벡터로 접근하여 작은 수를 찾아 비교하며 차례대로 비교하였다. insertion sort 배열의 맨 처음 인덱스는 정렬된 상태로 그 다음 원소와 비교하여 그 다음원소가 더 작으면 작은 원소를 이전 원소의 앞에 insert 한다. 즉 비교를 통해 원소를 앞 / 뒤 어느쪽에 insert 할 지 결정하는 연산이 필요하다. seletion sort 배열의 맨 처음 인덱스를 가장 최소값이라 가정한다. 처음 인덱스부터 그 다음 인덱스들로 스캔하며 가장 작은 값을 골라 최소값과 교환한다...

[자료구조 실습] 괄호매칭
2022. 10. 21. 18:46
학사_공부 정리/자료구조 실습(C++)
괄호매칭배열을 이용한 스택을 활용하여 괄호가 잘 매칭 되었는지 확인 하는 프로그램이다. 어떤 식이 주어졌을 때 괄호 매칭이 ( ), { }, [ ] 과 같이 정상적이게 매칭 되었는지 확인하기 위해서는 다음과 같은 조건이 성립해야 한다. 조건1) open, close 괄호의 개수가 같아야 한다.조건2) 괄호의 종류(),{},[] 중 같은 종류의 괄호는 open 괄호가 먼저 나와야 한다.조건3) 종류가 다른 괄호가 교차되면 안된다. ex) ( { ) } 위와 같은 조건을 스택을 이용하여 만족하기 위해 조건을 다음과 같이 재해석 하였다. open 괄호는 스택에 push(), close 괄호를 만나면 스택의 top을 pop() 한다. 조건1) 괄호 검사가 끝났을 때 스택이 empty()한 경우는 open, cl..