자료구조
자료구조는 데이터를 저장하고 관리하는 방법이다.
배열, 링크드리스트, 스택, 큐 등이 자주쓰이는 자료구조이다.
배열(Array)
같은 타입의 데이터를 연속적인 메모리 공간에 저장하는 자료구조이다. 배열의 각 요소는 인덱스로 접근할 수 있다.
링크드리스트(Linked List)
데이터를 노드로 표현하고 노드들을 포인터로 연결하여 저장하는 자료구조이다. 링크드리스트는 데이터의 삽입과 삭제가 용이하다.
스택(Stack)
후입선출(LIFO)방식으로 스택의 가장 위에있는 데이터만 접근할 수 있으며, 데이터의 삽입과 삭제가 스택의 가장 위에서만 이루어진다.
큐(Queue)
선입선출(FIFO)방식으로 큐의 가장 앞에 있는 데이터만 접근할 수 있으며, 데이터의 삽입은 큐의 뒤에서 이루어지고 삭제는 큐의 앞에서 이루어진다.
알고리즘
알고리즘은 저장된 데이터를 찾거나 변형, 수정할 때 필요한 방법이다.
검색 알고리즘, 정렬 알고리즘, 그래프 알고리즘 등이 자주 쓰이는 알고리즘이다.
검색 알고리즘
데이터 집합에서 특정 데이터를 찾는 알고리즘으로, 이진 검색과 선형 검색이 대표적인 검색 알고리즘이다.
정렬 알고리즘
데이터 집합을 특정 순서로 정렬하는 알고리즘으로, 버블 정렬, 선택 정렬, 삽입 정렬, 퀵 정렬 등이 대표적인 정렬 알고리즘이다.
그래프 알고리즘
그래프 구조에서 최단 경로를 찾거나 최소 신장 트리를 구하는 등의 문제를 해결하는 알고리즘이다. 다익스트라(Dijkstra) 알고리즘과 프림 알고리즘이 대표적인 그래프 알고리즘이다.