Computer(26)
-
자료구조1(리스트, 스택, 재귀함수)
자료구조란? 데이터를 표현하고 관리하고 처리하기 위한 구조 자료구조의 필요성 데이터를 메모리에 저장하기 위해 여러 자료 구조를 사용한다. 자료구조를 활용해서 응용 프로그램의 성능 향상, 표준화, 가독성, 유지 보수 등의 관점에서 유리하게 데이터를 관리할 수 있다. 시간 복잡도는 내부에서 데이터를 어떻게 저장하여 사용하는가에 따라 달라진다. (시간 복잡도는 데이터 크기가 변경되면 연산 시간이 어떻게 변하는지 보여준다.) 선형자료구조 1. 연속된 자료 구조 - 정적 배열, 동적 배열 2. 연결된 자료 구조 - 연결 리스트 스택 -삽입(Push) 삭제(Pop), 순차 자료구조 변수 top : 스택에 저장된 마지막 원소에 대한 인덱스 저장 공백 상태 : top = -1 (초기값) , 포화 상태 : top = n..
2022.11.28 -
greedy
그리디 알고리즘 '현재 상황에서 지금 당장 좋은 것만 고르는 방법' 그리디 알고리즘을 이용하면 매 순간 가장 좋아보이는 것을 선택하며, 현재의 선택이 나중에 미칠 영향에 대해서는 고려하지 않는다. 그리디 알고리즘 문제 유형은 사전에 외우고 있지 않아도 풀 수 있을 가능성이 높은 문제 유형이다. 다익스트라 알고리즘은 엄밀히 말하면 그리디 알고리즘으로 분류되고 암기가 필요하지만 이런 특이 케이스를 제외하고 문제를 풀기 위한 최소한의 아이디어(현재 상황에서 가장 좋아 보이는 것만을 선택)를 요구한다. 그리디 알고리즘은 기준에 따라 좋은 것을 선택하는 알고리즘이므로 문제에서 '가장 큰 순서대로', '가장 작은 순서대로'와 같은 기준을 알게 모르게 제시하고 이 기준은 정렬 알고리즘을 사용했을 때 만족시킬 수 있으..
2022.10.17