참고참고현실세계의 데이터를 어떻게 프로그래밍적으로 표현할 수 있는지거대한 데이터를 효과적으로 관리하는 것ex) tree, set, graph여러 데이터를 하나의 이름으로 그룹핑하여 관리하기위한 데이터스트럭쳐value, index, element 리스트는 배열이 가지고
스택은 리스트를 생각하면 된다. 먼저 들어간 요소가 앞에 위치하고 이후에 들어오는 요소가 뒤에 쌓인다. 그렇기에 선입후출, Last In First Out(LIFO)의 특징을 가진다.터널같은 구조로 양쪽이 뚫려있다고 생각하면 된다. 먼저 들어간 요소가 먼저 나오고 나중
한 정점에서부터 연결된 다음 정점 연결된 다음 정점을 반복하여 계속 탐색을 하는 방식이다. 이는 stack을 사용하여 구현한다.시간복잡도 : O(V+E) 정점개수 + 간선개수임의의 한 정점에서 연결된 모든 정점을 탐색하는 과정을 반복하는 탐색.queue를 이용한다.시간
반복구문을 돌릴 수 있는 객체를 iterable 하다고 한다. iterable하다고 iterator는 아니다. list는 iterator가 아니다.iter함수를 이용하면 iterable한 객체를 iterator로 만들 수 있다.next함수를 이용해 값을 불러올 수 있다
피봇을 중심으로 하여 피봇값보다 작은 수는 비봇 앞으로, 큰 수는 피봇 뒤로 보내며 이를 재귀적으로 반복하여(divide and conquer) 정렬하는 방식시간 복잡도는 O(nlogn) 최악일땐 O(n^2)python으로 구현하면 다음과 같다.코드출처피봇을 정하고피봇
이진트리 포화이진트리, 완전이진트리 이진트리의 구현 이진트리의 중위, 전위, 후위 순회 ![](https://velog.velcdn.com/images/ann9902/post/1
참고자료(https://velog.io/@emplam27/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-%EA%B7%B8%EB%A6%BC%EC%9C%BC%EB%A1%9C-%EC%95%8C%EC%95%84%EB%B3%B4%EB%8A%94-B-
우선 용어부터 알고가자컴퓨터에서 정보를 저장하는 장치는 메인 메모리(RAM), 하드디스크(HDD)등이 있다.주기억장치, 메인 메모리, 메모리, RAM 다 같은 용어전기신호로 정보를 저장하기에 속도가 매우 빠름.휘발성 기억장치, 전원끄면 내용이 다 날아감.HDD, 보조기
파이썬에서 메모리를 관리하는 방법.어떤 객체의 참조횟수가 0이라면 메모리를 회수한다.하나의 값에 여러 쓰레드가 접근하여 올바르지 않게 값이 쓰이거나 읽히는 것멀티 스레딩 환경에서 하나의 스레드가 작업 중일때 다른 스레드의 접근을 막는 것하나의 스레드가 파이썬 객체에 접
더 빠른 검색을 위해 특정 컬럼에 대하여 정렬하여 색인을 만들어 데이터의 저장위치를 빠르게 찾을 수 있도록 하는 것 아래 그림처럼 이름에 대해 인덱스를 생성하여 SMITH가 위치하는 레코드를 빠르게 찾을 수 있게 한다.이러한 인덱스는 보통 B-Tree로 구성하게 된다.
hash function? bucket 버켓? 해시함수로 키에 대한 인덱스 값을 얻고, 이를 이용해 value를 저장함. 실제 value를 저장하는 곳을 bucket이라고 함
스택영역은 정적할당에, 힙영역은 동적할당에 이용된다. 스택에는 지역변수가 저장되어 호출이 끝나면 소멸된다.힙에는 new명령으로 생선된 인스턴스 변수(사용자의 동적할당)가 저장, 메소드 호출이 끝나도 소멸되지 않는다.클래스, 함수, 문자열, 숫자 모든 것은 객체이다. a
두 개 이상의 프로세스가 공통 자원을 병행적으로(concurrently) 읽거나 쓰는 동작을 할 때, 공용 데이터에 대한 접근이 어떤 순서에 따라 이루어졌는지에 따라 그 실행 결과가 같지 않고 달라지는 상황앞선 race condition 문제를 해결하기 위해선 여러 프
1-1. 캐싱된 DNS기록에서 해당 도메인의 IP주소 있는지 확인1-2. 없다면 DNS서버에 도메인 주소 요청.DNS서버는 계층적인 구조를 갖고 있기에 루트 DNS서버 -> TLD DNS서버 -> Sub DNS서버 순으로 최종적인 google.com의 ip주소를 찾게된
레지스터메인메모리 physical memory 물리메모리보조기억장치 disk컴파일러가 만든 프로그램 실행파일(디스크에 있던)을 메인 메모리에 올린다.cpu가 참조할 수 있는 형태로 물리 메모리에 올리는 것.프로그램이 메모리에 올라와서 실행하게 되면 프로세스마다 독자적인