자료구조 1
in Dev on Algorithms
알고리즘 복잡도 표현 방법
다양한 알고리즘 중 어느 알고리즘이 더 좋은지를 분석하기 위해, 복잡도를 정의하고 계산함
자료구조란?
자료구조에 대해 공부해보자..?
- 용어는 다 같은 이야기 - 자료구조, 데이터구조, data structure
- 대량의 데이터를 효율적으로 관리할 수 있는 데이터의 구조를 의미
- 코드상에서 효율적으로 데이터를 처리하기 위해, 데이터 특성에 따라, 체계적으로 데이터를 구조화해야 함
- 어떤 데이터 스트럭쳐를 사용하느냐에 따라 코드의 효율이 달라지기 때매 중요하다..
효율적인 데이터구조의 예시..?
- 우편번호: 5자리로 보통되어 있는 국내 우편번호의 경우 우리나라의 기초구역 정보를 제공해준다.
- 5자리 우편번호에서 앞3자리는 시,군,자치구를 표기, 뒤 2자리는 일련번호로 보통 구성되어있어서 효율적
- 학생관리부: 학년, 반 ,번호를 학생에게 부여해서, 학생부를 관리
- 3학년 1반 10번 김개똥 학생..
대표적인 자료구조
- 배열, 스택, 큐, 링크드 리스트, 해쉬 테이블, 힙이 있다.
- 현실에서 가장 대표적인 데이터구조는 ‘사전’이다.
알고리즘이란?
- 용어: 알고리즘, 알고리듬, algorithm
- 어떤 문제를 풀기 위한 절차 또는 방법
- 어떤 문제에 대해, 특정한 ‘입력’을 넣으면, 원하는 ‘출력’을 얻을 수 있도록 만드는 프로그래밍
왜 자료구조와 알고리즘이 중요하냐?
- 어떤 자료구조와 알고리즘을 사용하느냐에 따라 ‘성능’이 크게 차이난다.
- 즉, 프로그래밍을 잘 할 수 있는 기술과 역량을 익히고, 검증할 수 있다.
- 어떤 언어든 자료구조/알고리즘을 익힐 수 있다. - 나는 파이썬을 하는거로..
- 예전엔 무조건 C와 C++ 온니였으나.. 이젠 뭐 알아서 하는 분위기다. 왠만하면 파이썬이 그래도 쉽고 빠르게 알고리즘 공부할 수 있어서 추천한다는..
이 글이 도움이 되셨다면 추천 클릭을 부탁드립니다 :)