목록알고리즘 & 자료구조 & 네트워크 (29)
오봉이와 함께하는 개발 블로그
자료 구조 순차 리스트 배열 / 행렬 / 레코드 스택 / 큐 / 데크 연결 리스트 단일 연결리스트 원형 연결리스트 이중 연결리스트 트리 일반 트리 이진 트리 순차 리스트 각 자료가 메모리 중에서 서로 이웃해 있는 구조 선형 구조라고도 함 메모리에 연속되어 저장 배열 / 행렬 / 레코드 / 스택 / 큐 / 데크 배열 크기와 데이터형이 같으며 동일한 이름을 같은 원소들의 연속적 저장 영역 배열의 원소는 메모리 내에서 연속적으로 순서대로 저장 각 배열의 원소는 첨자([0]~[n])로 구별 레코드 서로 다른 데이터 형태와 크기로 구성되어 있는 이질적 데이터 구조 예 : 다양한 사람들에 대한 자료들인 이름, 주민등록번호, 주소 등 서로 관계있는 여러 자료를 한 개의 조로 묶어서 구성 배열과 차이점 : 배열은 데이..
Algorithmday_2 정리 (2021.11.29 월요일) 동적 프로그래밍 기법(Dynamic Programming) 분할 정복 기법과 유사하게 부분 문제의 해답을 이용하는 방식으로 문제를 해결하는 방식 주어진 문제를 여러 개의 소문제로 분할하여 문제를 해결 상향식 설계 기법 작은 문제부터 먼저 해결한 후 그 결과를 큰 문제에서 활용함으로써 효율성을 높이는 방법 동적 프로그래밍 방식 적용 방법 분할 정복식처럼 문제를 나눈 후 주어진 부분 문제들을 한 번 계산한 후에는 특정 장소에 저장 이 부분 문제의 해가 필요할 때 이를 다시 계산하지 않고 이전에 저장해둔 결과 이용 일반적으로 부분 문제의 값을 저장하는 장소는 배열 사용 분할 정복 기법 VS 동적 프로그래밍 기법 분할 정복 기법(하향식) 분할되는 소..
Algorithmday_2 정리 (2021.11.29 월요일) 욕심쟁이 기법(Greedy Method) 이어서.... 최적 대합을 구성할 수 있는 집합을 만들기 위해 필요한 원소들 각 단계마다 하나씩 선택해 나가는 방법 선택을 하는 매 순간마다 현재 상태에서 가장 좋아보이는 원소를 선택하는 전략 최적의 해를 찾는 전형적인 방법 즉, 각 순간 지역적으로 가장 좋아 보이는 선택이 모여 최종적으로도 가장 좋을 것이라 생각하기 때문에 나온 기법 최적화 문제를 해결할 수는 없지만 많은 경우의 문제에 적용 가능 욕심쟁이 기법 적용 예(이어서....) 최단 경로 문제(Dijkstra의 최단 경로 알고리즘) 하나의 출발점에서 모든 종착점으로의 최단 경로를 찾는 문제 네트워크에서 하나의 시작 정점에서 모든 다른 정점까지..
Algorithmday_1 정리 (2021.11.26 금요일) 알고리즘 문제 해결을 위해 논리 정연한 절차에 의해 계획한 해결 방은을 정형적이고 체계적으로 기술한 것 주어진 문제를 해역하기 위해 구체적인 작업을 하기 전 어떤 구조와 방법으로 구성할 것인지 생각하는 기본적인 설계 문제를 해결하기 위해 단계별로 명확하게 기술하여 나열한 일련의 명령어(혹은 다른 것이 될 수도 있음)들의 모임 문제 -> 문제 분석 -> 설계 -> 검증 -> 구현 -> 결과 어떤 문제를 해결하기 위해 나열한 계산적인 절차 절차 실행 후 주어진 문제에서 요구하는 결과 출력 수행 절차 입력 -> 수행 -> 출력 입력 : 문제의 각 사례에서 포함하고 있는 숫자 또는 문자들 출력 : 알고리즘이 수행된 후에 얻을 수 있는 문제에 대한 해..