일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JSON
- 이스케이프 문자
- s
- C 언어 코딩 도장
- stream
- Graph
- C programming
- list 컬렉션
- buffer
- Serialization
- Stack
- R
- coding test
- 윤성우 열혈자료구조
- 이것이 자바다
- 메모리구조
- insertion sort
- 윤성우의 열혈 자료구조
- 혼자 공부하는 C언어
- Selection Sorting
- Algorithm
- 알기쉬운 알고리즘
- datastructure
- Today
- Total
목록Computer Science (80)
Engineering Note

주문관리 시스템 연결리스트로 구현하기 주문 관리 시스템 (연결 리스트) (요구사항은 앞 문제와 같습니다. 그러나 연결 리스트를 이용해 구현해주세요.) 이번 실습 문제에서는 주문 관리 시스템을 구현합니다. 이 주문 관리 시스템은 총 3가지 기능을 지원해야 합니다. 이는 주문생성, 주문취소, 주문조회입니다. 각각의 자세한 설명은 다음과 같습니다. 주문생성: 고객이 쇼핑몰에서 주문을 하게 되면 이 주문은 고유의 주문번호를 갖게 되고, 이 주문번호가 주문 관리 시스템에 등록됩니다. 물론 고객은 여러 명이기 때문에 주문관리시스템 내에 등록된 주문 번호가 여러 개 있을 수 있으며, 먼저 주문을 한 주문번호가 먼저 처리되는 구조입니다. 주문취소: 고객의 요청에 따라 주문은 취소가 될 수도 있습니다. 주문이 취소될 경..
def gcd(a,b): if b == 0: return a else: return gcd(b, a % b) print(gcd(35,14))
자료구조 프로그램에서 사용하기 위한 자료를 기억장치의 공간 내에 저장하는 방법과 저장된 그룹 내에 존재하는 자료 간의 관계, 처리 방법 등을 연구 분석 하는 것 자료구조의 이용 정렬 - 기억장치 내의 자료를 일정한 순서에 의해 나열하는 것 검색 - 기억장치 내의 자료를 찾는 것 파일 편성 - 자료를 기억 매체에 저장할 때의 파일 구조 인덱스 - 파일에서 특정 자료를 빠르게 찾기 위한 색인표 자료구조의 분류와 차이점 선형 자료구조 스택, 큐, 리스트(선형리스트, 연결리스트), 데크 비선형 자료구조 트리, 그래프 선형 리스트와 연결 리스트의 차이 둘다 순서가 존재하는 리스트 자료형이지만 차이가 있다. 선형리스트는 기억 장치 내에 연속적으로 메모리 주소 공간을 가지므로 포인터 연산처럼 인덱스로 접근하기가 용이..

위 그래프를 인접리스트 형태로 표현 해보았다. 먼저 C++의 대괄호([]) 연산자를 이용해 vector 5개를 선언했다. v1,v2가 연결되어 있다고 하면 아래와 같이 작성할 수 있다. map[v1].push_back(v2);// map[v1] 벡터에 v2데이터 추가 #include #include using namespace std; int main() { vector map[5]; //v[0]은 사용 안함 //vector map[1]은 노드 1에 연결된 노드정보 인접리스트형태로 저장 map[1].push_back(2);//map[1][0]에 2라는 데이터가 저장 map[1].push_back(3);//map[1][1]에 3이라는 데이터가 저장 map[1].push_back(4);//map[1][2]에..

Breadth-First Search 넓이 우선 탐색 트리, 그래프 탐색의 대표적인 알고리즘으로 레벨탐색이라고도 불린다. 부모노드의 연결된 자식노드를 모두 탐색한 후 다시 자식노드의 연결된 다음 레벨의 자식노드를 탐색하는 방식이다. DFS(깊이우선탐색)과 반대로 넓이를 먼저 탐색하고 다음 레벨을 탐색하는 완전탐색방법이다. DFS에서는 스택 자료구조를 사용하지만 BFS는 큐를 사용한다. 사용한 자료구조 큐 First In First Out(선입선출 방식의 데이터 구조로 먼저 들어간 데이터를 먼저 삭제하는 자료구조) 위와 같이 이진트리가 주어졌을 때 BFS 그래프 탐색을 구현해 보았다. 우선 이진트리는 C++의 vector 자료구조를 활용해 인접리스트 방식으로 구현한 후 1번 노드 부터 탐색을 진행하도록 코..
백트래킹 여러 후보해 중에서 특정 조건을 충족시키는 모든 해를 찾는 알고리즘 백트래킹이 다루는 문제들은 해가 하나 이상 존재합니다. 해가 둘일 수도, 셋일 수도, 수백, 수천 개일 수도 있습니다. 후보해가 많은 문제에서 해가 될 조건을 만족시키는 '진짜 해'를 효율적으로 찾는 것이 백트랙킹의 목적인것입니다. 트리에서 깊이 우선 처럼 탐색을 해나가면서 중간에 조건을 만족하지 않으면 다시 부모 노드로 돌아가 다른 길을 찾아 가는 것입니다.

순열 알고리즘 순열 알고리즘을 직접 구현하기 위해서는 어릴적 수형도를 그릴때를 생각하면 조금 쉽다. {'A','B','C'} 이렇게 A , B, C라는 3개의 데이터가 있을때 가장 첫 번째 올 수 있는 경우는 'A'가 첫 번째 오는 경우 'B'가 첫 번째 오는 경우 ' 'C'가 첫번째 오는 경우' 세가지 시작값을 정하는 초기 경우를 for문으로 구현하고 나머지 배열은 이렇게 세가지 경우로 부터 각각 재귀적으로 다음 단계를 수행하면 된다. 코드 #include char copy[] = {'A','B','C'}; void permutaion(char arr[], int start, int end); void printArray(char arr[], int size); void swap(char arr[], ..
링커 여러개의 모듈로 나누어서 설계된 프로그램을 하나의 프로그램으로 연결하여 함께 실행 될 수 있도록 하는 것을 링크라고 하고 이 일을 하는 시스템 프로그램을 링커(linker)라 부른다. 로더 링커는 모듈 내에 다른 모듈에서 정의된 기호(외부 기호)를 참조하는 외부 참조가 있으면 이 외부기호에 값(상대 주소)을 주어 각 모듈들을 연결한다. 이와 같이 만들어진 모듈을 적재(load) 모듈이라고 하는데, 이러한 적재 모듈을 기억 장치에 적재하는 것을 loader라고 한다.