나는 첫 번째 학기의 일부로 연결된 목록을 사용하는 학생 데이터베이스 인 미니 프로젝트를하고 있습니다. 명세는 사용자가 구조에서 char [4] 인 이름 이니셜을 사용하여 레코드를 검색 할 수 있어야한다는 것입니다.문자열을 이진 검색하는 데 ASCII 문자 합을 사용합니까?
이니셜을 검색하는 두 가지 방법이 있습니다. 하나는 사실상 비효율적 인 선형 검색입니다 (실제로 이것에 대해서는 신경 쓰지 않습니다. 왜냐하면 이것이 어떤 회사의 기본 정보가 될 수 없기 때문입니다) 또는 바이너리 수색.
이진 검색에는 정렬 된 배열이 필요하므로 문자열의 ASCII 합계를 사용하여 검색하는 것이 의미가 있다고 생각합니까?
예를 들어 레코드 1에는 초기 = "AB"가 있고 레코드 2에는 "CD"가 있습니다. 65 + 66 = 131 & 67 + 68 = 135이고 목록은 이니셜을 사용하여 정렬됩니다 (strcmp 사용).
그래서 사용자가 "AB"를 입력하면 131이라는 번호를 찾고 해당하는 경우 레코드를 표시합니까?
이것은 매우 나쁜 생각 일 수 있습니다. 나에게 불꽃을 보내지 말고 왜 나쁜지 설명하십시오.
2011 년에는 사용자 이름을 ASCII로 표현할 수 있다고 가정하면 안됩니다. 우리는 오랫동안 유니 코드를 가졌습니다. –