본문 바로가기

전체 글

(66)
자료구조(3/10)- 목차와 실제 사례 [자료구조] 1. 배열 : 변수가 한 곳에 모여있으면 빠르다! 2. 연결리스트: 삽입과 삭제를 빠르게! 3. 스택, 큐, 덱: 스택: 데이터를 차곡차곡 큐: 데이터로 줄 세우기 덱: 스택으로도, 큐로도 사용할 수 있다! 4. 그래프 : 관련있는 데이터 연결하기 그래프의 모든 노드 방문 : 도시를 모두 여행하자 1) 너비 우선탐색: 인근 도시부터 2) 깊이 우선탐색: 한 방향으로 쭉 여행하기 5. 트리: 쓸 데가 많은 자료구조 1) 이진 탐색 트리 2) 레드 블랙 트리 3) B트리 4) 힙과 우선순위 큐 [다양한 그래프 알고리즘] .. 알고리즘 편에서 1. 위상 정렬 2. 최소 비용 신장트리 1) 탐욕 알고리즘 2) 크루스칼 알고리즘 3) 프림 알고리즘 3. 최단경로 1) 데이크스트라 알고리즘 실제 적용된..
자료구조(2/10) - 빅오 표기법, ADT 빅오 어떤 자료구조가 다른 자료구조에 비해 성능이 좋다고 이야기할수 있는 방법은? 어떤 기준을 설정하고 두 함수를 상대적으로 비교하는것 다시) 자료구조: 데이터를 저장하는 구조 데이터를 저장하는 방식(함수들의 조합)이 자료구조마다 다른데 함수 내에 있는 반복문, 분기문의 실행횟수, 혹은 덧셈이나 곱셈 같은 연산 횟수 등을 세면 실제 물리적인 실행 환경 말고, 추상적으로? 성능을 개략적으로 어떻다고 판단할수 있다. 입력값 n에 대해 이러한 연산횟수는 방정식T(n)으로 표기할수 있는데, 알고리즘 성능을 분석할때는 점근적 표기법을 주로 사용한다. 2n+3이라는 T(n)이 있을때 2n+3 = O(n) => 즉 2n+3의 빅오는 n이다라고 말할 수 있다. (n은 어느시점에서 반드시 2n+3보다 크다) 2n+3 =..
자료구조(1/10)- 시작 /* 이 시리즈의 글은 '파이썬으로 배우는 자료 구조 핵심원리' 책과 함께 합니다*/ 자료구조 데이터를 원하는 규칙, 혹은 목적에 맞게 저장하기 위한 구조 알고리즘 자료구조에 쌓인 데이터를 활용해 문제를 해결하기위한 여러 동작들의 모임 도서관의 책장이 자료구조라면 특정한 책을 찾는 행위가 알고리즘 어떤 상황에서 어떤 자료구조를 사용해야 좀 더 효율적으로, 성능이 좋은 프로그램을 만들수 있는지 각 자료구조의 연산 성능을 판단하는데 사용되는 알고리즘 성능분석 기법 빅오 자료구조를 구성하는 객체와 연산을 기술하는 방법 추상 자료형 그림이 째끔 촌스럽지만.. 익혀둬야할 자료구조를 도식화하면! 그리고 젤 중요한.. 왜 이걸 공부하냐면... 면접에 나와서.. 도 있지만 최적의 효율을 위해 자료(=data)를 구조화..