728x90

전체 글 74

[알고리즘] A* 알고리즘

A* 알고리즘이란? Dijkstra 알고리즘의 확장판으로 Best-First 검색을 이용해 시작점->도착점 까지의 가장 적은 비용을 사용하는 경로를 찾음 - 조사하지 않은 node중 가장 효율적이라 판단되는 node를 찾음 - 찾은 node가 도착점이면 종료, 아니면 인접 node들 중 다시 찾음 - 조사한 node들은 close list에 저장, 조사하지 않은 node들은 open list에 저장 ** Dijkstra 알고리즘은 시작노드만 지정하고 다른 모든 노드에 대한 최단 경로를 파악, A* 알고리즘은 시작노드와 목적지 노드를 분명하게 지정하여 이 두 노드간의 최단 경로를 파악한다는 것이 다르다! - 각 정점은 목적함수값 g(x)를 가지고있으며 best-first 검색을 통해 g(x)값이 가장 좋은..

Algorithm 2022.06.10

Control Unit Operation

Fetch - 4 Registers MAR (Memory Address Register) address bus와 연결되어있고 명령어 read/write할 주소를 명시함 MBR (Memory Buffer Register) data bus와 연결되어있고 write할 데이터나 읽은 데이터를 가진다 PC (Program Counter) fetch될 다음 명령어의 주소를 가진다 IR (Instruction Register) fetch된 명령어를 가진다 [Fetch Sequence] PC에 다음 명령어의 주소가 있으므로 MAR에 PC의 내용이 복사된다. MAR은 address bus와 연결되어있으므로 address bus에 주소가 존재되고 Control Unit이 READ 명령 수행, 그 결과는 data bus로 ..

CS/컴퓨터구조 2022.06.02

[C++] KMP 알고리즘

KMP 알고리즘이란 ? 최대 접두부를 구현하여 불일치를 감지할 때마다 이전의 일치 문자열로 돌아가 점프하는 방식으로 시간 복잡도는 최악의 경우 O(N) : 문자열 길이 * 패턴 길이 [ 구성 요소 ] lps[] : 패턴 문자열에서 접두사와 접미사가 일치하는 최대길이 저장 pattern[] : 패턴 문자열 text[] : 주어진 문자열 KMP 알고리즘 함수 구현하기 예시 문자열 ) ABAABAB i 문자열 lps[i] 0 A 0 1 AB 0 2 ABA 1 3 ABAA 1 4 ABAAB 2 5 ABAABA 3 6 ABAABAB 2 => lps에 최대길이인 3이 들어감 lps 구현 코드​ void lps_array(string pattern, int M, int lps[]) { int len = 0; //접두..

Algorithm 2022.05.24

Internal Memory

[ 요약 ] Semiconductor Main Memory : RAM / ROM / Flash memory RAM - Volatile(전원이 공급되지 않으면 data lost) 종류 : DRAM(dynamic)과 SRAM(static) ROM - Nonvolatile 종류 : ROM, PROM, EPROM, EEPROM Flash memory - Nonvolatile Dynamic RAM (DRAM) DRAM은 capacitors에 저장되는데 capacitor은 charged/discharged의 electronic charge를 이용하므로 leak가 발생된다. 이는 data의 loss로 이어지므로 이를 대처하기 위해 전원에 연결되었을때도 포함해서 refreshing해주는 refresh circuits가..

CS/컴퓨터구조 2022.04.22

External Memory

Magnetic Disk 자성의 물질로 만든 disk로 예전에는 알루미늄을 이용했으나 현대에는 유리를 이용하고 있다. -> 신뢰성을 높임, read/write에러를 줄여줌, 짧은 간극이 생김, 더 단단하고 충격/데미지에 내구성이 있음 왼쪽 사진에서처럼 여러층의 disk가 층층이 존재하고 ARM(초록색 원)이 회전하면서 disk를 읽/쓰고 끝에 head가 달려있다. 쓰는 방법은 자성에 차이를 주면서 쓰게 된다. 여러층의 disk의 사이사이에는 gap이 존재하는데 이 gap은 눈으로는 볼 수 없을만큼 아주 미세하다. (미세먼지 보다 작다) 이 gap의 존재 이유는 disk 간에 간극을 주어 track간의 정보 간섭이 없도록 하기 위함이다. 원판 모양의 disk 모습이다. 한 줄을 track이라고 하며 tra..

CS/컴퓨터구조 2022.04.21

Machine Learning Basic

** 출처 : boostcourse 텐서플로우로 시작하는 딥러닝 기초 링크 -> https://www.boostcourse.org/ai212/joinLectures/25072 지도 학습 (Supervised Learning) labeled된 데이터를 학습함 training data set이 필요함 비지도학습 (Unsupervised Learning) un-labeled data, 데이터를 가지고 스스로 학습함 Linear Regression Linear Regression? parameter을 선형 결합식(1차식)으로 표현 가능한 모델 n차식으로 결합된 식도 선형이 될 수 있다? x의 차수가 중요한것이 아니라 파라미터 끼리의 결합이 선형인지가 중요하다 피처 종류 개수에 따라 한개이면 단순 선형 회귀, 여..

카테고리 없음 2022.03.29

Chapter 1 ) Basic Concepts and Computer Evolution

■교재 : Computer Organization and Architecture, 10th Edition, W. Stallings, Pearson, 2016 **이 포스팅은 컴퓨터구조 과목의 정리본이다. IAS von Neumann Architecture data & instructions 같은 single memory를 사용한다. memory content들은 위치로 addressable하다. sequential execution Memory of IAS words == 1000 storage of locations 각 word = 40 bits이고, instruction pair(left instruction, right instruction)을 가진다. 각 instruction들은 8bit의 opc..

CS/컴퓨터구조 2022.03.23

[C++] 5576번 콘테스트

각각 10개의 입력으로 정해져 있으므로 크기 10짜리 배열 2개를 만들어 입력을 받아주고 sort함수를 이용하여 내림차순으로 정렬을 해주었다. 높은 점수 순으로 3명의 점수만 합산되므로 3번째까지의 점수를 각각 더해주어서 출력해주었다. #include #include #define sync ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); using namespace std; void Contest(){ int W[10], K[10]; int W_score = 0; int K_score = 0; for(int i=0; i> inp; W[i] = inp; } sort(W, W+10, greater()); for(int i=0; i> inp; K[i]..

728x90