2025년, 코딩은 선택이 아닌 필수!

2025년 모든 학교에서 코딩이 시작 됩니다. 먼저 준비하는 사람만이 기술을 선도해 갑니다~

2020/11/17 3

[자료구조] 우선순위큐(Priority Queue)

우선순위큐(Priority Queue) 란? 우선순위를 가진 항목들을 저장하는 큐 FIFO 순서가 아니라 우선순위가 높은 데이터가 먼저 나가게 된다. 응용분야 - 시뮬레이션 시스템 - 네트워크 트래픽 제어 - 운영체제에서의 작업 스케줄링 우선순위큐 STL 기본 형태 priority_queue : 원하는 자료형 및 클래스 T를 통해 생성, 여기서 Container는 Vector와 같은 컨테이너 이며 Compare 는 비교 함수 클래스(단,Compare 조건에서 참인 것이 후 순위로 밀린다.) 우선순위큐 함수 push(element) : 우선순위 큐에 추가 pop() : 원소 삭제 top() : top에 있는 원소를 반환 empty() : 비어있으면 true 아니면 false size() : 우선 순위 큐에..

[자료구조]링크드 리스트(Linked List)

선형리스트 - 배열에서 원소 삽입 방법을 살펴 보자. 질문) 위와 같은 경우 배열의 데이터가 1억개 인경우 0 번지에 데이터를 삽입 하기 위해서 몇번 연산을 해야 할까? - 배열에서 원소 삭제 방법을 살펴 보자. 질문) 위와 같은 경우 배열의 데이터가 1억개 인경우 0 번지에 데이터를 삭제 하기 위해서 몇번 연산을 해야 할까? 순차 자료구조의 문제점 - 삽입 연산이나 삭제 연산 후에 연속적인 물리 주소를 유지하기 위해서 원소들을 이동시키는 추가 작업과 시간 소요 - 원소들의 이동 작업으로 인한 오버헤드로 원소의 개수가 많고 삽입・삭제 연산이 많이 발생하는 경우에 성능상의 문제 발생 - 순차 자료구조는 배열을 이용해 구현하기 때문에 배열이 갖고 있는 메모리 사용의 비효율성 문제를 그대로 가짐 - 순차 자료..

[알고리즘]알고리즘 수행시간을 비교해 볼까?

알고리즘이란? - 입력 : 외부에서 제공되는 자료가 0개 이상 제공된다. - 출력 : 적어도 2개 이상의 서로 다른 결과를 내어야 한다.( 즉 모든 입력에서 하나의 출력이 나오면 안됨) - 명확성 : 수행 과정은 명확하고 모호하지 않은 명령어로 구성 - 유한성 : 유한번의 명령을 수행 후 종료된다. - 효율성 : 모든 과정은 명백하게 실행가능(검증가능) 한것이어야 한다. 좋은 알고리즘이란? - 정확성 : 적당한 입력에 대해서 유한 시간내에 답을 산출하는가? 를 판단. - 작업량 : 전체 알고리즘에서 수행되는 가장 중요한 연산들만으로 작업량을 측정 - 기억장소 사용량 : 수행 과정에서 필요한 저장공간 - 최적성 : 그 알고리즘보다 더 적은 연산을 수행하는 알고리즘은 없는가? (단, 최적이란 가장 '잘 알려..