deo2kim
๋งž์™œํ‹€
deo2kim
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ
    • CS
      • Algorithm
      • Data Structure
      • Network
      • DB
      • OS
    • Algorithm Problem
      • Python
      • JavaScript
    • Programming language
      • Python
      • JavaScript
    • Tool
      • Jquery
      • React
    • ๊ฐœ๋ฐœ
    • Infra

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

๋ฐ˜์‘ํ˜•
hELLO ยท Designed By ์ •์ƒ์šฐ.
deo2kim

๋งž์™œํ‹€

๊ณ„์ˆ˜ ์ •๋ ฌ(counting sort)
CS/Algorithm

๊ณ„์ˆ˜ ์ •๋ ฌ(counting sort)

2020. 9. 26. 22:16
๋ฐ˜์‘ํ˜•

๐Ÿ“” ๊ณ„์ˆ˜ ์ •๋ ฌ(counting sort) ์ด๋ž€

  • ์ž‘์€ ๋ฒ”์œ„ ์กฐ๊ฑด์ด ์žˆ๋Š” ๊ฒฝ์šฐ์— ํ•œํ•ด์„œ ๋น ๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ์‹œ๊ฐ„๋ณต์žก๋„: O(N), ์ตœ์•…์˜ ๊ฒฝ์šฐ O(N^2)
  • ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐฏ์ˆ˜๋งŒ ์„ธ์ฃผ๋ฉด ๋œ๋‹ค. ๋น„๊ต์ •๋ ฌ X

 

๐Ÿ“” ๊ณ„์ˆ˜ ์ •๋ ฌ(counting sort) ๊ตฌํ˜„

N = 5  # 5 ์ดํ•˜์ธ ์ˆ˜๋“ค์„ ์ •๋ ฌํ•ด๋ผ
numbers = [1, 2, 3, 4, 5, 1, 1, 2, 3, 4, 5, 3,
           3, 2, 1, 2, 3, 1, 2, 3, 4, 1, 5, 1,
           2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3,
           4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
print(f'์ •๋ ฌ ์ „: {numbers}')
count_list = [0] * (N + 1)

for number in numbers:
    count_list[number] += 1

sorted_numbers = []
for i in range(len(count_list)):
    for j in range(count_list[i]):
        sorted_numbers.append(i)

print(f'์ •๋ ฌ ํ›„: {sorted_numbers}')

 

๐Ÿ“” ๊ณ„์ˆ˜ ์ •๋ ฌ(counting sort) ํŠน์ง•

  • ์žฅ์ 
    • ํŠน์ • ์กฐ๊ฑด์—์„œ ๋งค์šฐ ๋น ๋ฆ„ O(N)
    •  
    • ์•ˆ์ • ์ •๋ ฌ
  • ๋‹จ์ 
    • ๋ฒ”์œ„๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„๊ฐ€ ์‹ฌํ•˜๋‹ค.
    • ์›๋ž˜์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(N+K) ์—ฌ๊ธฐ์„œ K๋Š” ๋ฒ”์œ„์ค‘ ๊ฐ€์žฅ ํฐ ์ˆ˜
      K๊ฐ€ N๋ณด๋‹ค ์ปค์ง€๊ฒŒ ๋˜๋ฉด ์‹œ๊ฐ„๋ณต์žก๋„ ์ฆ๊ฐ€
      ๋งŒ์•ฝ 10๊ฐœ(N)์˜ ์ˆซ์ž๋ฅผ ๋น„๊ตํ•˜๋Š”๋ฐ ๊ฐ€์žฅ ํฐ์ˆ˜๊ฐ€ 100(K)์ด๋ฉด
      100๊ฐœ๋ฅผ ๋ชจ๋‘ ์ˆœํšŒํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(N^2)

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'CS > Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(Depth First Search, DFS)  (0) 2020.09.28
๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰(Breath First Search, BFS)  (0) 2020.09.27
๋ณ‘ํ•ฉ ์ •๋ ฌ(merge sort)  (0) 2020.09.25
ํ€ต ์ •๋ ฌ(quick sort)  (1) 2020.09.24
์‚ฝ์ž… ์ •๋ ฌ(insertion sort)  (0) 2020.09.23
    'CS/Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰(Depth First Search, DFS)
    • ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰(Breath First Search, BFS)
    • ๋ณ‘ํ•ฉ ์ •๋ ฌ(merge sort)
    • ํ€ต ์ •๋ ฌ(quick sort)
    deo2kim
    deo2kim
    ์ฝ”๋”ฉ ๊ธฐ๋กํ•˜๊ธฐ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”