목차 [면접을 위한 CS 전공지식 노트] 는 C++ 기반의 자료구조를 다루고 있다. 자료구조는 크게 선형과 비선형의 구조로 나뉜다. 💡 선형 자료 구조란? : 자료를 구성하는 데이터를 일렬로 나열되어 있는 자료 구조를 말한다. 대표적인 자료구조 선형구조 : 배열, 연결리스트, 스택, 큐, 데크 비선형구조 : 트리, 그래프 1. 연결 리스트(Linked List) 💡 연결리스트 : 데이터를 감싼 노드를 포인터로 연결해서 공간적인 효율성을 극대화시킨 자료구조이다. 삽입/삭제 : O(1) 탐색 : O(n) 연결리스트는 크게 세 가지로 구분 된다. 싱글 연결 리스트 이중 연결 리스트 원형 이중 연결 리스트 연결리스트의 가장 큰 장점은 리스트의 길이가 가변적이란 것이다. 메모리 할당이 따로 필요가 없기 때문에 삽..
목차 1. 자료구조 💡 자료구조란? : 효율적으로 데이터를 관리하고 수정, 삭제, 탐색, 저장할 수 있는 데이터의 집합 우리가 자료구조를 배우는 이유는 다음과 같다. 데이터를 체계적으로 저장하고, 효율적으로 활용할 수 있다. 자료구조를 알면 특정한 상황에 놓인 문제를 수월하게 해결할 수 있다. [면접을 위한 CS 전공지식 노트] 는 C++ 기반의 자료구조를 다루고 있다. 2. 복잡도 좋은 알고리즘이란 실행 시간도 짧으면서 저장공간도 적게 쓰는 알고리즘이다. 하지만 두 가지를 다 만족하기는 어렵고, 시간과 공간은 대체적으로 반비례적인 경향이 있다. 최근에는 대용량 시스템이 보편화 됐으므로 프로그램을 구현할 때에는 공간복잡도보다는 시간복잡도가 우선이 된다. 2.1 시간 복잡도 (Time Complexity)..