| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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++
- 비트코인
- 템플릿 함수화
- template
- #선물 #비트코인#알트코인#매매#코인#마진
- 연결 리스트
- 후위
- mutable
- 순회
- Windows
- 기초
- Basic
- BST
- 오버로딩
- SCM
- Tree
- 이진 탐색 트리
- Python
- 바이낸스
- 자료구조
- 트리
- array
- 전위
- 선물
- 알고리즘
- linked list
- 문자열
- 숫자
- trading view
- Data Structure
- Today
- Total
목록전체 글 (37)
Project Hub
스택 (Stack) 먼저 들어온 데이터가 나중에 나가는 LIFO(Last-In First-Out)구조 스택의 구현도 여러 형태로 가능하다. (리스트, 배열, 템플릿 등등) 큐와 마찬가지로 세 가지 형태로 구현을 해봤다. 1. 연결 리스트를 이용한 스택 데이터 구조 struct Stack { int iData; Stack* next; }; 함수 Push bool CStack::Push(int iData) { Stack* newData; newData = (Stack*)malloc(sizeof(Stack)); if (NULL == newData) return false; newData->iData = iData; if (NULL == m_Top) { m_Top = m_Bottom = newData; } el..
큐(Queue) 먼저 들어간 데이터가 먼저 반환되는 FIFO(First-In First-Out) 구조. 큐의 구현은 배열, 연결 리스트 등을 이용해 구현 가능하다. 일반적인 큐와 circuler queue 등이 존재한다. 큐의 구현은 3가지 형식으로 구현을 해봤다. 1. 연결 리스트를 이용한 큐 데이터 구조 struct Queue { int iData; Queue* next; }; 함수 EnQueue bool CQueue::EnQueue(int _iData) { bool bRet = false; Queue* newNode; newNode = (Queue*)malloc(sizeof(Queue)); if (NULL == newNode) return false; newNode->iData = _iData; i..
이중 연결 리스트 (Doubly Linked List) 각 노드가 선행 노드와 후속 노드에 대한 링크를 가지는 리스트 저번에 구현한 단일 연결 리스트에 이어서 이중 연결 리스트를 구현해봤다. 크게 어려운 것은 없었지만, 노드와 노드간 관계를 재정의 하는 것 (추가, 삭제 등)에 있어서 주의가 필요할 듯 하다. 이중 연결 리스트의 구조는 아래 그림을 참고하면 된다. 여기서 head / tail 노드는 관리를 위한 노드며, 데이터는 없다. template 를 이용하여 이중 연결 리스트 클래스를 먼저 구현해보았다. 이중 연결 리스트의 데이터 구조 Node 구조체 struct Node { int iValue; Node *next; // 다음 노드 Node *prev; // 이전 노드 }; 연결 리스트 관리 구조..
연결 리스트(Linked List) - 포인터로 구현 데이터의 집합을 저장하기 위해 사용되는 데이터 연속되는 항목들이 포인터로 연결 동적으로 리스트의 크기가 커지거나 줄어들 수 있음 필요한 만큼 메모리를 사용하기 때문에 불필요한 메모리를 낭비하지 않음 연결 리스트를 배열로 구현 할 경우, 속도가 빠르지만, 일정한 메모리를 미리 확보해야 한다는 단점이 있다. 연결 리스트를 포인터를 이용하여 구현할 경우, 필요한 만큼 객체를 생성하기 때문에 낭비되는 부분이 없다. 하지만 포인터를 저장하는 공간이 필요하기 때문에 객체 1개당 필요한 메모리가 배열보다 커진다는 단점이 있다. 아래의 코드는 포인터를 이용한 단일 연결 리스트(Singly Linked List)를 구현했다. 우선, 연결 리스트를 관리하기 위한 구조체..
객체 Python 의 모든 데이터 타입은 객체(object)다. 객체에는 가변객체(mutable)와 불변객체(immutable)가 있다. 객체에는 3가지 특성인 값, 유형, 정체성이 있다. 값(Value): 가변 객체는 값이 변할 수 있다. 반면에 불변 객체는 값이 변하지 않는다. 유형(type): type() 함수를 통해 객체의 유형, 데이터 타입을 알 수 있다. 정체성((Identity): id() 함수를 통해 각각의 객체를 식별하기 위한 고유 번호를 알 수 있다. 보통의 경우, 불변 객체 타입이 가변 객체 타입보다 효율적이다. 가변 객체 객체 생성 이후 값을 변경할 수 있는 객체를 의미한다. list, set, dict 가 가변 객체에 속한다. mutable_obj = [1,2,3,4] >>> mu..
SCM 으로 서비스에 등록 할 ServiceApp을 구현하였다. 구현 중에 발생한 문제 구현 시, 테스트를 위해 windows event 객체를 생성하였는데 처음에는 ServiceApp에서 CreateEvent 를 하였다. 하지만, 원인은 모르지만 SCM에서 해당 이벤트 객체를 signal 상태로 변경하기 위해 OpenEvent를 하였는데 액세스 거부 에러가 발생하였다. 그래서 SCM 시작 시, Global 이벤트 객체를 생성하고, 그 후에 ServiceApp 에서 접근하도록 변경하였고 의도하는 동작대로 수행되었다. ServiceApp class의 기본 구조 #pragma once #include #include #define SERVICE_NAME L"Safy" #define EVENT_NAMEL"Gl..