728x90

1.자료구조란?

  • 용어: 자료구조, 데이터구조, datastructure
  • 대량의 데이터를 효율적으로 관리할 수 있는 데이터의 구조를 의미
  • 코드상에서 효율적으로 데이터를 처리하기 위해, 데이터 특성에 따라, 체계적으로 데이터를 구조화해야함
    • 어떤 데이터 구조를 사용하느냐에 따라 코드 효율이 달라짐
  • 효율적으로 데이터를 관리하는 예
    • 우편번호: 5자리 우편번호로 국가의 기초구역을 제공
    • 학생관리: 학년, 반, 번호를 학생에게 부여해서, 학생부를 관리
  • 대표적인 자료구조
    • 배열, 스택, 큐, 링크드 리스트, 해쉬 테이블, 힙등

2.알고리즘이란?

  • 용어: 알고리즘, algorithm
  • 어떤 문제를 풀기위한 절차/방법
  • 어떤 문제에 대해 특정한 '입력'을 넣으면, 원하는 '출력'을 얻을 수 있도록 만드는 프로그래밍
  • 좋은 알고리즘의 요소: 시간복잡도, 데이터 효율성등

3.자료구조와 알고리즘이 중요한 이유

어떤 자료구조와 알고리즘을 쓰느냐에 따라 성능이 전지차다 --> 결국 프로그래밍을 잘 할수 있는 기술과 역량을 익히고, 검증할 수 있음

728x90

'기술 > 알고리즘' 카테고리의 다른 글

자료구조(2)-링크드리스트(LinkedList)  (0) 2022.01.21
자료구조(1)-큐와 스택  (0) 2022.01.19
코딩테스트 준비  (0) 2022.01.19
그리디(2):큰 수의 법칙  (0) 2021.05.22
그리디(1): 거스름돈  (0) 2021.05.21
728x90

코딩테스트 문제를 마구잡이식으로 풀다 보니 아무래도 자료구조/ 알고리즘 관련 면접에서 막힌 경험이 생겼다.. 그리하여 남는 시간동안 자료구조/알고리즘 이론을 좀더 튼튼히 준비한후 동시에 코딩테스트 문제를 풀어보려한다.

 

4군데의 기업에서코딩테스트를 봤는데 2군데 합격, 2군데 불합격이떳다ㅎ... 대부분 유형은 프로그래머스, 백준과 같은 알려진 사이트에서의 문제, sql문제, restapi문제였고 경험은 없지만 지원하는 회사가 사용하는 프레임워크로 시험을 치는 회사가 있다고 했다. 약 2개월동안 좀 빡쌔게 기본을 다시 복습한뒤 이후부턴 여러 회사에 지원해보며 코딩테스트에 모두합격할수 있도록 대비해야겠다.

 

공부 환경은 유명한 아나콘다 환경에서 준비할예정!

728x90

+ Recent posts