T I L / 5월 11일

Jay·2020년 5월 11일
0

Today I Learned 🧐

목록 보기
4/71

Algorithm

  • for-else문. for문을 실행할 때 한번도 break로 코드가 중단되지 않았을 경우 else 다음의 구문이 실행된다.

Book

  • <그림으로 개념을 이해하는 알고리즘>
    • 빅오 표기법 : 알고리즘 실행 시간을 표시하는 방법. 최악의 경우를 가정한 실행시간이다.

    • 선택정렬

      • 배열(array) : 각 원소의 인덱스를 알기 때문에 검색 속도가 빠르다.(O(1)), 원소의 물리적 주소가 순차적이기 때문에 새로 추가 / 삭제하기가 어렵다.
      • 연결 리스트(linked list) : 특정 원소의 인덱스 정보는 바로 앞 인덱스에 저장되어 있기 때문에 읽는데 시간이 배열보다 오래 걸린다(O(n)), 원소의 물리적 주소는 순차적이지 않고, 앞 인덱스에 위치 정보만 저장하면 되기 때문에 위치는 상관 없다.

비동기 프로그래밍

  • 동기(Synchronous) : 순서대로 한번에 하나의 코드씩 실행되는 것. 만약 특정 코드가 실행되는데 시간이 걸린다면, 다음 코드는 계속 대기 상태다.
  • 비동기(Asynchronous) : 순서대로 코드가 실행되지만 중간에 특정 코드가 실행되는데 시간이 걸려서 아직 구현되지 않았더라도, 다음 코드가 실행되는 것. 그래서 앞에 있는 코드보다 후에 실행된 코드가 더 빨리 구현될 수도 있다.
  • 자바스크립트는 비동기식으로 구현되었지만, 파이썬은 동기식으로 구성되었다. 하지만 asyncio를 사용하면 비동기식으로 구현이 가능하다.(import asyncio)
profile
You're not a computer, you're a tiny stone in a beautiful mosaic

0개의 댓글