[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기

💻 CS/자료구조 & 알고리즘 33

[자료구조] 배열

리스트 in 파이썬 파이썬 리스트는 C 배열을 기반으로 만들어졌다. c 배열 - 선언 시 타입과 크기를 선언하여 배열 크기가 고정되어 있고, - 같은 타입의 데이터만 담기 가능하다. - 배열이 사용할 공간을 미리 할당한다. - 각 메모리 공간에 데이터가 그 자체가 연속적으로 바로 할당되는 형식이다 파이썬 리스트 - 데이터 자체는 연속적인 공간에 할당되어 있지 않지만, - 각 연속적 공간에 각 레퍼런스가 할당되어있어, 그 레퍼런스가 데이터를 가리킨다. - 따라서 그에 따라 리스트 자체로도 다양한 타입의 값을 저장할 수 있다. - (물론 그 크기의 제한도 없다. 레퍼런스가 가리키는 타입에 상관없이 레퍼런스의 크기는 일정하므로, 추가 시 레퍼런스의 크기만큼 추가를 해주면 되기 때문이다. 이에 더해 파이썬 자체..

[자료구조] 컴퓨터가 데이터를 저장하는 방법

컴퓨터가 자료를 저장하는 방식은 2가지 스토리지 : 영구적 저장소 저장속도가 느리고 받아오는 것도 느리다. 정확히 언제 사용할지 모르는 데이터 저장한다. 메모리 : 임시 저장소 저장속도가 빠르고 받아오는 것도 빠르다. 지금 당장 사용할 데이터 저장한다. 두개로 나눠 사용하는 이유는 효율적인 작업을 위해서이다. 자료구조 공부시엔, 이 중 메모리에서 데이터를 잘 활용하는 방법을 익힌다. 메모리 메모리는 각 주소가 담긴 일종의 긴 띠라고 생각하면 편하다. 긴 띠가 구역별로 나누어져 각각의 구역에 데이터가 저장되는 것이다. - 우리가 사용할 메모리는 RAM(Random Access Meomory, 임의접근메모리)이기때문에 어떤 주소에 있던 데이터접근에는 일정한 시간이 소요된다. (O(1)) - 바이트란 컴퓨터 ..

[자료구조] 자료구조란?

자료구조란? 데이터를 저장하고 관리하기 위한 구조이다. 예를 들어, 도서관에서 로미오와 줄리엣이라는 책을 찾으려고 할 때? [문학 도서 구역] -> [영문 고전 구역] -> [제목순 혹은 연도순로 꽂혀있는 책들]에서 로미오와 줄리엣을 찾는다. 이렇게 책을 찾을 수 있었던 것도 도서관 책들이 꽂혀있는 위치가 일정 구조를 가지고 있기 때문이다. 이렇듯 데이터를 정리하는 방법을 자료구조라고 한다. 더 정확히 정의하자면 자료구조는 데이터의 효율적인 접근 및 조작을 가능하게 해주는 데이터의 저장 및 관리 방식 이다. 도서관에서 로미오와 줄리엣을 찾을 수 있었듯이, 특정 데이터를 쉽게 찾고 활용하기 위해서는 특정 구조를 만들어야 한다. 자료구조를 사용하는 이유 set나 list를 예로 들어보자. 1~100000까지..