array 썸네일형 리스트형 C# BinarySearch와 검색 알고리즘 성능 비교 이 글은 C#에서 Array.BinarySearch, List.BinarySearch 사용법과 선형 검색(Linear Search) 대비 성능 차이를 간략히 정리합니다. 정렬 여부, 비교자 일관성, 데이터 크기에 따른 선택 기준을 함께 제시합니다.1. BinarySearch 개요BinarySearch는 정렬된 컬렉션에서 O(log n)으로 대상을 찾는 알고리즘입니다. 선형 검색은 O(n)으로 단순하지만 데이터가 커질수록 비용이 빠르게 증가합니다. BinarySearch는 반드시 같은 기준으로 정렬이 되어 있어야 하며, 찾는 값과 정렬 기준(Comparer)이 일관되어야 합니다.2. 기본 사용법 (배열/리스트)// 배열에서 BinarySearchint[] data = { 1, 3, 5, 7, 9 };int.. 더보기 C# 구조적 비교와 EqualityComparer<T> 커스터마이징 컬렉션 키 비교나 동등성 판단에서 참조 동일성 대신 내용(구조)을 비교하면 버그를 크게 줄일 수 있습니다. C#/.NET은 배열, 튜플, 레코드 등에서 구조적 비교를 지원하며, EqualityComparer를 통해 사용자 정의 타입에도 손쉽게 커스터마이징할 수 있습니다.1. 구조적 비교란?구조적 비교는 객체의 참조가 아닌 내부 구성 요소 값을 기준으로 동등성/정렬을 판단하는 방식입니다. 기본 배열 비교는 참조 비교이며, 튜플/레코드/ValueTuple은 기본적으로 구조적 비교를 지원합니다.using System;using System.Collections;var a1 = new[] { 1, 2, 3 };var a2 = new[] { 1, 2, 3 };Console.WriteLine(Equals(a1, a.. 더보기 이전 1 다음