일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 자바
- c언어
- 자료구조
- redis
- JavaScript
- 알고리즘
- Proxy
- Data Structure
- 컴퓨터구조
- IT
- react
- Galera Cluster
- Java
- C
- spring webflux
- mongoDB
- design pattern
- 운영체제
- 네트워크
- JPA
- 파이썬
- Algorithm
- Heap
- MySQL
- Spring
- 백준
- Kafka
- OS
- 디자인 패턴
- MSA
- Today
- Total
목록전체 글 (211)
시냅스
단일 연결 리스트 (Singly Linked List) 단일 연결 리스트는 각 노드들이 한 줄로 연결되어 있는 자료구조이다. 이름에서 말하듯이 데이터를 담고 있는 노드들이 연결되어 있는데, 노드의 포인터가 다음이나 이전의 노드와의 연결을 담당하게 된다. 연결 리스트는 늘어선 노드의 중간지점에서도 자료의 추가와 삭제가 O(1)의 시간에 가능하다는 장점을 갖는다. (다만, 오늘 구현할 것은 tail을 갖지 않는 linked list로 1번의 반복문을 거치게 된다.) 다만, 기존 링크를 해제하거나 삽입할 때에는 기존 링크의 전이나 다음 노드 관리에 대해 유의해야 한다. 또한 배열이나 트리 구조와는 달리 특정 위치의 데이터를 검색해 내는데에는 O(n)의 시간이 걸리는 단점도 갖고 있다. 특히 단일 연결 리스트는..
배열 리스트 (Array List) 배열리스트는 자료를 순서대로 저장하는 자료구조로, 논리적 순서(저장)와 물리적 순서(저장)가 동일하다. 원소의 위치 인덱스는 0부터 시작하고, 정적배열로 최대 갯수가 정해져 있고,이는 배열과 동일하다. C에서는 라이브러리로 배열리스트를 지원하지 않기 때문에, 개발자가 직접 구현해야하는 기능으로는, 리스트 생성 원소 추가 원소 추가 가능 여부 판단 원소 반환 원소 제거 리스트 초기화 리스트 삭제 를 꼽을 수 있다. 특징 저장순서가 순차적이기 때문에 Index가 곧 위치로, 탐색(O(1))에 용이하지만, 배열이 공백을 허용하지 않아 삽입이나 삭제 시에는 노드가 끊기지 않아야 하기 때문에, 삽입이 됐을 떄에는 기존 노드를 뒤로 미루거나, 삭제가 됐을 때에는 원래 노드들을 앞..
멀티 쓰레딩 cpu를 넘나들 수 없음, 커널 support 없음 user thread : e.g. Java Kerner thread 코어에서 직접 쓰레딩을 할 수 있게 관리 한다. 운영체제가 직접 manage 다중 쓰레드 Multithreading models many to one : 가장 기본, 여러 유저 쓰레드 대 하나의 커널 쓰레드 one to one many to many 스레드 라이브러리 Threads Library 스레드 create manage하는 API 제공 POSIX Pthreads Windows thread Java thread : 운영체제에 따라 POSIX Pthread or Windows thread, 운영체제에 종속적이다. 암묵적 스레딩 implitcit threading 병행, ..