2. 알고리즘의 효율성 및 기초 자료구조
- 알고리즘/Algorithm(학습)
- · 2022. 11. 4.
1. Algorithm 과목 소개
- 알고리즘/Algorithm(학습)
- · 2022. 11. 4.
개요 안녕하세요, Readder입니다. 이번에는 비선형 자료구조에 대해서 배워보겠습니다. 자료구조를 처음 접하시는 많은 분들이 선형 자료구조까지는 힘들었지만 놓지 않고 잘 따라오시다가, 비선형 자료구조를 배우기 시작할 때 놔버리시는 경우가 많다고 들었습니다. 맨 처음 비선형 자료구조를 접할 때는 이전과는 다른 저장 방식에 당황스러우실 수 있어서, 저 나름 이런 패턴을 통해 접근하는 게 좋다고 생각합니다. 1. 코드로 어떻게 구현될지에 대한 생각을 완전히 배제하고 저장 방식만 이해한다. 2. 코드를 제외하고 저장 방식에 대해서 아무 도움 없이 혼자서 그려본다. 3. 코드로 어떻게 구현될지를 생각하며 글을 처음부터 다시 본다. 4. 직접 구현할 수 있다면 좋겠지만, 그렇지 못할 경우 코드를 보고 따라하며 구..
개요 안녕하세요, Readder입니다. 지난번에 자료구조를 큰 틀에서 나누어 어떤 종류가 있다는 것을 설명드렸습니다. 일렬로 나란히 저장되는 자료구조를 선형 자료구조, 그렇지 않고 데이터가 여러 갈래로 뻗어 나가는 것이 비선형 자료구조라고 말씀드렸습니다. 오늘은 그중에서도 대표적인 선형 자료구조들에 대해서 소개드리고자 합니다. 지난 챕터에서 말씀드렸다시피, 각 자료구조들이 어떤 방식으로 저장하는지, 활용도는 어디에 쓰이고 시간 복잡도는 얼마인지 구분하는 데에 초점을 맞추세요. 또, 한 번에 이해가 안 가고, 직접 구현하실 때 막상 구현하려니 감이 안 잡히실 수 있어요. 원래 자료구조와 이후에 학습하실 알고리즘은 한 번에 이해하기 쉽지 않기 때문에 너무 한 번에 모든 것을 이해하시려고 하기보다는 며칠에 나..
개요 안녕하세요, Readder입니다. 이전에 말씀드렸듯이, 자료구조는 간단히 말해서 데이터를 저장하는 공간이에요. 현실 세계로 예로 들자면 책을 보관하는 도서관, 옷들을 보관하는 옷장처럼 프로그래밍에서 어떤 데이터를 저장하기 위한 공간으로 자료구조라고 하는 거죠. 다만, 우리는 프로그래머로서 데이터들을 대충대충 저장하는 것이 아니라, 올바른 용도에 좋은 효율로 저장해야죠. 그리고 이미 똑똑한 선배 프로그래머, 관련 학자 분들이 정립한 자료구조가 있고, 일반적으로 이 목록들을 자료구조라고 합니다. 그러니까, 자료구조는 정의상으로는 데이터를 저장하는 공간이지만, 실제 사람들이 자료구조를 아느냐고 물을 때는 학자와 프로그래머들이 대표적으로 정의한 자료구조들에 대해 아느냐고 묻는 거죠. 자료구조의 종류와 특징..
안녕하세요, Readder입니다. 이전에는 자료구조란 어떤 것이고, 왜 자료구조라는 것이 필요하고, 왜 우리가 알아야 하는지에 대해 간단하게 정리해 보았습니다. 이번에는 자료구조 기초. 즉, 자료구조를 이해하기 위해 반드시 알아야 할 사항들에 대해서 정리해 보고, 다음 챕터부터는 자료구조에 대해 실질적으로 학습을 진행해보고자 합니다. 자료 구조의 예시와 그 자료구조를 하나 하나 뜯어보기 전에, 제가 생각하기에는 다음과 같은 지식이 필요합니다. 1. 하나의 언어에 대한 전반적인 지식 2. 빅오 표기법과 복잡도 이에 대해 하나씩 설명해보도록 하겠습니다 1. 하나의 언어에 대한 전반적인 지식 첫 언어를 어떤 것으로 시작하셨든 상관 없습니다. C, C++, Java, Python 등 많은 프로그래밍 언어가 있고..