# 자료구조

1125개의 포스트
post-thumbnail

이진트리 후위 순회

오늘은 재귀함수에 관해 배우고 있는데 이진 트리 순회를 재귀함수로 할 수 있다는 것을 알게 되었다. 이제 재귀라는 것에 감이 조금 오기 시작했는데 그 감을 일깨워준 문제가 바로 이진 트리 순회 문제였다. 문제는 이진트리를 차례대로 순회하는 것인데 다음과 같이 풀이를

약 2시간 전
·
0개의 댓글
post-thumbnail

[자료구조] 정렬(Sorting) 10-1(삽입 정렬)

삽입 정렬은 보는 관점에 따라서 별도의 메모리를 필요로 하지 않는 "개선된 선택 정렬"과 유사하다고 느낄 수 있지만 전혀 다른 방법으로 정렬을 이뤄나간다.위 그림의 배열은 정렬이 완료된 부분과 완료되지 않은 부분으로 나뉘어 있다. 이렇듯 삽입 정렬은 정렬 되지 않은 부

약 2시간 전
·
0개의 댓글
post-thumbnail

[자료구조] 정렬(Sorting) 10-1(선택 정렬)

이번에 소개하는 선택정렬은 버블 정렬보다도 쉽고 간단한 알고리즘이다. 그림만 봐도 이해가 되지 않는가!?말 그대로 선택해서 정렬한다!그런데.. 보면 이런 생각이 들것이다"그럼 선택 정렬은 정렬결과를 담을 별도의 메모리 공간이 필요하겠네요!"위 그림 대로 진행한다면 그렇

약 3시간 전
·
0개의 댓글
post-thumbnail

[자료구조] 정렬(Sorting) 10-1(버블정렬)

버블 정렬은 정렬의 대명사로 알려져 있는 만큼 이해하기도 구현하기도 쉽다. 하지만.. 그런만큼 성능에는 아쉬움이 있다.우선 버블 정렬의 과정을 보자 ! 이렇듯 버블 정렬은 인접한 두 개의 데이터를 비교해가면서 정렬을 진행하는 방식이다. 즉! "정렬의 우선순위가 가장 낮

약 4시간 전
·
0개의 댓글
post-thumbnail

[자료구조] 포인터 함수

다른 곳에 세세히 설명 잘 되있겠지만, 내가 이해한것을 토대로 간편하게 보기위해 여기 남김!typedef 포인터 함수 선언시 \*를 붙이냐 안붙이냐에 따라서 구조체 정의가 달라질 수 있다.붙임 : 구조체 선언할때 꼭 붙인다.안붙임 : 구조체 선언시 붙이면 안된다. 파라

약 4시간 전
·
0개의 댓글

[자료구조] 스택(Stack)

스택이란?

약 7시간 전
·
0개의 댓글
post-thumbnail

[BOJ 10775] 공항 (Python)

링크처음에는 비행기를 중심으로 1번 ~ 입력받는 gi번 사이의 모든 게이트를 탐색하여 그중 비어있는 게이트에 비행기를 도킹시키려고 하였다. 시간복잡도는 O(GP)로 100,000 x 100,000 = 10,000,000,000 시간초과를 예상하였고, 다른 방법으로 풀려

약 20시간 전
·
0개의 댓글

21/04/11

오늘은 자료구조 중 하나인 트리구조에 대해서 알아봤다.개념적인 것은 다른 블로그에 잘 정리돼 있으므로 부가적인 개념을 여기에 작성해볼려 한다.트리는 일단 선형구조(리스트, 스택, 큐)가 아닌 그래프구조이다.트리의 높이에 관한 고찰총 n개의 노드가 있다면, 최대 높이가

약 22시간 전
·
0개의 댓글
post-thumbnail

[자료구조] 스택 (Stack)

선입후출(FILO:First In Last Out)구조의 자료구조책 쌓아놓고 꺼내는 과정과 비슷하다.자료구조 속 데이터가 있는지 없는지 확인해야한다. (꽉 찼는데 더 넣는 경우 or 데이터가 없는데 삭제하는 경우)c나 c++로 짤 땐, 정해진 배열의 크기로 인해 구조체

약 22시간 전
·
0개의 댓글
post-thumbnail

Javascript 자료구조05 : Tree

Tree, Binary Tree, Binary Search Tree(BST) 기초 + insert, search 기능을 구현node(노드)와 branch(브랜치 | 가지)로 이루어진 나무 모양의 자료 구조. cycle(순환)이 없음.Node : 기본 저장 단위. dat

어제
·
0개의 댓글
post-thumbnail

[자료구조] 우선순위 큐의 활용

힙의 구현결과 : UsefulHeap.h,c우선 순위 큐의 구현결과 : PriorityQueue.h,cusefulHeap.h의 typedef 선언 변경typedef char HData; -> typedef char \* HData;Main.c

어제
·
0개의 댓글
post-thumbnail

[자료구조]우선순위 큐(Priority Queue)와 힙(Heap) 힙의 구현과 우선순위 큐의 완성 9-2-4

바로 우선순위 큐의 헤더,소스,메인 다보자 ! PriorityQueue.hPriorityQueue.cPriorityQueueMain.c

어제
·
0개의 댓글
post-thumbnail

[자료구조]우선순위 큐(Priority Queue)와 힙(Heap) 힙의 구현과 우선순위 큐의 완성 9-2-3

앞선 상황들의 문제의 해결을 위한 요구사항을 다음 한 문장으로 정리할 수 있다. 프로그래머가 우선순위의 판단 기준을 힙에 설정할 수 있어야 합니다.앞서 정의한 이 구조체를 변경해야한다.이 둘을 다음과 같이 하나의 구조체로 대신하자.가장 큰 변화는 구조체 HeapElem

어제
·
0개의 댓글
post-thumbnail

[자료구조]우선순위 큐(Priority Queue)와 힙(Heap) 힙의 구현과 우선순위 큐의 완성 9-2-2

우선 좋은 모델은 아니나 이해하기 용이한 방식으로 힙을 구현한 후 보다 합리적인 형태로 변경하자 ! 우선 헤더파일을 보자 SimpleHeap.h위의 파일은 순수한 힙의 구현을 위한 헤더파일이라고 하기보다는 우선순위 큐의 구현을 염두에 두고 정의한 헤더파일이다. 이것은

어제
·
0개의 댓글

[Swift] 알고리즘 - 선택정렬

자료구조 - 선택정렬간단히 말하면, sorted() 함수를 구현하라.숫자 배열이 주어지면, 작은 순으로 나열하라...func solution(\_ numbers: inout Int) -> Int {}

어제
·
0개의 댓글
post-thumbnail

[자료구조] 우선순위 큐(Priority Queue)와 힙(Heap) 힙의 구현과 우선순위 큐의 완성 9-2-1

힙의 구현은 곧 우선순위 큐의 완성으로 이어진다고해서 이 둘이 동일하다는것은 정확하지 않는것이다. 그러므로 구분할 수 있어야한다. >힙은 우선순위 큐의 구현에 어울리는, 완전 이진 트리의 일종이라는 사실을 기억해야한다. 힙에서의 데이터 저장과정 "마지막 위치"는

어제
·
0개의 댓글
post-thumbnail

[자료구조] 이진 탐색 (Binary Search)

지난 포스팅에 이어 배열에 담겨있는 특정 데이터를 탐색하고자할때 O(N)보다 시간복잡도를 더 낮출 수 있는 이진탐색에 대해 알아보자.위 배열 중 "7" 이라는 값을 준다고 가정하자arr0를 first, arr4를 last로 놓고 mid는 (0+4)/2 값인 arr2라고

3일 전
·
0개의 댓글
post-thumbnail

[자료구조] 순차 탐색 (Linear Search)

책장 속에 뒤죽박죽 섞여있는 책들 중에 필요한 책을 꺼내야하는 상황을 생각해보자.가장 직관적이고, 간단하게 생각해볼 수 있는 방법은 바로 처음부터 찾는 책이 나올 때 까지 하나 하나 살펴보는 것이다.순차탐색은 이러한 차례로 책을 찾는 과정과 같다. arr0값부터 차례대

3일 전
·
0개의 댓글

[실버2] 2504번 : 괄호의 값

https://www.acmicpc.net/problem/2504우선 문자가 ( 또는 이면 스택에 추가해주었다)와 인 경우를 나누어 생각하는데, 스택이 비어있지 않을 경우 pop을 해주고 해당 값이 ( 또는 \[ 인지 확인해주었다괄호의 쌍이 맞으면 해당하는

3일 전
·
0개의 댓글
post-thumbnail

[자료구조] 우선순위 큐(Priority Queue)와 힙(Heap) 우선순위 큐의 이해 9-1

우선순위 큐는 이 이름에서 의미하듯이 큐와 관련있어서 "큐"를 확장하는 수준에 마무리 될 것 같지만.. 많은 차이가 있다.큐와 우선 순위 큐는 핵심연산이 enqueue dequeue 로 동일하지만..연산결과에는 차이가 있다.큐는 연산의 결과로 먼저 들어간 데이터가 먼저

3일 전
·
0개의 댓글