데이터 구조 및 알고리즘 소개.

목수에게는 여러 가지 도구가 있지만 각 도구에는 작업을 완료하는 특정 목적이 있습니다. 프로그래머와 마찬가지로 당면한 작업에 따라 프로그래머는 특정 문제를 처리하기 위해 적절한 도구가 필요합니다.
데이터 구조는 프로그래머의 도구이며 각각 특정 목적을 수행합니다. 많은 회사에서 인터뷰에서 데이터 구조 문제를 사용하여 프로그래머가 강력한 문제 해결사인지 확인합니다.
데이터 구조는 두 가지 주요 섹션으로 분류됩니다.
1. 선형 데이터 구조 → 데이터를 순차적으로 저장합니다.
2. 비선형 데이터 구조 → 데이터를 비순차적으로 저장합니다.

선형 데이터 구조의 유형:

1) Arrays → stores values in arranged continuous memory. Elements stored in the arrays are determined by the programming language.
2) Stack →  It stores its elements according to the LIFO (last in, first out) principle, which means that the last element added is the first one withdrawn.
3) Queues → It stores its elements using the FIFO (first in, first out) principle, which means that the first element inserted will be the first one withdrawn
4) LinkedList → It organizes its data as a connected network of nodes, with each element containing the address of the next node.

비선형 데이터 구조의 유형:

1) Graphs → it’s made up of nodes or vertices and edges. Edges connects two nodes.
2) Trees → stores data in a hierarchical manner which is tree-like structures arranged in multiple levels. It has the root node(top most part) which is the central node. 

알고리즘
특정 문제를 해결하기 위한 지침 또는 절차의 집합으로, 문제를 해결하기 위한 레시피 또는 문제를 이해하기 쉽게 하기 위한 청사진으로 생각할 수 있습니다.
알고리즘 유형:
1) 정렬 알고리즘
2) 검색 알고리즘
3) 해싱

작성된 각 알고리즘은 완료하는 데 약간의 메모리를 사용합니다. 여기에서 알고리즘 복잡성이 작용합니다. 알고리즘을 실행하는 데 필요한 시간과 공간을 계산합니다.
공간 복잡성 → 입력 크기와 관련하여 알고리즘이 차지하는 전체 공간의 양.
시간 복잡성 → 알고리즘이 실행되는 데 걸리는 시간입니다. 주로 big O 표기법(시간 복잡도를 나타내는 점근적 표기법)을 사용하여 표현됩니다. 예를 들어 크기가 n인 문제는 다음과 같습니다.
1. O(1)은 상수 시간 함수입니다.
2. O(n)은 선형 시간 함수입니다.
3. O(n^2)는 2차 시간 함수입니다.

좋은 웹페이지 즐겨찾기