디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

자료구조를 직접 구현할 일은 별로 없긴 하지만 개념은 중요함모바일에서 작성

프갤러(223.39) 2025.10.10 13:38:31
조회 495 추천 10 댓글 9

컴퓨터로 하는 작업은 대부분이 데이터를 다루는 일임


즉 자료를 받아서 저장하고 처리하고 보내고 삭제하고 하는 작업들이 대다수임


자료구조라는 건 이 자료를 저장할 때 어떻게 저장할까 하는 부분을 다루는 거임


그래서 자료구조의 원리는 당연히 이해해야 하고 컴공 전공생들은 전필로 배우게 됨



예를 들어봄


DB 인덱싱의 원리는 이진탐색임 (해쉬를 사용하는 경우도 있긴 한데 일반적이진 않음)


이진탐색을 통해 원하는 데이터를 빠르게 찾아내자는 게 인덱싱의 핵심 아이디어임


여기서 이진탐색에 가장 적합한 자료구조는 뭘까? 바로 이진트리 구조임


근데 이진트리를 생으로 쓰면 비효율적이니 그걸 개조해서 사용했고 그 결과물이 B+트리임


만약 자료구조를 잘 이해했다면, "N개의 데이터 중 x값이 6 이상인 데이터를 x값 기준으로 정렬해서 가져오고 싶은데, M 번째 자료부터 M+30 번째 자료까지를 끄집어내고 싶다" 같은 쿼리문을 날리면 x값에 인덱싱이 걸려있다고 해도 데이터를 끄집어내는 데 걸리는 시간이 대략 (logN) + M + 30 임을 직관적으로 알 수 있음


왜 그럴까? 왜냐면 B+트리에서는 그 M 번째 데이터가 무슨 데이터인 지 빠르게 알 수 있는 방법이 없거든


이진트리는 기본적으로 비선형 자료구조이니 말 할 필요조차 없고, B+트리는 리프노드에 링크드 리스트 형태로 데이터가 깔려있기는 하지만 결국 링크드 리스트 자체가 M번째 데이터를 가져오려면 O(M)이 걸리는 자료구조이기 때문임


만약 자료구조를 잘 이해하고 있다면 이런 점을 곧바로 파악할 수 있음


하지만 그저 "인덱싱은 데이터를 알아서 잘 끄집어와주는 무언가" 라고만 이해하고 있었다면 이 부분에서 빵꾸가 뚫리는 거임


나중에 M 값에 뭔가 큰 값이 들어갈 일이 있다면 "흠 얘는 M개의 데이터를 스캔하게 될텐데? 이거 괜찮나?" 라는 생각을 할 줄 아는 사람과 그냥 아무것도 모르고 문제의 소지가 될 수 있다는 발상 자체를 못 하는 사람은 결국 응용력에서 차이가 나게 됨

추천 비추천

10

고정닉 1

1

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 스타보다 주목 받는 것 같은 반려동물은? 운영자 25/10/20 - -
AD iPad Pro 사전예약!! 운영자 25/10/17 - -
공지 프로그래밍 갤러리 이용 안내 [97] 운영자 20.09.28 48078 65
2897346 부산 하야리아 미군부대 자리에 만든공원 [1] ㅇㅇ(175.197) 05:26 14 0
2897343 열등감에 쩔어서 신고글삭했노 ㅆㅇㅆ(124.216) 04:41 18 0
2897342 부산 만한 도시가없어 [1] ㅇㅇ(175.197) 04:39 17 0
2897341 납품했으니 잠이나 잘련다. ㅆㅇㅆ(124.216) 04:37 11 0
2897340 부산 모습 [1] 피치(175.197) 04:18 17 0
2897339 진짜 유전자 별나네 ㅅㅂ 뭔 사소한게 이렇게 따라가게 되지 ㅇㅇ(223.39) 03:52 15 0
2897337 뭔 나와서 자취를 해도 참. 쟤 불쌍한게 뭐냐면 [2] ㅆㅇㅆ(124.216) 03:48 37 0
2897331 그냥 무시가 답 [1] ㅇㅇ(124.48) 03:36 63 1
2897327 제일 이해가 안가는게 걍 해본 적이 없는 놈이 저런말하니까. ㅆㅇㅆ(124.216) 03:12 25 0
2897321 데싸는 파이썬이다.... [1] ㅇㅇ(124.48) 02:55 54 0
2897319 최근들어 상대가 최선의수를 안쓰길 바라는빈도가 늘은듯 공기역학갤로그로 이동합니다. 02:44 16 0
2897317 진지하게 잠 안오는데 편의점 가냐마냐 ㅇㅅㅇ ㅇㅇ(223.39) 02:07 13 0
2897315 AI + 1인 개발인데 게임 출시를 목표로 한다면 [2] 프갤러(121.154) 01:51 45 0
2897313 근데 ㅆㅇㅆ는 뭐냐 [2] 프갤러(123.199) 01:38 41 0
2897311 우리회사 개발자 3명인데 [2] ㅇㅇ(223.39) 00:58 57 0
2897307 여기는 가지 마라 프갤러(160.238) 00:19 62 0
2897305 [1인`1개] 배달의 민족 30,000 원 짜리 쓸 사람 써 ! [1] ㅇㅇ(223.39) 10.19 33 0
2897304 개발자들 이제 뭐먹고살아야함? [4] 프갤러(39.117) 10.19 104 0
2897303 통계학과에서 데이터사이언스 배워? [1] 돌진하자(121.175) 10.19 31 0
2897302 아니 공공데이터포털 아직도 안돼? 데이터 써야하는데 ㅅㅂ [1] 프갤러(124.59) 10.19 48 0
2897301 코딩갤 맞음? 왜 정치글이 념글임? [2] ㅇㅇ갤로그로 이동합니다. 10.19 46 0
2897299 나님 탈갤합니당.. [1] ♥덩냥이♥갤로그로 이동합니다. 10.19 36 0
2897298 인생 역대급으로 목적이없음 [8] 공기역학갤로그로 이동합니다. 10.19 77 0
2897294 아프리카 흑인들도 짱깨 더럽다고 무시하넹 ♥덩냥이♥갤로그로 이동합니다. 10.19 23 0
2897293 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥덩냥이♥갤로그로 이동합니다. 10.19 42 0
2897292 러스트 배우면 갹체지향도 그냥 깔끔하게 끝납니다. 프갤러(110.8) 10.19 35 0
2897291 흐흣.. 모모야.. 기다려.. [1] ♥덩냥이♥갤로그로 이동합니다. 10.19 41 0
2897290 남녀평등 배구공(119.202) 10.19 37 0
2897289 OOP가 참 존나 웃김 [6] 루도그담당(58.239) 10.19 116 0
2897288 데이터 싸이언스 할라면 R 타이디버스부터 해야함 ㅆㅇㅆ(124.216) 10.19 31 0
2897287 뭐 어떤 지향이 필수는 아님. 결국 다형성의 구현이니까 [4] ㅆㅇㅆ(124.216) 10.19 63 0
2897286 데이터 사이언스 할려면 도메인부터 먼저 필수임? [6] 돌진하자(121.175) 10.19 66 0
2897285 죽을까 프갤러(106.101) 10.19 35 0
2897284 발음 굿~ ♥덩냥이♥갤로그로 이동합니다. 10.19 27 0
2897283 아 재밌고 어려운거 심장떨리는거 하고싶다 [1] ㅆㅇㅆ(124.216) 10.19 57 0
2897281 논문 재현외주는 재미는 있는데 돈이 안되네 [4] ㅆㅇㅆ(124.216) 10.19 72 0
2897280 믿고 거르는 찢두순 ㅋㅅㅋ ♥덩냥이♥갤로그로 이동합니다. 10.19 19 0
2897279 oop는 필요성을 느껴야지, 연습한다고 의미 없음 ㅋㅋ [2] 에이도비갤로그로 이동합니다. 10.19 55 0
2897278 나님 슬슬 치카푸카악퉷 하구 주무실 준비 ♥덩냥이♥갤로그로 이동합니다. 10.19 44 0
2897277 쉬야하궁 부르르 했당 [2] ♥덩냥이♥갤로그로 이동합니다. 10.19 63 0
2897276 음기 충전 발명도둑잡기(39.7) 10.19 54 0
2897275 점심 간식 저녁 발명도둑잡기(39.7) 10.19 19 0
2897273 “내가 망해도 남이 더 망하면 좋다”는 인간의 본성 [1] 발명도둑잡기(39.7) 10.19 32 0
2897272 상냥하게 대해줘멍..❤+ [2] ♥덩냥이♥갤로그로 이동합니다. 10.19 67 0
2897271 함수형보다는 ㅇㅇ(118.235) 10.19 39 0
2897270 유방암환자를 돕는 최선책은 의료, 제약을 공영화하는 것 발명도둑잡기(39.7) 10.19 19 0
2897269 자기전에 야구 하이라이또 봐야징 [1] ♥덩냥이♥갤로그로 이동합니다. 10.19 49 0
2897268 나님 길냥덩 마스터임 ㅇㅅㅇ ♥덩냥이♥갤로그로 이동합니다. 10.19 52 0
2897267 소화되면 바루 자야징 ♥덩냥이♥갤로그로 이동합니다. 10.19 41 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2