자료구조

    [Concept] 더블 링크드 리스트 (double linked list)

    [Concept] 더블 링크드 리스트 (double linked list)

    이번 글에서는 더블 링크드 리스트 (이중 연결 리스트) 에 대해 적어보겠습니다. 이전 글에서 적었던 일반 링크드 리스트는 데이터를 조회할 때 head, 즉 앞에서부터 찾아가는 방식이었습니다. But, 만약 데이터가 20000개가 있고, 맨 마지막 데이터를 조회하고자한다면, 20000번 조회를 해야하는거겠죠? 대신 뒤에서부터 조회한다면 어떨까요? 즉, 앞쪽의 데이터를 조회할 떄는 앞에서부터, 뒤쪽의 데이터를 조회할 때는 뒤에서부터 찾아나갈 수 있는 리스트가 더블 링크드 리스트 입니다. 이전 기본 연결 리스트의 노드에는 데이터와 next 주소만 있었다면, 더블 연결 리스트에는 prev 주소도 함께 저장됩니다. 이전 기본 연결 리스트에서는, self.head()만 지정했다면, 더블 연결 리스트에는 self.t..

    [Concept] 자료구조와 알고리즘

    # 자료구조와 알고리즘 [자료구조] Data Structure, 데이터 구조 효율적인 데이터 관리의 예 학생에게 학년&반&번호를 부여하는 것 우편번호 대표적인 자료구조 : 배열, 스택, 큐, 링크드 리스트, 해쉬테이블, 힙 [알고리즘] 어떤 문제를 풀기 위한 절차와 방법 사람마다 문제를 다르게 푸는데, 이 풀이 방법들 중 좋은 알고리즘의 기준은 시간과 공간! 즉, 메모리 공간과 시간 복잡도를 고려하는 것이다. 어떤 자료구조와 알고리즘을 쓰느냐에 따라, 성능이 달라지기 때문에 "자료구조"와 "알고리즘"이 중요한 것. Q. 코딩테스트를 왜 하나요? A. 개발자는 어떤 문제를 해결할 수 있는 능력을 업으로 하기 때문에, 이를 평가 하기 위해 자료구조와 알고리즘을 성능이 좋은 코드로 작성할 수 있느냐!를 검증하..

    머신러닝 개념과 파이썬 기초 문법

    머신러닝 개념과 파이썬 기초 문법

    개강 전에 머신러닝의 개념과 데이터 수집 및 분석 방법을 배워보고자 강의를 듣기 시작했다! 강의를 들으면서 정리한 내용을 올려보겠다. 데이터 처리를 위해서 Python을 이용할 것이다! ▶Beautiful soup이라는 라이브러리를 이용해서 스크레이핑 / 크롤링 방법(데이터 처리기술) ▶이 기술을 활용해서 머신러닝에서 활용할 데이터를 수집하는 방법을 하게 됨 # 인공지능, 머신러닝, 딥러닝 개념 ▶머신러닝은 인공지능의 한 종류 ▶인공 지능 ; 컴퓨터가 인간처럼 생각하는 것 ▶머신 러닝 ; 기계가 학습능력이 있어서 인간처럼 컴퓨터가 스스로 학습하는 것 ; 기계가 배울수있도록 하기위해서는 주어진 데이터가 있어야 학습할 수 있음 (그 데이터를 추출하기 위한 기술 : 스크레이핑, 크롤링) ; 인공지능의 한 종류..