본문 바로가기

자료구조3

[Basic of Basic] 알고리즘 기본 정리 - 단방향 리스트와 양방향 리스트 본 포스팅은 '그림으로 배우는 알고리즘 Basic' - 스기우라 켄 저, 영진닷컴 출판 - 을 공부하며 정리한 포스팅입니다 1. 자료구조 - 배열. 리스트 단방향 리스트와 양방향 리스트를 배우기 앞서 배열과 리스트에 대해 간단히 짚고 넘어가 보도록 하자. 앞선 포스팅에서 말했듯이 배열이란 '데이터를 빈틈없이 나열한 자료구조'이다. 반면 리스트는 데이터를 순서대로 나열한 자료구조이다. 얼핏 보면 두 자료구조가 크게 다르지 않아 보일 수 있지만 두 자료구조는 다른 특징을 가지고 있다. 배열과 리스트 배열 1차원 배열의 경우 요소를 일직선 상에 빈틈 없이 나열하여 리스트를 정렬한다 조회가 빠르다 삽입. 삭제 시 오래 걸린다 리스트 '방향성이 있는 끈'으로 각각의 요소들을 연결시켜 데이터를 정렬한다 조회가 느리.. 2020. 8. 30.
[Basic of Basic] 알고리즘 기본 정리 - 자료구조란 무엇인가? 본 포스팅은 '그림으로 배우는 알고리즘 Basic' - 스기우라 켄 저, 영진닷컴 출판 - 을 공부하며 정리한 포스팅입니다 우선 자료구조란 무엇인지에 대해 알아보도록 하자. 간단한 예제와 함께 자료구조에 대한 감을 잡으면 성공이다. 1. 자료구조란 무엇인가? "대량의 데이터를 효율적으로 관리하고자 하는 메커니즘이 바로 자료구조이다" 일상 속에서 살펴볼 수 있는 자료구조로는 어떤 것들이 있을까? 우편번호 전화번호 반, 번호 우리 일상속에서 찾아볼 수 있는 대표적인 자료구조는 바로 '우편번호'이다. 우정사업본부에서는 우편물의 효율적인 관리를 위해 5자리 구역번호를 사용한다. 처음 두 자릿수를 통해서는 '시. 도'를 파악할 수 있고, 세 자리를 통해서는 자치구까지 파악할 수 있으며 마지막 두 자리로는 '시. .. 2020. 8. 30.
[파이썬 알고리즘 인터뷰] Chap4. Big-O, Data Structure 본 포스팅은 책만 출판사에서 출간한 박상길 님의 '파이썬 알고리즘 인터뷰'를 바탕으로 작성된 포스팅입니다. 개인 공부 목적으로 책을 통해 공부한 알고리즘의 주요 내용들을 요약. 정리합니다. 요약정리 Big-O Big-O는 알고리즘을 다루는 모든 책에 등장하는 중요한 개념이다 알고리즘이 얼마나 효율적인지 효율성을 나타내는 지표라고 생각해볼 수 있다 빅오는 입력값이 무한대로 커질 때 점근적 실행 시간(Asymptotic Running Time)을 표기하는 수학적 표기법 중 하나이다 상한 주어진 경우에서 알고리즘이 수행하는 시간의 상한을 의미한다.(가장 느리게 수행하는 시간!) Amortized Analysis(분할 상한) 해당 경우 알고리즘이 수행하는 최악의 경우만 고려하는 것은 극단적이지 않을까? 최악의 .. 2020. 8. 13.