반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 들여쓰기로 표현한 트리
- 리스트
- 큐
- 파이썬
- 좋은 알고리즘
- import itertools
- 자바
- 알고리즘
- python
- Import
- 알고리즘 표현
- Tree
- 코딩테스트
- 프로그래머스
- html
- 스택
- java
- 코딩 테스트
- 유사코드
- 알고리즘의 조건 5가지
- Combination
- 과일 장수
- 트리
- list
- 태그
- 알고리즘의 조건
- 유한소수 판별하기
- 자료구조
- itertools
- LV.1
Archives
- Today
- Total
인천의 자유인
알고리즘 표현 방법 본문
728x90
반응형
알고리즘은 문제 해결 과정을 일련의 순서대로 철자화 합니다. 이러한 알고리즘을 표현하는 방법에는 크게 자연어 표현, 흐름도(순서도) 표현, 의사코드 표현이 있습니다.
1. 자연어 표현
자연어는 우리가 일반적으로 사용하는 언어를 의미합니다. 그만큼 편리하다는 장점이 있지만 단점도 있습니다. 그것은 문자의 의미가 에매해질 수 있다는 것입니다. 그래서 사용되는 단어들의 의미를 명확하게 해야할 필요가 있습니다. 모호한 표현 같은 경우를 주의해서 써야합니다. 예를 들면 '적당히'라는 의미를 예를 들수 있겠네요.
의사코드를 잘 사용한 예를 보여주겠습니다.
최댓값을 구하는 알고리즘입니다.
- 빈 리스트 lst를 선언합니다.
- 빈 리스트에다가 자신이 추가하고 싶은 요소를 추가합니다.
- 리스트 lst안에서 최댓값을 구합니다.
2. 유사 코드(의사 코드) 표현
유사코드는 자연어 보다는 체계적이지만 프로그래밍 언어보다는 덜 엄격한 방법입니다. 유사 코드인 경우에는 컴퓨터에 실행되지는 앖습니다. 프로그래밍 언어에서 불필요한 표현을 생략할 수 있어서 많이 사용하기도합니다.
lis <- []
for x in range(4):
추가할 요소 <- input()
lis.append(추가할 요소)
print(lis.max())
# <- 은 대입 연산으로 사용
# = 는 비교 연산으로 사용
반응형
3. 순서도(흐름도) 표현
순서도는 알고리즘의 절차들을 가장 정확하게 표현할 수 있다는 장점이 있습니다. 다만 코드가 많이 길어질 경우에는 너무 복잡해지기 때문에 그럴 경우에는 사용하지 않습니다.
728x90
반응형
'알고리즘&자료구조' 카테고리의 다른 글
[알고리즘] 점근적 표기 (0) | 2024.12.23 |
---|---|
알고리즘의 정의와 조건 (0) | 2024.08.21 |
자료구조 - 트리(tree)의 표현 방법 (0) | 2024.08.18 |
자료구조 - 트리(tree) (0) | 2024.08.15 |
자료구조(리스트) - 배열 구조 vs 연결된 구조 (0) | 2024.08.12 |