본문 바로가기
728x90

프로그래밍18

21/10/02(토)_ 운동 일지 21/10/02(토)_운동 일지 얼마만에 글을 쓰는지 모를 정도로 오랜만이다. 컴퓨터 시스템 내용 들어오면서부터 바빠졌는데 OS project 주차에 오니 더욱 굉장히 할게 많다. 하지만.. .점점 더 즐겜러가 되어가는 낑깡... 어제 2시에 불고기버거 세트를 먹고 4시에 자서 그런지 오전에 좀 피곤했다. 점심 후 정신을 차리기 어려워 오랜만에 체력단련실. 저번 글에서 텐션 낮을 때는 최고 120, 최저 60정도라고 했는데, 이것보다 더 낮게 나온거 보니 확실히 혈압이 낮으면 집중하기 힘든 게 맞는거 같다. 하체 운동을 해서 혈액순환을 원할히 하면 좋을 것 같은데 다리로 무식하게 미는 운동보다 조정이 더 재밌을 것 같아 요즘은 조정을 깔짝깔짝 하고 있다. 어쨌든 잠 깨는 데 운동의 효과는 확실한걸로 ! .. 2021. 10. 3.
[프로그래밍] bit, byte 2진수, 16진수 관계 정리 [프로그래밍] bit, byte 2진수, 16진수 관계 정리 bit, byte의 관게 및 2진수, 16진수로의 변환이 익숙해지는 것은 컴퓨터 시스템 이해의 기본이다. 그 기본이 없어... 정리를 해봐야겠다 ㅋㅋ 2진수와 16진수 16진수 한 자리는 16가지 수의 표현이 가능하다. (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F) 그러므로 2진수 한자리는 2개, 16진수 한자리는 16개를 표현할 수 있으므로 "16진수 1자리 = 2진수 4자리" 를 기억하는 것이 포인트! 그러므로 16진수 한자리는 4 bit에 해당된다. bit 와 byte 그리고 2진수와 16진수 bit는 기본적으로 2진수 한 자리를 표현하며 0과 1 두가지로 표현된다. (이것은 switch의 on /.. 2021. 9. 11.
[C언어] 레드-블랙 트리(Red-black Tree, RB Tree) [C언어] 레드-블랙 트리(Red-black Tree, RB Tree) 트리 구조 중 가장 복잡한 구조인 레드-블랙 트리에 대해 배워보자. RBT는 자가 균형 이진 탐색 트리로서 실 사용에서 효율적이고 최악의 경우에도 상당히 우수한 실행 시간을 보인다. 트리에 n개의 원소가 있을 때 O(log n)의 시간복잡도로 삽입, 삭제, 검색을 할 수 있다. Red-black tree 의 특징 RBT의 특징 모든 노드는 빨강이거나 검정이다. 루트는 검정이다. (검정으로 변환) 모든 리프(NIL)는 검정이다. 노드가 빨간색이면 그 노드의 자식은 모두 검정이다. (연속 빨간 노드는 회전 필요) 각 노드로부터 그 노드의 자손인 리프로 가는 경로들은 모두 같은 수의 검정 노드를 포함한다. 부모노드는 왼쪽 서브트리보다 크고.. 2021. 9. 9.
[C언어] 이진 탐색 트리(Binary Search Tree, BST) [C언어] 이진 탐색 트리(Binary Search Tree, BST) 이진 탐색 트리란 이진 탐색(Binary Search)과 연결리스트(Linked List)를 결합한 자료구조의 일종이다. 이진 탐색의 효율적인 탐색 능력(O(log n)은 유지하면서 자료 입력과 삭제가 효율적으로(O(1)) 가능하다. 이진 탐색 트리 특징 각 노드에 값이 있다. 값들은 전순서가 있다. 노드의 왼쪽 서브트리에는 그 노드의 값보다 작은 값들을 지닌 노드들로 이루어져 있다. 노드의 오른쪽 서브트리에는 그 노드의 값보다 큰 값들을 지닌 노드들로 이루어져 있다. 좌우 하위 트리는 각각이 다시 이진 탐색 트리여야 한다. 이진 탐색 트리 기능 검색, 추가, 삭제, 최솟값 찾기 코드 #include #include typedef i.. 2021. 9. 7.
[C언어] 구조체 포인터 사용하기 [C언어] 구조체 포인터 사용하기 다른 자료형과 마찬가지로 구조체도 포인터를 선언할 수 있으며, malloc 함수를 이용하여 동적 메모리를 할당할 수 있다. #define _CRT_SECURE_NO_WARNINGS // strcpy 보안 경고로 인한 컴파일 에러 방지 #include #include // strcpy 함수가 선언된 헤더 파일 #include // malloc, free 함수가 선언된 헤더 파일 struct Person { // 구조체 정의 char name[20]; // 구조체 멤버 1 int age; // 구조체 멤버 2 char address[100]; // 구조체 멤버 3 }; int main() { struct Person *p1 = malloc(sizeof(struct Perso.. 2021. 9. 4.
[백준_11049] 다이나믹 프로그래밍(DP), 행렬 곱셈 순서 [백준_11049] 다이나믹 프로그래밍(DP), 행렬 곱셈 순서 행렬 곱셈 순서에 따라 곱셈의 횟수가 달라진다. 행렬이 주어졌을 때 다이나믹 프로그래밍(DP)를 이용하여 곱셈 횟수의 최솟값을 구하는 문제이다. 뭔가 어려운 포인트들이 많아 한 번 정리해두면 좋은 문제이다. https://www.acmicpc.net/problem/11049 11049번: 행렬 곱셈 순서 첫째 줄에 입력으로 주어진 행렬을 곱하는데 필요한 곱셈 연산의 최솟값을 출력한다. 정답은 231-1 보다 작거나 같은 자연수이다. 또한, 최악의 순서로 연산해도 연산 횟수가 231-1보다 작거나 같 www.acmicpc.net 문제 풀이 생각 포인트 이 문제에서 중요한 포인트는 3가지 정도 있다. i 번 째 행렬의 행은 i-1 번 째 행렬의.. 2021. 9. 1.
728x90