본문 바로가기

Programming/Data Structure

(4)
자료구조 : binary tree에서 전위, 중위, 후위 계산 아~~주 쉽게하는 법 후배가 물어보길래 적어봅니다. 뭐.. 다들 같은 방법으로 계산하리라 생각합니다만^^;;; 아마 거의 모든 학교나 강의에서는 binary tree 의 노드를 둥근 모형 정도로 그리고 노드와 노드를 선으로 연결했을겁니다. 전위 .. 각 노드마다 - 이렇게 선같은걸 좌측에 그려주세요. 중위 .. 각 노드마다 위 선을 아래에 세워서 그려주세요. 후위 .. 각 노드마다 마찬가지로 선을 우측에 그려주세요. 그리고 시작점은 늘 루트노드의 위에서 시작하고 방향은 좌측입니다. 그려나가면서 저 선들이 통과하는 순서가 각 순회의 순서와 동일합니다. 예전에 이거 소개받고 며칠씩 밥을 샀는데... 알고보니 여기저기 다들 알고 있던 방법이었더군요 ㅠㅠ 밑의 못난 그림은 이해를 돕기 위해 전위 순회 경우를 그려본 것입니다^^;; ..
Database - index를 걸어놓은 column을 다룰때 주의점 몇가지입니다. index가 걸려있는 column을 select를 할 경우에는 그 column의 index structure에 들어가서 데이터를 가져오게 됩니다. 그래서 이미 정렬이 되어있는 data들이 select되기 때문에 cost는 매우 적습니다. (보통 binary tree구조로 되어있으며 DBMS가 data의 CUD에 따라서 새로이 정렬을 합니다. 사실 binary plus tree 구조라고 하는데, 그 의미를 제가 정확히 이해 못하고 있으며, 또한 큰 차이가 없다하여 그냥 binary tree라고 이해하고 있는 중입니다. 물론 시간이 허락한다면 수정할 것입니다.) index를 타기 위해서는 where 조건으로 반드시 index를 탈 수 있도록 사용자가 index가 걸려 있는 column을 명시해주어야합니다. ..
논리 : 특정 집단이 모두 같은지를 검사. 첫번째를 n-1개와 같은지 검사, -> 첫번째 값 저장. 두번째를 n-2개와 같은지 검사, -> 두번째 값 저장. 세번째를 n-3개와 같은지 검사, -> 세번째 값 저장. ... n-1번째를 n번째와 같은지 검사 -> n-1번째, n번째 값 저장 이러면 모두 같은 값이 저장되어있다. 하지만 이러면 소비가 심하다. 따라서 하나라도 다른 지를 검사. 첫번째를 n-1개와 다른 지를 검사. 모두가 다르지 않다면 모두 같은 값.
재귀함수란? _ C언어의 재귀호출을 이용해서 구현한 하노이탑을 예로서. 재귀적이다?? 한 알고리즘이 문제를 보다 작은 입력을 갖는 동일한 문제로 단순화시켜 해결한다면 이 알고리즘은 재귀적임. 하노이탑 #include #include void hanoi(char from, char temp, char to, int n); int count = 0; void main(void) { int num; printf("Enter the number of Hanoi disk : "); scanf("%d", &num); hanoi('A', 'B', 'C', num); } void hanoi(char from, char temp, char to, int n) { if (n==1) { count++; printf("%d : disk %d, %c -> %c\n", count, 1, from, ..