운영체제 2023-04-10 수업정리
Flow CPU scheduling Exercise CPU scheduling Exercise #1 #1 answer #2 #2 answer #3 #3 answer
컴퓨터 알고리즘 2023-04-09 수업정리
Flow Sequence Alignment Dynamic Programming - Needleman-Wunsch algorithm Sequence Alignment An alignment is an assignment of gaps to positions 0, ..., M in x, and 0, ..., N in y, so as to line up each letter in one sequence with either a letter or a gap in the other sequence …
운영체제 2023-04-05 수업정리
Flow FCFS Scheduling SJF Scheduling Priority Scheduling Round-Robin Scheduling Multilevel Queue Scheduling FCFS Scheduling 먼저 도착한 프로세스를 먼저 처리하는 Scheduling Algorithm non-preemptive scheduling algorithm이다. 장점(?) 구조가 단순하여 구형하기가 매우 쉽다. Straving이 발생하지 않는 구조이다. 따라서 모든 프로세스의 실행이 보장…
프로그래밍언어론 2023-04-06 수업정리
Flow Scheme(2) Lab - Tail Recursive Factorial Scheme(2) 3.30 Scheme에서 이어짐 Scheme은 LISP를 모태로 하는 함수형 프로그래밍 언어이다. LISP과 마찬가지로 Eval - Apply model을 따른다. Eval - Apply Scheme은 리스트로 함수 적용을 나타낸다. 수식은 상수이거나 함수 적용 형태, 둘 중 하나이다. 함수와 인수를 모두 계산하고(Eval), 함수를 적용한다(Apply). ' 기호를 사용하여 Eval…
컴퓨터 알고리즘 2023-04-05 수업정리
Flow Dynamic Programming - Optimal Binary Search Trees(2) Dynamic Programming - Optimal Binary Search Trees(2) 컴퓨터 알고리즘 4.3 수업정리에서 이어짐 How to find Optimal BST? 앞서 살펴본 알고리즘에 의하면, Optimal BST의 Average Search Time은 구할 수 있지만 Optimal BST가 무엇인지는 알 수 없다. Optimal BST를 구하기 위해서는 Opti…
소프트웨어시스템설계 2023-04-05 수업정리
Flow Observer Pattern Review Template Method Pattern Observer Pattern Review Fan-in? Fan-in : 외부로부터의 해당 메소드나 클래스로의 association개수 Observer Pattern의 적용을 통해 fan-in을 줄일 수 있다. fan-in이 크다면 코드의 재사용상이 좋다고 볼 수 있다. 대표적으로 Scanner Class(java)등 fan-in이 무한대인 클래스들이 있다. 하지만 fan-in이 크다는 것은…
프로그래밍언어론 2023-04-04 수업정리
Flow Language - Syntax Review Language - Semantics Language - Syntax Review 프로그래밍 언어의 설계는 Syntax와 Semantics로 나눌 수 있다. 문법의 표기 Syntax는 CFG또는 BNF표기를 통해 나타낼 수 있으며 둘은 동치이다. 어떤 문법 G는 {N, T, P, S}인데 이때 P(Production Rule)을 CFG, BNF로 표기한다. 구문 트리 Production Rule에 따라 derivation 과정을 …
11399 - ATM
난이도: 실버 4 날짜: 2023월 4월 3일 상태: Correct 추가 검토 여부: No 알고리즘 : sort Solution 문제의 조건에 맞게 구현하기만 하면 되는 매우 간단한 문제이다. 정렬 알고리즘을 필요로 한다. 모든 경우의 수에 대해 고려해야 하므로 그리디 알고리즘의 범주에 속한다고 할 수 있다. CPU 스케줄링 알고리즘 중 SJF알고리즘이다. code #include <iostream> #include <algorithm> using namespace…
컴퓨터 알고리즘 2023-04-03 수업정리
Flow Dynamic Programming - Optimal Binary Search Trees(1) Dynamic Programming - Optimal Binary Search Trees(1) Binary Search Tree Binary tree의 각 노드는 하나의 key값을 포함하며, 왼쪽 subtree에 위치한 key값은 오른쪽 subtree에 위치한 key값과 비교해 같거나 작은 key값을 가진다. Binary Tree의 Attribute로 Depth, Balanced, Sea…
소프트웨어시스템설계 2023-04-03 수업정리
Flow Interface vs Abstract Class RobotStrategy Review Observer Pattern Interfacs vs Abstract Class java에서는 C++과 달리 abstract method가 없어도 Abstract Class로 선언이 가능하다. 이렇게 선언할 결우 인스턴스 추상 메소드는 없지만 인스턴스 생성은 불가능한 추상 클래스가 된다. Concrete Class에서 조금이라도 중복되는 동작이 있다면 Abstract Class를 사용해서 …
운영체제 2023-04-03 수업정리
Flow Review Terminologies Basic Concepts Review Process 실행 중인 프로그램 실행 중인 프로그램의 상태 정보(PC, pid 등)는 PCB라는 자료구조에 저장한다. PCB : Process Control Block, TCB라고도 한다. Process의 실행 정보를 Context라고 하고, 이를 교체하는 것이 Context-Switching이다. ready -> running Context Switching이 일어나면 Idle time에…
Nachos(1)
#1 KThread.java의 389행의 run함수를 고쳐서 각 Thread가 10번 실행되도록 할 수 있다. public void run() { for (int i=0; i<10; i++) { System.out.println("*** thread " + which + " looped " + i + " times"); currentThread.yield(); } } 실행 결과 #2 KThread.fork() 코드 …
프로그래밍언어론 2023-03-30 수업정리
Flow Review Scheme Review 3.28 수업정리에서 이어짐 Grammar : (N, T, P, S) N : non-terminal set T : terminal set P : production rules S : start symbols 다음 수식에서 N과 (N, T)의 합집합에 대한 kleene closure가 times되었다. -> CFG$$P \subseteq N \times (N \cup T)^* $$ 문법을 표현하는 방법으로는 CFG로 표기하는 방법과…
컴퓨터 알고리즘 2023-03-29 수업정리
Flow Dynamic Programming - Binomial Coefficient Dynamic Programming - Floyd's Algorithm Dynamic Programming - Binomial Coefficient Dynamic Programming을 통해 이항 계수를 구하는 알고리즘에 대해 알아보자 Combination 연산의 성질 중 다음과 같은 성질이 있다.$$_nC_k = {n-1}C{k-1} + _{n-1}C_k$$ 이를 이용하여 Combination의 계산이 …
소프트웨어시스템설계 2023-03-29 수업정리
Flow Review Design Pattern Overview Review 사실 Code Smell 은 성능 측면에서는 별 영향을 주지 않는다. 하지만 code smell을 없에면 유지보수성을 강화할 수 있다. 현실적으로는 유지보수성 이외에도 ISO 25010의 여러 요소를 중요하게 판단해야 한다. 본 강의에서는 유지보수성에 중점을 두고 설명한다. Design Pattern Overview 일반적으로 디자인 과정은 아래와 같은 세 개의 sub-process로 나눌 수 있다. 개발 과…