일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 알고리즘
- 컴퓨터구조
- 교착상태
- PYTHON
- Oracle
- 세마포어
- 스레드
- 스케줄링
- 트랩
- Algorithm
- 가상 메모리
- 페이징
- 동기화
- mips
- concurrency
- BOJ
- 운영체제
- mutex
- 단편화
- 프로세스
- 우선순위
- 부동소수점
- 기아 상태
- 페이지 부재율
- ALU
- 인터럽트
- fork()
- 추상화
- 페이지 대치
- 백준
- Today
- Total
목록전체 글 (122)
봉황대 in CS
* 본 글은 '헤드퍼스트 디자인패턴(Head First Design Patterns) 개정판'의 내용을 참고하여 작성하였습니다. Chapter 3. 데코레이터 패턴에서의 예제 코드를 보며, 궁금증이 생겨 시도를 한 과정과 그것을 통해 깨달은 바들을 여기에 작성하려 한다. Decorator Pattern 데코레이터 패턴이 무엇인지에 대해서는 다음의 링크들을 참고하길 바란다. 1. 김베어씨 정리 GitHub - IT-Book-Organization/HeadFirst-DesignPattern Contribute to IT-Book-Organization/HeadFirst-DesignPattern development by creating an account on GitHub. github.com 2. 내 정리..
* 본 글은 '헤드퍼스트 디자인패턴(Head First Design Patterns) 개정판'의 내용을 함께 정리하여 작성하였습니다. GitHub - IT-Book-Organization/HeadFirst-DesignPattern: 'Head First Design Pattern'을 읽고 공부하며 정리하는 저장소 'Head First Design Pattern'을 읽고 공부하며 정리하는 저장소입니다. Contribute to IT-Book-Organization/HeadFirst-DesignPattern development by creating an account on GitHub. github.com 소프트웨어 개발 불변의 진리 아무리 디자인을 잘한 애플리케이션이라도 시간이 지남에 따라 변화하고 성장..
보호되어 있는 글입니다.
정렬 알고리즘들에 대하여 알아보던 중, 합병 정렬(merge sort)과 퀵 정렬(quick sort)이 분할 정복 알고리즘 중 하나임을 깨닫고 먼저 분할 정복에 대해 정리하기 위하여 이 글을 작성한다. 분할 정복 (Divide-and-Conquer) '쪼개서 풀고 합하기' : 문제를 잘게 쪼개는 분할(Divide) + 문제를 풀어서 합하는 정복(Conquer) 분할 정복이란, 그대로 해결할 수 없는 문제를 작은 문제로 분할하여 해결하는 방법이다. 즉, 문제를 작은 2개의 문제로 분리한 후 각각을 해결한 다음, 그 결과들을 모아서 원래의 문제를 해결하는 전략을 말한다. (Top-down, 하향식 접근법) 조건 1. 문제를 쪼개 나가는 과정에서, 큰 문제와 작은 문제의 구조가 동일하거나 비슷해야 한다. =..
* 본 글은 '클린 아키텍처: 소프트웨어 구조와 설계의 원칙'의 내용을 함께 정리하여 작성하였습니다. [ 추천사 中 ] 아키텍처는 종착지가 아니라 여정에 더 가까우며, 고정된 산출물이 아니라 계속 탐구 과정에 더 가까움을 이해해야 좋은 아키텍처가 만들어진다. 설계와 아키텍처란? 설계(design)와 아키텍처(architecture)는 각각 무엇인가? 둘은 어떠한 차이가 있는 것일까? 이 책은 둘 사이 아무런 차이가 없다고 주장한다. 설계(design) : 저수준의 구조 또는 결정사항 등을 의미할 때가 많음 아키텍처(architecture) : 저수준의 세부사항과는 분리된 고수준의 무언가를 가리킬 때 흔히 사용됨 아키텍트가 실제로 하는 일을 살펴보면 이러한 구분은 무의미하다. 저수준의 세부사항과 고수준의 ..
최소 신장 트리 (Minimum Spanning Tree, MST) 최소 신장 트리는 주어진 그래프의 모든 정점을 연결하는 부분 그래프 중, 그 가중치의 합이 최소인 트리를 말한다. * 부분 그래프(Subgraph) : 주어진 그래프에서 일부 정점과 간선만을 선택하여 구성한 그래프 더 쉽게 말하자면 가장 적은 비용으로 모든 노드를 연결한 그래프를 말하며, 이때 사이클이 발생하면 안 된다. * 정점 = 노드 * 간선 = 비용 = 가중치 (그래프에서 선에 해당하는 부분) 동일한 그래프에서 최소 신장 트리는 여러 개가 나올 수 있다. 가중치의 합이 최소이기만 하면 되기 때문이다. 최소 신장 트리를 구하기 위한 알고리즘은 2가지가 존재하며, 각각 크루스칼(Kruskal) 알고리즘과 프림(Prim) 알고리즘이다...
최소 신장 트리(Minimum Spanning Tree, MST)에 대해서 찾아보다가 이를 구현하는 두 가지 방법 중 크루스칼(Kruskal) 알고리즘의 기본 베이스가 Union-Find 임을 보고, 먼저 Union-Find에 대해서 공부한 후 정리해보고자 한다. Union-Find Union-Find 알고리즘은 여러 개의 노드가 존재할 때 두 개의 노드를 선택한 후, 현재 이 두 노드가 서로 같은 그래프에 속하는지를 판별하는 알고리즘이다. Disjoint Set Disjoint Set(분리 집합)은 공통 원소가 없는, 상호 배타적인 부분 집합들로 나눠진 원소들에 대한 자료구조인데, 이 Disjoint Set을 표현할 때 사용하는 알고리즘이 바로 Union-Find 알고리즘이다. 이 알고리즘은 전체 집합..
보호되어 있는 글입니다.