새소식

반응형
CS 지식/자료구조와 알고리즘(Java)

[자료구조&알고리즘 with Java] 자료구조 및 알고리즘 시작

2022.12.26
  • -
반응형

1. Basic Concept

Data structure and algorithm에서는 자료구조와 알고리즘의 각 종류와 세세한 이론을 바탕 및 구현으로 한 내용이 주를 이루어 기술하는 카테고리입니다.

 

 

2. 시작하기 앞서...

자료구조와 알고리즘은 타 과목에 비해 중도포기하는 사람이 많은 과목이라고 합니다.

 

막히거나 답답한 부분이 자주 나올 수도 있지만 어려운 것이 정상이고 모두가 다 어려워 하기 때문에 기초부터 차근차근 배워나가면 충분히 소화할 수 있는 과목이기도 합니다.

 

이 카테고리(자료구조와 알고리즘 with Java) 에서는 모든 코드를 알고리즘 동작방식에 초점을 맞추어 java언어로 짰습니다.

파이썬을 이용한 자료구조와 알고리즘도 따로 포스팅 해 두었으니 파이썬을 이용한 자구알을 원하시는 분들은 아래 포스팅으로 봐주시면 되겠습니다.

 

[CS 지식/자료구조와 알고리즘(Python)] - [python] Python 기본

 

[python] Python 기본

Python Flow Control 프로그램은 통상적으로 순서에 따라 실행되지만 프로그램 실행의 흐름(flow)를 제어하기 위한 주된 두 가지 방식이 존재한다. conditional statements(is, else,...) loops(for, while ...) if - else s

cdragon.tistory.com

 

코딩 테스트는 파이썬으로 풀었을 때 더 편한 경우가 많다고들 합니다.

 

 

3. 자료구조를 공부해야 하는 이유

1. 취업

물론 취미로 하시는 분들도 있으실 것이고 프로그램을 만들고 싶어서 하시는 분들도 많겠지만 이 모든 이유는 취업에서 비롯된 것으로 나중에 어떤 IT계 회사에 들어가기 위해서는 먼저 코딩테스트를 봐야 하고 합격 했을 때 기술면접을 보게 되는데 이때 자료구조에 대해 미숙하다면 불리하게 작용할 수 있기 때문에 굉장히 붙기가 힘들다고 합니다.

 

코딩 테스트 기술 면접에서 주로 물어보는 질문으로는 다음과 같은 것들이 있습니다.

  • ArrayList와 LinkedList의 차이를 내부 구현 관점에서 설명해 주세요.
  • Merge sort의 시간복잡도를 증명해 주세요. (O(nlogn))
  • 등등...

코딩테스트 자체는 복잡한 알고리즘을 구현해 내는데 의의가 있기 때문에 이 과목이 상당히 중요한 것이고 면접 또한 기업에서 요구하는 자질, 즉 중요한 알고리즘들을 자세히 알고 있으며 이를 사용할 수 있는가를 직접적으로 물어보는 것이기 때문에 중요한 것입니다.

 

 

2. 현업

그럼 취업만을 위해 이 과목의 지식이 필요한 것인가? 라는 의문을 가지실 수 있는데 이에 대한 답은 당연히 'No' 입니다.

앞서 말한 것처럼 기업이 이에 대한 내용을 면접에서 물어보는 이유는 실제 현업에서 자기가 맡은 일을 잘 할 수 있을 지를 보기 위함으로 아무리 코딩 실력이 좋다고 할 지라도 현장에서는 알고리즘과 자료구조를 모르면 해결할 수 없는 문제들이 존재하고 자료구조의 내부 구현에 대해 미숙하다면 잘못 사용하기 쉽기 때문에 상당히 중요한 과목이라고 할 수 있습니다.

 

4. 시각 자료 사이트

자료구조와 알고리즘은 구조와 관련 된 것이기 때문에

시각 자료

를 동반하면 도움이 많이 되는데 이에 대한 자료를 모아놓은 사이트들입니다.

 

visualising data structures and algorithms through animation - VisuAlgo

VisuAlgo is free of charge for Computer Science community on earth. If you like VisuAlgo, the only "payment" that we ask of you is for you to tell the existence of VisuAlgo to other Computer Science students/instructors that you know =) via Facebook/Twitte

visualgo.net

 

Data Structure Visualization

 

www.cs.usfca.edu

 

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.