전체23 (c lang) RB-tree(red black tree) 구현 RB-tree insert 함수는 Jenny's lectures CS/IT NET&JRF 유튜브 강의를 참고했습니다 [rbtree insert 유튜브 강의 바로가기] delete 함수는 introduction to algorithms(Thomas H. Cormen 등)을 참고했습니다 tree 구조체 root 노드 포인터를 멤버로 가져 트리 전체를 가리킨다 typedef struct { node_t *root; } rbtree; rbtree *new_rbtree(void) { rbtree *p = (rbtree *)calloc(sizeof(rbtree), 1); return p; }node 구조체 color(red, black), key, parent, left-child, right-child를 .. 2021. 9. 9. (c lang) binary search tree 구현 introduction to algorithms(Thomas H. Cormen...) 의 수도코드를 강력하게 참고했습니다 node 구조체 구현 // node definition typedef struct node{ int key; struct node *parent; struct node *left; struct node *right; } node_ttree 초기화 node_t형 포인터 초기화 // initialize root node_t *root = NULL; // insert nodes insert(&root, 7); insert(&root, 3); insert(&root, 5); insert(&root, 9); // 7 // / \ // 3 9 // / \ | \ // N 5 N N // / \ .. 2021. 9. 5. (c lang) linked-list 구현 연결리스트 구현 노드 구현(node_t형 구조체) 노드 구조체는 int 형 val멤버와 다음 노드를 가리키는 node_t형 포인터 next멤버를 갖는다// node definition typedef struct node{ int val; struct node *next; } node_t linked-list 초기화 node_t *head = NULL; node_t형 포인터로 초기화// initialize head(node_t pointer) node_t * head = NULL; print_list함수 print_list(node_t *head); 첫 노드부터 마지막 노드까지 val 멤버를 출력 예외1: 노드가 없는 경우// print out value of all nodes int print_list(.. 2021. 9. 4. [ 백준 2098번 ] 외판원 순회 파이썬 [백준 2098번 바로가기] 2098번: 외판원 순회 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 16) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j www.acmicpc.net 유튜브 주니온 TV 아무거나 연구소 강의를 참고했습니다. [유튜브 주니온TV 강의 바로가기] 손글씨로 대체합니다 논리 및 점화식 집합 연산은 비트마스킹을 이용했습니다(아래에 간단한 설명 첨부했습니다) 비트마스킹 코드 import sys def 외판원순회(): # bit-masking functions # 원소 포함 여부 확인 def isIn(A: int, i: int): return (A & (1 2021. 9. 1. 이전 1 2 3 4 5 6 다음