">정렬 알고리즘에는 다양한 방법들이 있는데 이에 대해 알아보려고 한다.기초적인 알고리즘으로 삽입정렬, 선택정렬, 버블정렬, 퀵정렬, 힙정렬, 합병정렬 등이 있으며단순한 방법부터 알아보겠다.단순한 방법선택정렬 selection sort구현방법concept: n개의 원소를 가진 배열 list[]가 있다고 가정하자. 가장 작은 값부터 순차적으로 앞쪽으로 보낼 것이다.반복문으로 배열을 순환하며 가장 작은 값을 꺼내 list[0] 값과 교환한다.다시 정렬되지 않은 나머지 배열을 순환하며 그 중 최소값을 꺼내 list[1] 과 교환한다.이를 반복하며 n-1번 반복하면 정렬이 완료된다.#define SWAP(a, b, t) ((t)=(a), (a)=(b), (b)=(t))void selection_sort(int ..
인터럽트를 사용하지 않으면 반복문을 통해 항상 체크를 해야할 것이다. 이를 Pollng 방식이라하며 I/O의 요청을 주기적으로 탐색하는 SW 적인 방법이다. 인터럽트를 알기 전까지는 그렇게 해왔지만 이는 메모리 낭비이며 다른 일을 수행하지 못하도록 하는 원인이다.이번에는 인터럽트를 사용하기 위해서 어떤 레지스터를 다뤄야할지 정리해보려고 한다. NXP사의 S32K144 보드를 사용하며 Keil로 코딩한다.흐름알아볼 예제로는 스위치 입력이 들어왔을 때 인터럽트를 사용하여 7-segment를 제어할 것이다. PORT_init 함수에서 segment 출력을 설정할 것이고, 스위치를 입력으로 설정하면서 어떤 트리거로 인터럽트를 실행할 것인지 설정한다.NVIC init 함수에서 특정 인터럽트를 활성화하고 pendi..
목표이번 시간에 진행한 실습은 UART 통신이다.키보드로 입력한 값을 터미널에 띄우고 값에 해당하는 색을 LED로 표시하려고 한다.main 함수가 있는 파일에서 아래와 같은 파일을 include 할 것이다.#include "device_registers.h" #include "clocks_and_modes.h"#include "LPUART.h"LPUART.c 파일LPUART.h 헤더파일에는 함수가 선언되어있고 함수들은 LPUART.c에 정의되어있고UART를 초기화하고 터미널로 문자를 출력하는 함수가 있다.LPUART1_initclock 설정, BAUD rate 설정, CTRL 설정 등 UART를 사용하기 위한 초기 설정을 위한 함수LPUART1_transmit_charchar 자료형을 ..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/JJfQw/btsKVryyfs2/SNZYO67M9iZeGz2c63j7F0/img.gif)
이전 글에서 그래프에서 cycle이 만들어지지 않으며 모든 정점을 연결하는 MST를 kruskal 알고리즘으로 만들어보았다. 이번에는 그래프에서 시작 정점에서 특정 정점까지 최단거리로 연결하는 길을 찾는 방법을 알아볼 것이며 dijkstra 알고리즘을 이용할 것이다.최단경로 찾기 알고리즘Dijkstra의 최단 경로 알고리즘의 단계는 다음과 같다.집합에서 가장 짧은 경로의 정점 u를 집합에 추가집합에 없는 다른 정점까지의 거리 업데이트u를 거쳐 가는 경로가 더 짧으면 해당 값으로 업데이트이게 가능한 이유는 집합에서 가장 가까운 정점 u를 선택하면, u로 가는 더 가까운 길은 없기 때문이다.C언어 구현 방법그래프 구조체에는 vertex의 수 n과, 정점간 간선의 weight(거리)를 의미하는 2차원 배열 w..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/c4vi3u/btsKVJLwVeo/ikrBFjk6nN5ik29HMmD5D1/img.png)
컴퓨터구조 수업에서 RISC-V 기반으로 설명되어 있기에 리스크파이브 기반으로 파이프라이닝에서 발생하는 해저드에 대해 설명해볼 것이다. 우선 해저드 전까지 5-stage pipelining을 알아봤을 것이다. 이는 IF ID EX MEM WB 로 구성되어 있으며 각 단계 사이에는 레지스터가 존재한다. Pipeline Hazards해저드는 structure hazard, data hazard, control hazard 세 가지 종류가 있다. 자세한 것은 아래에서 설명할테지만 우선 structure hazard는 하드웨어의 lag 렉으로 발생한다. 하드웨어 자원이 연산 중 충돌하여 발생한다.data hazard는 data dependency에 의해 발생한다. 명령어가 특정 레지스터를 사용하여 수행할텐데, ..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/DTbUF/btsKUfLyAfV/jJG1IPKbVynZJYZBP7lUgk/img.png)
서론이전과 마찬가지로 #1 스킨을 기반으로 깔끔한 스킨을 만들고 싶어 수정중이다.제공하는 스킨이 워낙 많아 다들 사용하는 스킨이 다른데 수정하기에는 html, css, js 등 언어를 알아야 수정이 가능한 듯 하여 조금씩 알아보면서 수정하고 있다. 덕분에 웹 공부를 좀 해보는듯?기존 #1 스킨을 보면 글의 양쪽은 비어있어 허전한 느낌이 들기도 한다.하지만 공부를 하면서 여러 블로그를 방문하게 되는데 카테고리가 적당한 비율로 떠있을 때 관련 글을 찾아보기도 쉬운 것 같다.그래서 이번에는 왼쪽의 빈 공간에 카테고리를 넣어보려고 한다. 카테고리 삽입(HTML)기존 구조우선 블로그에서는 어떻게 카테고리를 불러오는지 궁금했다.html은 고정되어 있는데 카테고리를 추가하거나 없애는 등 수정을 해도 카테고리에 바로 ..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cXFtwA/btsKTA2RClW/ktG5tBqb2w5S0Hzv7YME5k/img.png)
광고 생성우선 반응형 광고를 생성해준다.그리고 생성된 코드의 일부를 바꿔줄 것인데ins 아래 부분을 바꿀 것이다.아마 기존에 display:block; 까지만 되어있을텐데style="display:block;max-width:300px;height:100px"이렇게 뒤에 코드를 추가해 형태를 고정시킬 수 있다.나는 높이 100px, 너비는 최대 300px로 만들어 보았다. data-ad-format="horizontal"data-full-width-responsive="false"auto 를 horizontal로, true를 false로 바꿔준다. 이렇게 아주 작은 형태의 광고가 만들어졌다.하지만 이는 임시방편으로
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/buBUZm/btsKS2RNXee/vAvBo5dk3T2jXTikQiyNbk/img.png)
그래프의 path그래프에는 다양한 path가 있다. 기본적인 path는 vertex에서 서로 다른 vertex로 가는 간선이다. Simple path는 시작과 끝이 같지 않은 모든 vertex와 edge가 한 번씩만 나타나는 path이다. Cycle은 시작 vertex와 끝 vertex가 동일한 simple path를 의미한다.spanning treespanning tree는 ‘신장 트리’라고도 하며 cycle 없이그래프 내의 모든 정점을 포함하는 트리를 의미한다. 때문에 정점이 n개라면 spanning tree는 n-1개의 edge를 가진다.MST vertex를 가장 적은 수의 edge로 연결한 신장 트리를 의미한다.구현방법구현 방법: Kruskal’s MST algorithmvertex의 개수 n가장..
- Total
- Today
- Yesterday
- 알뜰폰요금제
- 티스토리챌린지
- 타란튤라
- 교체
- 카시오
- 오블완
- 리브엠
- a모바일
- 알뜰 요금제
- 알리익스프레스
- 문서 스캔
- 배송기간
- f-94w
- 방어동작
- 네이버페이
- f-91w
- 맛집
- 경북대
- 할인
- 리브모바일
- 방향장
- 10만포인트
- Liiv M
- 메쉬 밴드
- 시계 줄
- 계산방법
- 북문
- mealy
- 카카오페이
- 파스타
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |