일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 아두이노 컴파일러
- 아두이노 소스
- list
- 라인트레이서
- queue
- C언어
- Stack
- Visual Micro
- Array
- 아두이노
- 통계학
- Deque
- 컴퓨터 그래픽스
- Algorithm
- html
- 수광 소자
- priority_queue
- 시스템프로그래밍
- set
- LineTracer
- 운영체제
- c++
- 자료구조
- directx
- map
- arduino compiler
- WinAPI
- Arduino
- stl
- vector
- Today
- Total
목록자료구조 (43)
Kim's Programming
연결 리스트 지난 포스팅에서는 배열을 이용한 리스트를 구현해 보았습니다. 하지만 배열은 크기가 지정이 되어있어서 넣는 양의 한계가 있으며 그렇다고 무한정 늘려서 만들게 되면 또 쓸데없는 메모리 낭비를 할 가능성이 매우 높아집니다. 그래서 만드는 것이 연결 리스트 입니다. 연결 리스트는 여러 개의 작은 공간을 연결하여 하나의 자료구조를 표현하며 또 크기 변경이 유연하며 낭비를 하지 않아 더 효율적으로 메모리를 사용할 수 있습니다. 동적으로 구현된 연결 리스트는 메모리 안에서 노드의 물리적 순서가 리스트의 논리적 순서와 일치할 필요가 없습니다. 다음으론 연결리스트의 장단점을 알아 보겠습니다. 장점 삽입 및 삭제가 용이연속된 메모리 공간이 필요없음크기 제한이 없음(시스템이 허용하는 메모리한해서) 단점 구현이 ..
리스트(List) 리스트란 순서를 가진 항목들의 모임입니다. ADT를 정의하면 저장 형태는 데이터를 나란히 저장을 하며 저장 특성으로는 중복된 데이터의 저장을 허용한다는 것입니다. 리스트 자료구조의 ADT의 예시는 다음과 같습니다. (지정 하기 나름입니다) 리스트의 초기화데이터 저장 (데이터 추가)저장된 데이터의 탐색 및 탐색 초기화다음 데이터 참조(반환)바로 이전에 참조(반환)이 이루어진 데이터의 삭제현재 저장되어 있는 데이터의 수 반환 그럼 이걸 C언어 함수 같이 만들어 볼까요? ListInit(&list) :: 리스트 초기화Linsert(&list, item) :: 데이터 저장LFirst(&list, item) :: 저장된 데이터의 탐색 및 탐색 초기화LNext(&list, item) :: 다음 데..
자료구조 & 알고리즘 프로그램에서 데이터를 표현하는 것을 자료 구조라고 합니다. 일반적으로 프로그램을 자료구조 + 알고리즘 이라고 표현을 할 수 있죠. 일반적인 자료구조와 알고리즘을 모두 가지고 있는 프로그램을 예시를 들어보겠습니다. 위의 소스와 같이 한 프로그램은 자료구조와 알고리즘이 있다는 것을 확인 할 수 있고 데이터 표현을 자료구조(배열)을 통해서 하고 있으며 더하는 방식의 데이터처리(알고리즘)를 하고 있다는 것을 확인 할 수 있습니다. 그럼 자료구조에 대해서 알아보겠습니다. 자료구조 그렇다면 자료 구조의 정확한 의미는 무엇일까요? 그리고 왜 사용할까요? 자료구조는 데이터의 특성에 따라 분류, 구성, 저장하는 모든 작업을 의미합니다. 또 이렇게 분류, 구성을 함으로써 데이터를 효율적으로 사용할 수..