pintos에서 알람 기능이 Busy waiting으로 구현되어 있는데, 이 기능을 sleep/wake up을 이용하여 재구현.여기서 Busy waiting이란 Thread가 CPU를 점유하면서 대기하고 있는 상태로, CPU 자원 낭비, 소모 전력이 불필요하게 낭비된다
* DB는 MySQL 사용할 예정, 그 외에 lombok, thymeleaf 등을 이용 * 1. start.spring.io 에서 프로젝트 생성 위 사진과 같이 Dependency들을 추가해서 프로젝트를 생성해 줍니다. 로그인 기능은 spring-security를
호출 스택 : 호출 순서대로 쌓이며, 역순으로 실행. 즉 LIFO구조(Last In First Out)이벤트 구조 : 이벤트 발생 시, 호출할 콜백 함수들을 관리하고, 호출할 순서를 결정태스크 큐(Task Queue) : 이벤트 발생 후, 호출될 콜백 함수들이 기다리는
이벤트 기반 : 이벤트가 발생할 때, 미리 저장해둔 작업을 수행하는 방식non-blocking IO : 이전 작업이 완료될 때까지 대기하지 않고, 다음 작업을 수행ex) I/O 작업, 압축, 암호화등 수행하는데 오래 걸리는 작업만싱글 스레드 : 주어진 일을 동시에
선형 탐색이나, 이진 탐색은 모두 키를 저장된 키 값과 반복적으로 비교함으로써 탐색하고자 하는 항목에 접근한다. 이런 방법들은 최대 가능한 시간 복잡도가 O(logn)에 그친다. 이런 방법도 좋은 방법이지만, 가끔 다른 경우에는 더 빠른 탐색 알고리즘을 요구한다. 예로
정의 Adelson-Velskii와 Landis에 의해 1962년에 제안된 트리로서 각 노드에서 왼쪽 서브 트리의 높이와 오른쪽 서브 트리의 높이 차이가 1이하인 이진 탐색 트리. AVL트리는 트리가 비균형 상태가 되면 스스로 노드들을 재배치하여 균형 상태로 만든다.
순차 탐색 코드개선된 순차 탐색 코드코드(순환 호출 버전) 코드(반복을 이용한 이진 탐색)코드탐색 위치 = (55 - 3) / (91 - 3) \* (9-0) + 0 = 5.31 ≒ 5코드
무방향 그래프에서 한 정점의 진입차수와 진출차수는 같다.(양방향이므로)깊이 우선 탐색(Depth First Search)탐색 순서코드(행렬)
자료구조에는 선형, 비선형 자료구조가 있다.트리는 이 중에서 비선형 자료구조에 속한다. 특히 계층구조가 있는 가족의 가계도, 회사의 조직도, 컴퓨터의 디렉토리 구조 등의 계층적인 구조를 표현할 때 사용된다.트리의 용어들 : 트리의 종류 :
코드 설명(1) head라는 ListNode포인터를 생성(2) head를 insertLast,insertFirst라는 함수로 데이터와 함께 보낸다 \-> 함수에서 return 값으로 노드를 받는다. head가 NULL이 아닐 때, head의 마지막에 노드를
코드 설명 (1) head라는 노드를 동적으로 생성한다. (2) 초기화 작업을 해준다. (3) for문을 돌려서 0,1,2,3,4 head에 삽입한다. 삽입하는 함수에서도 동적으로 새로운 노드를 생성한 후, 생성한 노드에 데이터를 삽입하고 llink는 앞에 노드를
설명 : c언어를 활용해 원형 덱을 작성. 첫 번째 for문에서는 front에 데이터를 넣고 front를 앞으로 이동킨다. 두 번째 for문에서는 rear에서 데이터를 빼고 rear뒤로 front쪽으로 점점 이동시킨다.
설명 : 첫 번째 for문에서 생성한 q에 1부터 10까지 넣고 두 번째 for문에서 선입선출에 따라 1부터 10까지 차례로 데이터를 삭제한다.