본문 바로가기
  • The future is ours
반응형

datastructure2

시간복잡도 Big-oh (big-o) notation 점근 표기법 알고리즘에 대해 공부하다보면, 처음부터 볼 수 있는 개념이 하나 있다. 그것은 바로 시간복잡도이다. 현재 글을 적는 시점에서도, 나도 가끔 가다가 빅오표기법의 계산을 잘못하여 효율성을 잘못 따질때가 있다. 오늘은 이 시간복잡도에 대해서 알아보고자 한다. 모든 동작에는, 시간과 메모리가 필요로 한다. 이 중 시간복잡도는 프로그램을 실행할 때 소요되는 시간을 계산하는것이다. 구문, 함수의 종류 등에 의해 다양한 공식을 띄게 되는데, 크게 아래의 사진과 같은 방식으로 분류된다. O(1), O(logn), O(n), O(n!) 등과 같은 방식이 존재하며, 위의 방식 이외에 적힌 식에 따라 O(n^5) 등 다양한 파생된 결과가 출력될 수 있다. X축은 투입되는 자료의 갯수, Y축은 그 자료들을 투입한 프로그램의 .. 2022. 4. 28.
자료구조 기초 개념, 링크드리스트 Linked-list(Python, Java 등) 자료구조 Data Structure의 개념에 대해 간단히 설명해보고자 한다. 시험기간이기에 중간고사 범위에 대한 간략한 정리와 설명을 할 예정이다. 자료구조란 자료를 저장하고 '정렬'을 수월하게 하기 위한 방식이며, 일반적인 코드를 짜는 것보다 효율적으로 코드를 짤 수 있다. 리니어 방식과 non 리니어 방식이 있는데, 리니어에는 linked list, 스택, 큐 등의 방법이 존재하며, non 리니어에는 트리와 그래프 등의 방식이 존재한다. 논리니어는 시험범위가 아니기에 아직 설명을 할 수는 없고, 우선 리니어 방식의 자료구조에 대해 알아보겠다. 위의 주제 중 스택과 큐, 덱에 관한 글은 문제풀이를 하며 설명을 잠깐 한 적이 있으므로, 이번 시간에는 링크드리스트에 대해 알아보고자 한다. 흔히 리스트를 이.. 2022. 4. 17.
반응형