> For the complete documentation index, see [llms.txt](https://krjaeh0.gitbook.io/j-log/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://krjaeh0.gitbook.io/j-log/programming/cs-fundamentals/overviews/datastructurealgorithmoverview.md).

# DataStructureAlgorithmOverview

## 참조

* [자료구조 입문](https://www.yes24.com/Product/Goods/28194882)
* [알고리즘 입문](https://product.kyobobook.co.kr/detail/S000200087348)
  * 다시 이 책을 읽게 된다면 문자열 검색부터 해시법까지 정독할 것

***

## 자료구조

* 컴퓨터 과학에서 효율적인 접근 및 수정을 효과적으로 하기 위한 자료의 조직, 관리, 저장 체계
* 데이터 값의 모임, 데이터간의 관계, 데이터에 적용할 수 있는 함수나 명령을 의미
* **메모리를 효율적으로 사용**하기 위해 적절한 자료구조 선택이 중요하다.
* **프로그램 설계 시 가장 먼저 고려**되어야 한다.
* 프로그램의 **성능에 직접적인 영향**을 미친다.

{% hint style="info" %}
자료구조 선택은 메모리 사용 효율과 알고리즘 성능에 직접적인 영향을 줍니다. 문제를 분석할 때 먼저 어떤 자료구조가 적합한지 고려하세요.
{% endhint %}

### 자료구조의 종류

| 구조    | 설명               | 요소                    | 알고리즘 포함 여부 |
| ----- | ---------------- | --------------------- | ---------- |
| 단순    | 데이터의 표현을 위한 자료구조 | 정수, 실수, 문자, 문자열       | x          |
| 선형    | 데이터 저장을 위한 자료구조  | 리스트, 연결 리스트, 스택, 큐, 덱 | o          |
| 비선형   | 데이터 저장을 위한 자료구조  | 트리, 그래프               | o          |
| 파일 구조 | 파일 저장을 위한 자료구조   | 순차 파일, 색인 파일, 직접 파일   | o          |

## 자료구조의 알고리즘 적용

* 효율적인 알고리즘을 위해 자료구조의 선택이 중요하다.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://krjaeh0.gitbook.io/j-log/programming/cs-fundamentals/overviews/datastructurealgorithmoverview.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
