CS31 [알고리즘] 정렬 알고리즘(Sorting algorithm) (1) 정렬(Sort)이란? 정렬이란, 주어진 데이터를 정해진 기준에 따라 순서를 재배열하는 작업을 말한다. 정렬 알고리즘의 종류 매우 다양한 정렬 알고리즘이 존재하지만, 대표적인 것들만 나열해보면 버블 정렬(Bubble sort) 선택 정렬(Selection sort) 삽입 정렬(Insertion sort) 병합 정렬(Merge sort) 퀵 정렬(Quick sort) 등이 있다. 특히, 병합 정렬과 퀵 정렬은 복잡하지만 효율적인 정렬로 분류된다. 그렇다면, 모든 경우에 대해 퀵 정렬이나 병합 정렬을 적용하는것이 유리할까? 결론부터 말하자면, 그렇지 않다. 모든 경우에 대해 최적의 성능을 보여주는 정렬 알고리즘은 존재하지 않는다. 그렇기 때문에, 각 상황에 맞게 최적의 정렬 알고리즘을 선택하여 적용해야만 한다.. 2022. 7. 18. [자료구조] 큐(Queue)의 개념과 구현(2) 2022.07.11 - [자료구조&알고리즘] - [자료구조] 큐(Queue)의 개념과 구현(1) [자료구조] 큐(Queue)의 개념과 구현(1) 큐(Queue)란? 큐는 먼저 들어온 데이터가 먼저 나가는 특성인 선입선출(FIFO)의 특징을 가진 선형 자료구조이다. 큐는 뒤쪽(rear)에서 데이터가 삽입되고, 앞쪽(front)에서 데이터 삭제가 이루어진다. gbdai.tistory.com 지난 글에서는 단순한 형태의 큐에 대해서 알아보았다. 큐를 구현하는 방법은 크게 두 가지가 있는데 연결 리스트를 이용한 큐의 구현 배열을 이용한 큐의 구현 하나씩 알아보도록 하겠다. 연결 리스트를 이용한 큐의 구현 이중 연결 리스트를 이용하여, 새로 추가한 데이터를 리스트 맨 앞에 삽입하는 방식이다. 그림으로 보면 다음과.. 2022. 7. 11. [자료구조] 큐(Queue)의 개념과 구현(1) 큐(Queue)란? 큐는 먼저 들어온 데이터가 먼저 나가는 특성인 선입선출(FIFO)의 특징을 가진 선형 자료구조이다. 큐는 뒤쪽(rear)에서 데이터가 삽입되고, 앞쪽(front)에서 데이터 삭제가 이루어진다. 스택(Stack)과의 차이점 스택(Stack)은 데이터의 삽입과 삭제가 같은 곳(top)에서 이루어지지만, 큐는 데이터의 삽입과 삭제가 다른 곳에서 수행된다. 또한 후입선출(LIFO)의 특징을 가진 스택과는 달리, 큐는 선입선출(FIFO)의 특징을 가지고 있다. 큐의 삽입과 삭제 enqueue : 큐의 맨 뒤(rear)에 원소를 추가 - push() dequeue : 큐의 맨 앞(front)에 있는 원소를 삭제 - pop() 그림과 함께 차례대로 살펴보겠다. 먼저 enqueue(30)을 실행하면.. 2022. 7. 11. [자료구조] 연결 리스트(Linked list)와 구현 (2) 지난 게시글에서는 단순 연결 리스트에 관해 작성하였다. 연결 리스트(1) - 단순 연결 리스트 [자료구조] 연결 리스트(Linked list)와 구현 (1) 연결 리스트(Linked list) 연결 리스트란 데이터(data)와 링크(link)로 구성된 개별의 노드(Node)로 연결되어 있는 자료 구조이다. 데이터(data)는 정수, 실수, 문자열 등 말 그대로 데이터를 담고 있고, 링 gbdai.tistory.com 이번 게시글에서는 단순 연결 리스트에 이전 노드로의 링크를 추가한 이중 연결 리스트에 관해 작성해보겠다. 이중 연결 리스트(Doubly linked list) 이중 연결 리스트는 이전 노드와 다음 노드에 대한 링크를 가지고 있는 연결 리스트이며, 양방향 순회가 가능하다는 특징을 가지고 있다... 2022. 6. 27. [자료구조] 연결 리스트(Linked list)와 구현 (1) 연결 리스트(Linked list) 연결 리스트란 데이터(data)와 링크(link)로 구성된 개별의 노드(Node)로 연결되어 있는 자료 구조이다. 데이터(data)는 정수, 실수, 문자열 등 말 그대로 데이터를 담고 있고, 링크(link)는 다음 노드를 가리키는 포인터이다. 노드(node)는 데이터와 링크로 이루어진 연결 리스트 구성 단위로써, 연결 리스트의 각 노드들은 이 링크로 연결되어진다. 연결 리스트의 종류 단순 연결 리스트 다음 노드에 대한 링크만 가지고 있으며, 한쪽 방향으로만 순회가 가능하다 이중 연결 리스트 이전 노드와 다음 노드에 대한 링크를 가지고 있으며, 양방향 순회가 가능하다 원형 연결 리스트 연결 리스트의 마지막 노드 링크가 처음 노드를 가리키도록 구성한 연결 리스트이며, 처음.. 2022. 6. 26. 이전 1 ··· 3 4 5 6 7 다음