본문 바로가기

■ CS ■/Algorithm9

#09 해 탐색 알고리즘 2021. 3. 7.
#08 근사알고리즘 2021. 3. 7.
#07 탐색알고리즘 2021. 3. 7.
#06 정렬알고리즘 2021. 3. 7.
#05 욕심쟁이 알고리즘 2021. 3. 7.
#04 동적프로그래밍 알고리즘 2021. 3. 7.
#03 분할정복 알고리즘 2021. 3. 7.
#02 알고리즘을 위한 기본 자료구조 내용 정리 서론 알고리즘 공부를 위한 자료구조의 기본적인 개념을 정리하였습니다. 본론 ● 1.1 배열과 연결리스트 - 배열 : 같은 자료형을 갖는 여러 원소를 하나의 변수이름으로 모아놓은 데이터의 집합 😄 인덱스를 통한 직접적인 원소접근 -> 빠르고 동일한 접근시간 논리적 순서와 저장된 물리적 순서 일치, 표현이 간단 😡 삽입/삭제시 추가적인 자료의 이동에 따른 오버헤드 발생가능 (원소의 논리적인 순서와 동일하게 물리적인 순서를 유지하는 상황에서 발생...) , 배열의 크기가 대부분 정적으로 결정되기에 삽입과 삭제가 동적으로 방생하는 상황에서 적절한 배열의 크기를 미리 결정하는 것이 어려워 이로인해 오버플로나 저장공간 낭비 초래 이러한 문제점을 보완한 형태의 자료구조가 연결리스트!! - 연결리스트 : 데이터필드와 .. 2021. 3. 7.
#01 알고리즘 Intro Intro 알고리즘은 '문제를 해결하는 절차' > 알고리즘은 입력, 출력, 유한성, 명백성, 효과성을 만족해야하며 > 분석을 통해 좋고 나쁨을 평가할 수 있고 > 기초프로그래밍과 자료구조를 공부한 이후에 배우면 좋다 > 알고리즘은 논리이며 수학이고 실질적인 개발에 적용되는 기초적인 아이디어 알고리즘은 어떻게 사용? > 실제 프로그램 개발시 효율적 알고리즘을 적용하여 원하는 결과를 도출 Ex) 스케줄 관리프로그램 : 달력에서 특정한 달에 해당하는 일 수 구하기 내비게이션 프로그램 : 여러개의 중간 지점을 거쳐서 특정 지점으로 갈 때 가장 빠른 길 게시판 프로그램 : 한 페이징 게시글을 10개씩 출력해야할 때 어떻게 출력? (페이징) > 문제 해결 능력을 보기 위해서 어려운 알고리즘 문제를 푸는게 좋다 2019. 11. 14.