๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋ฐ”ํ‚น๋…2

[C++] ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ (feat.๋ฐ”ํ‚น๋…) ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์˜ ์ •์˜ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋ž€, ์›์†Œ๋“ค์„ ์ €์žฅํ•  ๋•Œ ๊ทธ ๋‹ค์Œ ์›์†Œ๊ฐ€ ์žˆ๋Š” ์œ„์น˜๋ฅผ ํฌํ•จ์‹œํ‚ค๋Š” ๋ฐฉ์‹์œผ๋กœ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์˜ ์„ฑ์งˆ k ๋ฒˆ์งธ ์›์†Œ๋ฅผ ํ™•์ธ/๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด O(k)๊ฐ€ ํ•„์š” (๋ฐฐ์—ด๊ณผ ๋‹ค๋ฅด๊ฒŒ ๊ณต๊ฐ„์— ์›์†Œ๋“ค์ด ์—ฐ์†ํ•ด์„œ ์œ„์น˜ํ•˜๊ณ  ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ) ์ž„์˜์˜ ์œ„์น˜์— ์›์†Œ๋ฅผ ์ถ”๊ฐ€/์ž„์˜ ์œ„์น˜์˜ ์›์†Œ ์ œ๊ฑฐ๋Š” O(1) โญ๏ธ ์›์†Œ๋“ค์ด ๋ฉ”๋ชจ๋ฆฌ ์ƒ์— ์—ฐ์†ํ•ด์žˆ์ง€ ์•Š์•„ Cache hit rate๊ฐ€ ๋‚ฎ์ง€๋งŒ ํ• ๋‹น์ด ๋‹ค์†Œ ์‰ฌ์›€ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์˜ ์ข…๋ฅ˜ ๋‹จ์ผ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ: ๊ฐ ์›์†Œ๊ฐ€ ์ž์‹ ์˜ ๋‹ค์Œ ์›์†Œ์˜ ์ฃผ์†Œ๋ฅผ ๋“ค๊ณ  ์žˆ๋Š” ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ: ๊ฐ ์›์†Œ๊ฐ€ ์ž์‹ ์˜ ์ด์ „ ์›์†Œ์™€ ๋‹ค์Œ ์›์†Œ์˜ ์ฃผ์†Œ๋ฅผ ๋‘˜๋‹ค ๋“ค๊ณ  ์žˆ๋‹ค. ๋‹จ์ผ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์—์„œ๋Š” ์ฃผ์–ด์ง„ ์›์†Œ์˜ ์ด์ „ ์›์†Œ๊ฐ€ ๋ฌด์—‡์ธ์ง€๋ฅผ ์•Œ ์ˆ˜ ์—†๋Š”๋ฐ, ์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์—์„œ๋Š” .. 2023. 9. 19.
[C++] ๋ฐฐ์—ด (feat. ๋ฐ”ํ‚น๋…) ๋ฐฐ์—ด์˜ ์„ฑ์งˆ O(1)์— k๋ฒˆ์งธ ์›์†Œ๋ฅผ ํ™•์ธ/๋ณ€๊ฒฝ ๊ฐ€๋Šฅ ์ถ”๊ฐ€์ ์œผ๋กœ ์†Œ๋ชจ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ์–‘(์˜ค๋ฒ„ํ—ค๋“œ)๊ฐ€ ๊ฑฐ์˜ ์—†์Œ cache hit rate๊ฐ€ ๋†’์Œ ๋ฉ”๋ชจ๋ฆฌ ์ƒ์— ์—ฐ์†ํ•œ ๊ตฌ๊ฐ„์„ ์žก์•„์•ผ ํ•ด์„œ ํ• ๋‹น์— ์ œ์•ฝ์ด ๊ฑธ๋ฆผ ์‹œ๊ฐ„ ๋ณต์žก๋„ ์ž„์˜์˜ ์œ„์น˜์— ์žˆ๋Š” ์›์†Œ๋ฅผ ํ™•์ธ/๋ณ€๊ฒฝ : O(1) ์›์†Œ๋ฅผ ๋์— ์ถ”๊ฐ€/์ œ๊ฑฐ : O(1) ์ž„์˜์˜ ์œ„์น˜์— ์›์†Œ๋ฅผ ์ถ”๊ฐ€/์ œ๊ฑฐ : O(N) ์‹ค์ œ๋กœ ์ž„์˜์˜ ์œ„์น˜์— ์›์†Œ๋ฅผ ์ถ”๊ฐ€/์ œ๊ฑฐํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด๋ณด์ž void insert(int idx, int num, int arr[], int& len){ len++; int tmp; for(int i=len; i>idx; i--){ //๋งจ ๋์—์„œ๋ถ€ํ„ฐ ๋ฐ˜๋ณต๋ฌธ arr[i] = arr[i-1]; } arr[idx]=num; } void erase(int idx, int .. 2023. 9. 13.