2024/09/23 4

[ComputerScience] c++의 map과 set

이 게시글은서울대학교 데이터사이언스대학원조요한 교수님의데이터사이언스 응용을 위한 컴퓨팅 강의를학습을 위해 재구성하였습니다.저번시간엔 c++의 list에 대해서 정리해보았고오늘은 map과 set 대해서 정리해보려한다  Map  map은 python의 dict와 비슷하다고 볼 수 있는데key-value가 서로 associate되어있는 구조이다 key들은 모두 unique하며각 element들은 key들의 ascending order로sort 되어있다 hash table과는 완전히 다른 구조이다  map은 내부 구조로balanced binary search tree를 갖고있다 각 node들은 Key-value pair인std::pair 오브젝트로 구현되어있다 balance tree이기 때문에tree의 차수가 ..

[ComputerScience] c++와 list

이 게시글은서울대학교 데이터사이언스대학원조요한 교수님의데이터사이언스 응용을 위한 컴퓨팅 강의를학습을 위해 재구성하였습니다.저번시간에는 vector에 대해 공부했고이번 시간에는 list에대해 정리해보려한다  c++의 list는 python의 List와는 다르다python의 list와 비슷한건 c++의 vector이다c++의 list는 python의 list와는 다르게non-contiguous(비연속) memory 구조이다 메모리 공간을 비연속적으로 할당받으니linked list처럼 다음 element의 위치정보를담는 pointer를 갖고있어야한다 c++의 List는이전 element와 다음 element까지2개의 포인터를 갖고있다 따라서 어느 위치에서나insertion과 deletion이 가능하지만rand..

[ComputerScience] c++의 vector

이 게시글은서울대학교 데이터사이언스대학원조요한 교수님의데이터사이언스 응용을 위한 컴퓨팅 강의를학습을 위해 재구성하였습니다.Container element들을 담고있는 data structure들을c++에서 지원하는데 이런 것들을 container라고 부른다보통 vector, list, map, set, deque 등등이 있다  이 게시글에서 배워볼 것은 vector vector vector는 python의 list와 비슷하다element들이 array처럼연속적인 저장소에 저장되어있으며random access가 가능하다(index로 접근 가능) 그리고 요소들의 중간에insertion과 deletion은 어렵겠지만맨 뒤에 insert와 delete하는 것은 쉽다 element들이 계속 들어와서 현재 갖고있는..

[ComputerScience] c++의 file I/O Streams와 string

이 게시글은서울대학교 데이터사이언스대학원조요한 교수님의데이터사이언스 응용을 위한 컴퓨팅 강의를학습을 위해 재구성하였습니다.저번시간은 c++의 입출력 시스템인std::cin과 std::cout에 대해서 배웠었다 이번 시간에는c++의 File I/O Streams에 대해 배워보자 c++의 File I/O Stream는ifstream, ofstream을 사용한다ifstream이 Input file systemofstream이 output file system이다 헤더에는 #include 을 정의해줘야사용할 수 있고standard I/O Stream과 비슷한 방식으로사용된다고한다  File Read std::ifstream file(PATH)로 파일 변수를 선언해준다이렇게 선언하면 읽어올 파일의 변수명은 fil..