컴퓨터 공학 썸네일형 리스트형 자료구조 트리탐색 - 중위탐색(inorder) 그림으로 쉽게 이해하기 자료구조 트리탐색 - 중위탐색(inorder) 그림으로 쉽게 이해하기 안녕하세요. 로스윗의 코딩캠프입니다. 오늘은 많은 사람들이 궁금해하시고 헷갈려하시는 내용을 바탕으로 자료구조 트리탐색 - 중위탐색(inorder) 그림으로 쉽게 이해하기에 대해서 같이 알아보겠습니다. 그림으로 쉽게 이해할 수 있으니 끝까지 잘 따라와주세요 :) 바로 시작하겠습니다. - 중위탐색 inorder 이번 시간에는 트리탐색의 방법 중 하나인 중위탐색(inorder)에 대해서 알아보겠습니다. 중위탐색은 먼저 1)왼쪽 서브트리를 inorder하게 되고, 그 다음으로 2)루트노드를 방문한 다음에 마지막으로 3)오른쪽 서브트리를 중위탐색(inorder)하게 됩니다. 탐색 방식과 상관없이 시작은 항상 루트노드부터 시작하게 됩니다. 루트노.. 더보기 자료구조 트리탐색 - 전위탐색(Preorder) 그림으로 쉽게 이해하기 자료구조 트리탐색 - 전위탐색(Preorder) 그림으로 쉽게 이해하기 안녕하세요. 로스윗의 코딩캠프입니다. 오늘은 많은 사람들이 궁금해하시고 헷갈려하시는 내용을 바탕으로 자료구조 트리탐색 - 전위탐색(Preorder) 그림으로 쉽게 이해하기에 대해서 같이 알아보겠습니다. 그림으로 쉽게 이해할 수 있으니 끝까지 잘 따라와주세요 :) 바로 시작하겠습니다. - 트리순회 --> 트리순회란 트리 구조에서 각 노드를 한 번씩 방문하는 과정을 말합니다. 이번 포스팅에서는 트리를 탐색할 때 어떤 방식으로 탐색하는지 알아 볼 것입니다. 트리를 탐색하는 방법에는 크게 3가지가 있습니다. - 트리탐색의 3가지 방법 1) 첫번째는 전위탐색이라 하는 preorder 2) 두번째는 중위탐색이라 하는 inorder 3) 세번째는.. 더보기 자료구조 이진트리(Binary Tree) 그림으로 쉽게 이해하기 자료구조 이진트리(Binary Tree) 그림으로 쉽게 이해하기 안녕하세요. 로스윗의 코딩캠프입니다. 오늘은 자료구조 중에서 이진트리(Binary Tree)에 대한 포스팅을 진행하겠습니다. 그림으로 쉽게 이해할 수 있으니 끝까지 잘 따라와주세요 :) - 이진트리(Binary Tree)란? 이진트리(Binary Tree)는 트리 중에서도 각 노드가 최대 2개의 자식노드를 가질 때 이진트리(Binary Tree)라고 합니다. 최대 2개이기 때문에 자식이 없을 수도 있고, 한개만 있을 수도 있습니다. 이때 자식노드는 각각 왼쪽 자식노드와 오른쪽 자식노드로 표현을 합니다. 그래서 같은 루트에 같은 자식노드 하나를 가지고 있어도 자식노드의 위치가 각각 왼쪽과 오른쪽으로 다르다면 그 두 트리는 서로 다른 트리가 됩.. 더보기 자료구조 트리(Tree) 그림으로 쉽게 이해하기 자료구조 트리(Tree) 그림으로 쉽게 이해하기 안녕하세요. 로스윗의 코딩캠프입니다. 오늘은 자료구조 중에서 트리(Tree)에 대한 포스팅을 진행하겠습니다. 그림 으로 쉽게 이해할 수 있으니 끝까지 잘 따라와주세요 :) - 트리(Tree)란? 우선 트리(Tree)는 한 노드(Node)가 여러 노드를 가리킬수 있는 비선형적 자료구조입니다. 리스트(list)나 스택(Stack), 큐(Queue)는 데이터의 이전 데이터나 다음 데이터의 순서가 존재했었죠. 물론 트리(Tree)도 내부적으로 순서정보를 가질 수 있도록 구현할 수도 있지만 트리라는 자료구조 자체에서 데이터의 순서는 그렇게 중요한 요소는 아닙니다. 트리(Tree)는 순서보다는 데이터 구조의 계층적인 상하관계를 표현할 때 주로 사용하고, 뒤에서 다루게.. 더보기 알고리즘 퀵정렬(Quick sort) 그림으로 쉽게 이해하기 알고리즘 퀵정렬(Quick sort) 그림으로 쉽게 이해하기 안녕하세요. 로스윗의 코딩캠프입니다. 오늘은 알고리즘 정렬 중에서 퀵정렬(Quick sort)에 대한 포스팅을 진행하겠습니다. 정말 어렵지 않으니 잘 따라와주세요. - 퀵정렬(Quick sort) 시간 복잡도 퀵 정렬(Qucik sort)도 합병정렬(merge sort)과 마찬가지로 배열을 둘 씩 분할하면서 정렬하는 과정을 거치기 때문에 시간복잡도는 O(NlogN)이 됩니다. 하지만 같은 NlogN이더라도 실제 정렬에는 훨씬 더 짧은 시간이 소요 됩니다. 왜그럴까요? - 퀵정렬(Quick sort)이 합병정렬(Merge sort)보다 훨씬 더 빠른 이유 리스트(list)파트에서 배열 리스트가 메모리 공간 상에서 인접하게 위치해 있기 때문에 연산.. 더보기 알고리즘 합병정렬(Merge sort) 그림으로 쉽게 이해하기 알고리즘 합병정렬(Merge sort) 그림으로 쉽게 이해하기 안녕하세요. 로스윗의 코딩캠프입니다. 오늘은 알고리즘 정렬 중에서 합병정렬(Merge sort)에 대한 포스팅을 진행하겠습니다. 정말 어렵지 않으니 잘 따라와주세요. - 합병정렬(머지소트, Merge sort) 이번 포스팅에서는 합병정렬(머지소트, Merge sort)에 대해서 알아보도록 하겠습니다. 합병정렬(Merge sort)과 다음 포스팅에서 다룰 퀵정렬(Quick sort)이 정렬 알고리즘의 핵심이라고 보시면 될 것 같습니다. 그래서 여기서 부터는 이전에 배웠던 삽입정렬, 버블정렬의 방식과는 다르게 조금 더 복잡한 형태로 정렬을 진행하게 됩니다. 1. 합병정렬(머지소트, Merge sort) 이란? 합병정렬(Merge sort)은 1... 더보기 알고리즘 삽입정렬(Insertion sort) 그림으로 쉽게 이해하기 알고리즘 삽입정렬(Insertion sort) 그림으로 쉽게 이해하기 안녕하세요. 로스윗의 코딩캠프입니다. 오늘은 알고리즘 정렬 중에서 삽입정렬(Insertion sort)에 대한 포스팅을 진행하겠습니다. 정말 어렵지 않으니 잘 따라와주세요. 지난 포스팅에서 다룬 버블정렬(Bubble sort)는 굉장히 직관적이고 단순해서 이해하기는 쉽지만 느리기 때문에 실제로 사용하기에는 어렵다는 단점이 있다고 했습니다. 자료구조 - 버블정렬(Bubble sort)이란? (ft. 그림으로 쉽게 설명) 자료구조 - 버블정렬(Bubble sort)이란? (ft. 그림으로 쉽게 설명) 자료구조 - 버블정렬(Bubble sort)이란? (ft. 그림으로 쉽게 설명) 안녕하세요. 로스윗의 코딩캠프입니다. 오늘 포스팅에서는 버블.. 더보기 알고리즘 버블정렬(Bubble sort) 그림으로 쉽게 이해하기 알고리즘 버블정렬(Bubble sort) 그림으로 쉽게 이해하기 안녕하세요. 로스윗의 코딩캠프입니다. 오늘 포스팅에서는 버블소트(Bubble Sort)에 대해서 자세히 알려드리겠습니다. 버블소트(Bubble Sort)에 대해서 알아보기 전에 먼저 정렬의 특징에 대해서 알아봐야합니다. - 정렬의 특징 우선 정렬은 안정 정렬과 불안정 정렬로 구분할 수 있습니다. 그림처럼 정렬되어 있지 않은 리스트에 중복된 값 1이 2개가 들어있다고 가정을 해볼게요. 실제로는 동일한 1이지만 이 둘을 구분하기 위해서 스몰a와 스몰b를 붙여서 나타냈습니다. 이 리스트를 정렬 했을 때는 아래의 그림처럼 두가지 경우가 가능합니다. - 안정 정렬 vs 불안정 정렬 위의 경우는 동일한 1에 대해서 처음 그대로 a,b 순서대로 정렬이 .. 더보기 이전 1 2 3 4 5 6 다음