분류 전체보기
-
스택, 큐개발 지식/알고리즘 2020. 6. 30. 14:55
스택 (Last In First Out) (배열로 구현) peapable stack : 중간에 넣고 뺄 수 있는 스택 (LL로 구현) 하나의 공간에 두개의 스택 S1 □□□□□□□ S2 -> bottom point가 두개 다중 스택: 하나의 스택 안에 여러개의 스택이 들어가는 형태 초기 공간 분배 방법 영분배: n개의 스택을 모두 합친 뒤 모든 스택의 크기 0 균등분배: 스택을 합쳐서 저장공간 균등하게 재분배 차등분배: 스택의 이용도 추정하여 그 비융ㄹ에 따라 공간 분할 knuth's 0분배: 처음에는 모두 0, overflow가 발생할 때 마다 할당 공간 1 증가 ------------------------------------------------------------------------------..
-
메모리 관리개발 지식/알고리즘 2020. 6. 30. 14:01
Dangling Reference int *p = &a 에서 a 변수가 사라졌을 때 : int *p = (int *)malloc(sizeof(int)); int *q = p; free(p); q : ?? Garbage int *p, *q p = (int *)malloc(sizeof(int)); q = (int *)malloc(sizeof(int)); p = 0; -> 동적할당된 메모리 공간 : ?? 최초 적합 주소순으로 적합하는 방식 들어갈 수 있는 크기의 빈 영역중 첫 번째 분할 영역에 배치 최적 적합 크기순으로 적합하는 방식 들어갈 수 있는 크기의 빈 영역중 단편화를 가장 작게 남기는 분할 영역에 배치 최악 적합 최적 적합의 반대 들어갈 수 있는 크기의 빈 영역중 단편화를 가장 많이 남기는 분할 영역..
-
Linked List개발 지식/알고리즘 2020. 6. 29. 20:07
Ruby로 작성되었습니다. - Node 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 # frozen_string_literal: true class Node attr_accessor :prev, :value, :next def initialize(left, value, right) @prev = left @value = value @next = right end end node1 = Node.new(nil, 1, nil) node2 = Node.new(node1, 2, nil) node2.prev.next = node2 node3 = Node.new(node2, 3, nil) node3.prev.next = node3 puts node1.va..
-
배열 접근개발 지식/알고리즘 2020. 6. 29. 15:11
1차원 배열 접근 공식 int a[10] &a[7] = &a[0] + (7 * 4) (int 형이 4바이트 일 때) 2차원 배열 접근 공식 int a[3][4] (1,1) 행 우선 : α + (행 * 열의 갯수 + 열) + D 열 우선 : α + (열 * 행의 갯수 + 행) + D Q1. [1][1]은 몇 번째? 행 우선 : 5번째 열 우선 : 6번째 Q2. [2][1]은 몇 번째? 행 우선 : α + (2 * 4 + 1) + D = 10 열 우선 : α + (1 * 3 + 2) + D = 6 3차원 배열 접근 공식 int a[3][4][3] Q1. [2][3][2]은 몇 번째? 행 우선: ((3 * 4) * 1) + (α + (2 * 4 + 1) + D) 열 우선: ((3 * 4) * 1) + (α +..
-
선택 정렬, 버블 정렬, 퀵 정렬, 삽입 정렬개발 지식/알고리즘 2020. 6. 25. 20:37
JAVA로 작성되었습니다. - 선택 정렬 public List list_selection(List list) { int least; for (int i = 0; i list.get(j)) { least = j; } } if (i != least) { int temp = list.get(i); list.set(i, list.get(least)); list.set(least, temp); } } return list; } -버블 정렬 public List list_bubble(List list) { for (int i = li..
-