ABOUT ME

Today
Yesterday
Total
  • [TIL] IT 5분 잡학사전 Ep. 22~25
    카테고리 없음 2023. 2. 24. 02:49

    *오늘 TIL 3줄 요약

    • 알고리즘 : 컴퓨터에게 내리는 지시 사항을 나열한 것 , 자료구조 : 데이터를 효율적으로 보관하고 찾기 위한 방법
    • 알고리즘의 속도를 표현하는 방법 : Big-O
    • 검색알고리즘 : 선형, 이진 등


    *TIL (Today I Learned) 날짜

    23.02.24

    *오늘 읽은 범위

    Ep. 22~25

    책에서 기억하고 싶은 내용을 써보세요.

    • 시간 복잡도는 작업 속도를 말한다. 무엇을 보고 판단하나? 작업이 거치는 단계의 수로 판단한다.
    • 비휘발성메모리는 컴퓨터의 하드 드라이브, 휘발성 메모리는 램 이라 볼 수 있다. 여기서 램은 속도가 빠르다. 램은 주소지가 적힌 각각의 공간들을 가지고 있기 때분이다. 그렇기에 속도가(무언가를 찾기가) 좀 더 쉽고 빠르다. 램의 관점에서 배열을 볼 때, 삽입과 삭제는 느릴 수밖에 없고(각각의 내용물들을 계속 옮겨야하므로) 검색은 중간, 읽어내는 것은 빠르다.(읽어내는 것은 주소를 알기에, 주소로 들어가 값을 읽어오면 되니까. 검색은 각각의 내용물들을 까서 계속 확인해야함)
    • 시간 복잡도에서 중요한 것은, 실행 단계이다(시간 복잡도를 나타내는 Big-O도 당연히 그러함).  그렇기 때문에
    def print_first(arr):
    	print(arr[0])
    def print_first(arr):
    	print(arr[0])
    	print(arr[0])

    두 코드의 시간 복잡도는 O(1)로 같다! (둘 다 한 번만 실행하면 끝나니까)

    시간복잡도 O(N) 인 경우

    def print_all(arr):
    	for n in arr:
    		print(n)

    N번 만큼 실행되어야하므로

    • 이진 검색 알고리즘은 거대한 배열을 다룰 때 효과적이며, 이진 검색 알고리즘을 사용하고 싶다면 무조건 정렬이 되어 있어야한다


    오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

    대학교때 배웠던 내용들을 복습하는 느낌! 오늘 시간으로 간단하게 개념을 복습했으니, 다음에는 더 깊게 공부해봐야지. 사실 조금 아쉬웠다,,,(괜히 공부한 거 다 기억나는 척) 대학 때 배우던 내용들이 역시 좀 깊은 내용이었군,,,, 좀 더 다양한 탐색들이 흐릿하게 기억나는 중 ㅋㅋㅋ

    궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
    x

     

    오늘 읽은 다른사람의 TIL

    IT 5분 잡학사전 - 6 (tistory.com)

     

    IT 5분 잡학사전 - 6

    Day 7 오늘 읽은 범위 에피소드 22 - 자료구조와 알고리즘은 필수라고? 에피소드 23 - 배열이 뭐죠? 에피소드 24 - 알고리즘의 속도는 어떻게 표현할까? 에피소드 25 - 검색 알고리즘이 뭐죠? 책에서

    jw-coding.tistory.com

     

Designed by Tistory.