여기저기 돌아다니다보면 오름차순으로 소팅되어있는데도 순차탐색 많이 쓴다하던데 실제로는 별 차이없는거냐?
상식적으로 O(n)이랑 O(logn)인데 흠;;
자료의 양이랑 캐시를 고려해야지. 작은 자료는 순차 탐색이 더 빠르다.
만약 정렬되어 있다 해도 그게 링키드 리스트 형태면 당연히 이진 탐색을 바로 쓸 수 없다. 이진 트리면 이진 탐색이 기본이고.
log n 이 빠른 이유는 일정 시간이 지난 후에는 프로세스에 필요한 메모리 공간이 더 늘어 나지 않기 때문인데, 그 시간이 지나기 전에는 꼭 이게 더 빠른 건 아님
로그 함수 그래프 검색하고 와라
파이프라인을 모르는 소리.
아 지역성을 고려하라는 말이군여
앱에서는 그냥 쏘트함수 한줄로....
ㅋㅋㅋ 똥드앱 만들다가 그냥 이왕이면 퍼포먼스 좋게해주는 쪽으로 가자 하다가 생각난거임. 데이터 집어넣을때 logn + 탐색할때 logn을 쓰는게 순차탐색처럼 넣을때 O(1) 탐색할때 O(n)보다 더 나을거라 생각했는데 역시 생각못한게 있었구만.... 이런 지식은 어디서 배우는건지 ㅋㅋ 운영체제 수업들을때도 캐쉬나 지역성같은건 개념으로만 알았지 이렇게 실제적으로 적용하는건 처음봄..
정확히 말하면 처음본건 아닌데 이런건 경험에서 축적되는걸까?
자료의 양이랑 캐시를 고려해야지. 작은 자료는 순차 탐색이 더 빠르다.
만약 정렬되어 있다 해도 그게 링키드 리스트 형태면 당연히 이진 탐색을 바로 쓸 수 없다. 이진 트리면 이진 탐색이 기본이고.
log n 이 빠른 이유는 일정 시간이 지난 후에는 프로세스에 필요한 메모리 공간이 더 늘어 나지 않기 때문인데, 그 시간이 지나기 전에는 꼭 이게 더 빠른 건 아님
로그 함수 그래프 검색하고 와라
파이프라인을 모르는 소리.
아 지역성을 고려하라는 말이군여
앱에서는 그냥 쏘트함수 한줄로....
ㅋㅋㅋ 똥드앱 만들다가 그냥 이왕이면 퍼포먼스 좋게해주는 쪽으로 가자 하다가 생각난거임. 데이터 집어넣을때 logn + 탐색할때 logn을 쓰는게 순차탐색처럼 넣을때 O(1) 탐색할때 O(n)보다 더 나을거라 생각했는데 역시 생각못한게 있었구만.... 이런 지식은 어디서 배우는건지 ㅋㅋ 운영체제 수업들을때도 캐쉬나 지역성같은건 개념으로만 알았지 이렇게 실제적으로 적용하는건 처음봄..
정확히 말하면 처음본건 아닌데 이런건 경험에서 축적되는걸까?