자료구조(data structure)는 다뤄야하는 데이터가 많은 경우 이를 다루는 방법으로, 알고리즘을 구현하는데 사용한다. 자료구조를 물리적으로 구현하는 방법은 리스트와 연결리스트 두 가지 방법이 있다.List : 각 데이터를 연속적으로 저장하는 기술Linked Li
리스트형 자료구조는 연속적인 저장의 형태를 가지며, 두 가지가 있다.배열 : 크기가 변하지 않는 리스트형 자료구조, 중간의 값을 지워도 빈칸을 유지한다.리스트 : 크기각 변하는 자료구조, 중간의 값을 지우면 뒤의 것이 그 자리를 채우려고 앞으로 이동한다.그럼 자바스크립
Linked List 자료구조는 각 데이터가 데이터 그 자체 외에도 이전 혹은 다음 데이터를 가르키는 정보를 갖고 있는 구조이다. Linked List : 각 데이터가 (데이터 + 다음 데이터의 포인터)로 이뤄져있고, 한 방향으로만 탐색 가능하다. Doubly Li
이번 시간에는 해시테이블을 공부해도록 하죠. 자바스크립트에서 흔히 사용되는 객체는 키 - 값이 하나의 쌍으로 연관되어있습니다. 이렇게 동작하는 방식이 해쉬테이블과 유사합니다.해쉬테이블도 키를 통해 값을 매핑할 수 있는 자료 구조입니다. 위의 그림을 보면 연필, 볼펜,
트리 구조란? https://s3-us-west-2.amazonaws.com/secure.notion-static.com/f9f30162-157d-4b10-bd25-ff0369a41c47/Untitled.png 오늘은 트리 구조에 대해서 알아보겠습니다. 트리라는 이
이진탐색트리 설명에 앞서 이진트리를 설명해보겠습니다. 여러개의 자식을 가질 수 있는 트리와는 다르게 이진트리는 최대 2개의 자식만을 가질 수 있는 트리입니다.그럼 이진탐색트리는 뭘까요? 이진탐색트리는 이진트리에서 2개의 규칙을 적용한 트리를 말합니다. 2개의 규칙은 아
큐는 FIFO(First In First Out) 먼저 들어가 데이터가 먼저 나오는 형식의 자료구조입니다. 순서를 지키기 때문에 주로 버퍼에 사용됩니다. 다들 아시는 내용이니 바로 구현을 해보죠.그런데 배열을 활용해 큐를 구현하게 되면 문제점이 있습니다. shift()
안녕하세요. 이번 시간에는 그 동안 배운 c언어를 활용해서 스택을 구현해보겠습니다. c언어의 구조체와 동적할당을 활용해서 스택을 구현해봤습니다.
안녕하세요. 이번 시간에는 선형큐, 원형큐 그리고 덱에 대해 알아보겠습니다. 원형큐와 선형큐의 기능은 덱이 모두 가지고 있기 때문에 구현은 덱만 해보도록 하겠습니다.일반적으로 많이 알고 있는 1차원 배열을 이용한 자료구조입니다. front, rear를 활용해 삽입, 삭
단순 연결리스트는 마지막 노드가 NULL을 가르키고 있는 반면에, 원형 연결리스트는 마지막 노드가 맨 처음 노드를 가르킵니다. 따라서 모든 노드를 순회할 수 있습니다.단순 연결리스트의 마지막에 노드를 삽입하려고 하면 head부터 O(n)만큼의 검색을 해야하는데 원형 연
이진 탐색트리는 이진트리를 기반으로 탐색을 위한 자료구조입니다. root노드보다 작은 경우 왼쪽 서브트리, 큰 경우 오른쪽 서브트리의 노드로 위치합니다.서브트리가 한 쪽만 있는 경우가 최악의 경우이며 이때의 시간복잡도는 O(n)에 해당됩니다.이진 탐색트리에서 탐색, 삽
그래프는 객체 사이의 연결 관계를 표현할 수 있는 자료 구조입니다.(지하철 노선도, 프로세스 자원 관계, 데드락 분석)트리도 그래프의 한 종류이기 때문에 그래프에서도 비슷한 용어가 사용됩니다. 그래프를 표현하는 방법은 크게 2가지인데, 인접행렬과 인접리스트를 활용하는