본문 바로가기

CS 이론12

추상 자료형(Abstract Data Type)을 왜 알아야 할까 자료구조를 배우기도 전에 추상 자료형을 배워야 하는 게 좀 이상할 수 있다. 하지만, 특정한 자료구조는 추상 자료형을 구현한 것에 지나지 않는다. 똑같은 추상 자료형도, 다양한 방법과 다양한 프로그래밍 언어로 구현할 수 있고, 구현을 하기 전에 규칙을 정의하는 건 기본이기 때문에 추상 자료형을 잘 이해하는 것은 자료구조를 이해하기 위한 첫걸음이다. 추상 자료형이란? 추상 자료형은 자료구조가 따라야 할 규칙들을 추상적으로 정의한 것이다. 추상 자료형은 실제로 이 자료구조를 어떻게 구현해야 하는지는 전혀 언급하지 않는다. 추상 자료형은, 영어로 Abstract Data Type라고도 하는데, 이를 줄여서 ADT로 나타내는 경우도 많다. 구체적으로는, 추상 자료형은 자료구조가 어떤 자료를 저장하는지와, 어떤 .. 2021. 5. 22.
빅 오 표기법(Big-O Notation), 알고리즘의 효율을 알려줘 컴퓨터 프로그램을 만들 때 가장 중요한 것은 2가지이다. 얼마나 빠른가 와 얼마나 적은 공간을 차지하는가. 아무리 좋은 프로그램이라도 너무 느리면 소용이 없고, 아무리 좋은 프로그램이라도 너무 크면 소용이 없다. 게임이 아무리 재밌어도 한 번 키는데 1시간이 걸리고, 용량이 2TB라고 해 보자. 그 게임을 사용할 사람은 없을 것이다. 이런 극단적인 예시가 아니라도, 프로그램을 최대한 빠르고 용량을 적게 차지하게 하는 건 중요하다. 이런 효율을 측정해 주는 방법 중 하나가 바로 빅 오 표기법이다. Big-O가 뭘까? Big-O 표기법은, 쉽게 말해 컴퓨터 프로그램의 효율성을 최악을 가장하고 측정해 주는 것이다. BIg-O 표기법에서는, 데이터가 말도 안 되게 커질때의 효율을 측정한다. 사실, 데이터가 적으.. 2021. 5. 20.
자료구조? 그게 뭔데 씹덕아 네카라쿠배당토에 갈 꿈을 꾸고 있거나, 프로그래머로서 어디서 말 좀 하고 싶다면 자료구조와 알고리즘을 알아야 한다고 합니다. 흔히 말하는 코딩 테스트가 바로 이 자료구조와 알고리즘을 다루는 능력을 보는 시험입니다. 이 자료구조가 뭐고, 왜 중요하고, 알고리즘이랑 무슨 상관이 있을까요? ⁉️ 자료구조가 뭐야? 어떤 단어가 뭐냐고 물어볼 때 가장 짜증나게 대답하는 방법은 그 단어를 그대로 반복하는 겁니다. 자료구조는 자료를 구조화하는 방법입니다. 더 자세히는 자료(데이터)를 저장하는 방법입니다. 데이터를 저장하는 방법이 왜 그렇게 중요할까요? 그 이유는 세상에는 다양한 종류의 데이터가 있는데 컴퓨터는 기본적으로 모든 자료를 1차원으로 저장하기 때문입니다. 예를 들어체스판도 일종의 데이터라고 할 수 있는데, .. 2021. 5. 18.