자료구조와 알고리즘

김동현·2023년 8월 21일
0
post-thumbnail

자료구조와 알고리즘이란?

자료구조: 메모리를 효율적으로 사용하며 빠르고 안정적으로 데이터를 처리하는 것이 궁극적인 목표로 상황에 따라 유용하게 사용될 수 있도록 특정 구조를 이루고 있다. 자료구조의 종류는 Stack, Queue, Graph, Tree 등 종류가 다양하다.

알고리즘: 특정 문제를 효율적이고 빠르게 해결하는 것이 궁극적인 목표로 정해진 일련의 절차나 방법을 공식화한 형태로 표현한 것을 말한다. 알고리즘의 종류는 이진 탐색(Binary Search), 최단 거리 찾기(Shortest Path)등이 있다.

요리를 프로그래밍으로 비유 해봤을 때
재료는 데이터, 도구는 자료구조, 레시피는 알고리즘 그리고 음식은 소프트웨어라고 볼수 있다.

실무에서 중요하게 생각하는 3가지

기초 코딩 능력: 코딩 능력, 논리적인 사고 능력, 문제 해결 능력을 의미한다.

전문 분야 지식: 프론트엔드, 백엔드, 안드로이드, IOS, 딥러닝등 특화된 전문 지식을 말함. 깊이있게 알수록 좋고 최신 트렌드에 따라가면 더 좋다.

기본 CS 지식: 운영체제, 네트워크, 소프트웨어 공학, 컴퓨터 구조 등 학문적인 지식을 말한다. 특히, 기본 컴퓨터 구조 지식이 탄탄할수록 업무상 발생하는 예외 사항을 빠르게 처리할 수 있다.

문제 해결 능력을 세가지로 표현

논리적 사고: 어떠한 현상이 존재할 때 추론하고 구조화하여 해답을 내는 것을 의미한다.

전산화 능력: 현실에 있는 것을 컴퓨터 세계 즉, 소프트웨어로 구현하는 능력을 말한다.

엣지 케이스 탐색: 문제나 소프트웨어에서 예외사항을 얼마나 잘 찾는지에 대한 것을 의미함.

자료구조와 알고리즘을 배웠을 때 장점

자료구조와 알고리즘을 배워서 좋은 점은 시대가 변해도 변하지 않는 다는 것이다. 1956년에 발표된 Dijkstra Algorithm(Shortest Path Algorithm) 은 아직도 많이 쓰이는 알고리즘이다. 그래서 자료구조/알고리즘을 공부해두면 나중에 두고두고 유용하게 쓰일 수 있다.

profile
가치를 전달하는 개발자

0개의 댓글

관련 채용 정보