일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- function
- DATAPATH
- CSS
- system
- python
- while
- github
- XML
- Java
- DoM
- DS
- web
- for
- Class
- DB
- php
- MIPS
- Pipelining
- mysql
- react
- Linux
- javascript
- architecture
- MacOS
- Algorithm
- data structure
- instruction
- control
- html
- computer
- Today
- Total
YYYEJI
[DS] 데이터 구조(Data Structures)란? 본문
데이터 구조(Data Structures)란?
효율적으로 데이터에 접근하고 데이터의 조직, 관리 저장을 의미합니다.
데이터에 적용할 수 있는 함수들을 배우며 문제를 풀면서 효율적인 알고리즘을 사용할 수 있도록 도와줄 수 있도록 도와줍니다.
Softward 개발의 단계
① 요구사항 분석(Requirement analysis)
문제의 요구사항, 입출력의 형식 및 내용들을 정의하고 분석합니다.
② 설계(Design)
개념적인 구성요소를 설계하고 이어서 상세한 내용을 설계합니다.
③ 구현(Coding)
상세 설계된 내용을 프로그램이 언어를 사용하여 구현합니다.
④ 검증(Verification)
구현된 결과가 문제의 요구사항에 대한 만족 여부를 검증합니다.
Algorithms
어떤 문제를 해결하기 위한 일련의 절차나 방법입니다.
어떤 일을 수행하기 위한 명령어들의 집합이라고도 할 수 있습니다.
- 결과(output)을 생성해야 하고,
- 각 수행 단계는 명확해야 하고,
- 각 수행 단계는 실제 실현 가능한 내용이어야 하고,
- 유한 단계의 수행 후에 반드시 종료 하여야 합니다.
Algorithm의 표현 방법
① 자연어 (Natural language)
영어, 한글 등을 사용하여 algorithm의 각 단계를 설명합니다.
② 순서도 (Flow chart)
Algorithm의 실행 순서를 다이어그램(diagram)으로 나타냅니다.
③ 수도 코드 (Pseudo code)
자연어에 가까운 기호적 약속으로 algorithm을 표현합니다.
④ 프로그래밍 언어 (Programming language)
실제 프로그래밍 언어를 사용하여 표현합니다.
ex) C, C++, JAVA, PYTHON
좋은 프로그램 만들기 위해서는
요구조건을 정확하게 수행하자!
메모리 사용량을 최소화하자!
응답 시간 및 처리 시간을 최소화하자!
읽기 쉽도록 만들자(readability)!
유지(maintenance)를 용이하게 하자
확장성을 높이자
신뢰성을 높이자
◡̈
'Data structure' 카테고리의 다른 글
[DS] 연결 리스트(Linked List)란? (2) | 2022.12.29 |
---|---|
[DS] 큐(Queue)란? (0) | 2022.12.29 |
[DS] Stack 응용 (infix, prefix, postfix) (0) | 2022.12.28 |
[DS] 스택(Stack)이란? (0) | 2022.12.28 |
[DS] 객체지향(OOP) vs 절차지향(PP) (0) | 2022.12.28 |