λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

빈 ꡬ멍 μ±„μš°κΈ°

[ν”„λ‘œκ·Έλž˜λ¨Έμ˜ λ‡Œ] λ³€μˆ˜ μ—­ν• 

https://jpub.tistory.com/1234

 

ν”„λ‘œκ·Έλž˜λ¨Έμ˜ λ‡Œ

2022 μ„Έμ’…λ„μ„œ μš°μˆ˜ν•™μˆ λ„μ„œ 선정인지과학을 ν™œμš©ν•œ 개발자의 일머리 κ°œμ„ λ²• λ„μ„œκ΅¬λ§€ μ‚¬μ΄νŠΈ(κ°€λ‚˜λ‹€μˆœ) [ꡐ보문고] [λ„μ„œ11λ²ˆκ°€] [μ•ŒλΌλ”˜] [μ˜ˆμŠ€μ΄μ‹­μ‚¬] [μΈν„°νŒŒν¬] [쿠팑]μ „μžμ±… ꡬ맀 μ‚¬μ΄νŠΈ(κ°€

jpub.tistory.com


 
λ³€μˆ˜κ°€ μ–΄λ–€ μ’…λ₯˜μ˜ 정보λ₯Ό λ‹΄κ³  μžˆλŠ”μ§€λ₯Ό μ΄ν•΄ν•˜λŠ” 것은 μ½”λ“œλ₯Ό μΆ”λ‘ ν•˜κ³  μˆ˜μ •ν•˜λŠ”λ° 결정적인 역할을 ν•œλ‹€.
 
μ΄μŠ€ν… ν•€λž€λ“œ λŒ€ν•™κ΅μ˜ μš”λ₯΄λ§ˆ μ‚¬μ•Όλ‹ˆμ—λ―Έ Jorma Sajaniemji κ΅μˆ˜κ°€ λ§Œλ“  λ³€μˆ˜ μ—­ν•  role of varialbes ν”„λž˜μž„μ›Œν¬λŠ” 
ν”„λ‘œκ·Έλž¨ λ‚΄μ—μ„œ λ³€μˆ˜κ°€ ν•˜κ³ μž ν•˜λŠ” λ°”λ₯Ό λ‚˜νƒ€λ‚Έλ‹€.
 

총 11가지 μ—­ν• 

 

κ³ μ •κ°’ fixed value

μ΄ˆκΈ°ν™”λ₯Ό 톡해 값이 ν• λ‹Ήλœ 이후 값이 λ³€κ²½λ˜μ§€ μ•ŠλŠ” λ³€μˆ˜. μƒμˆ˜.
 

μŠ€νƒœνΌ stepper 

루프λ₯Ό 반볡 μ‹€ν–‰ν•˜λ©° 값이 λ‹¨κ³„μ μœΌλ‘œ λ³€ν•˜λŠ” λ³€μˆ˜. λ‹€μŒ 단계가 μ‹œμž‘ν•  λ•Œ κ·Έ 값을 μ˜ˆμΈ‘ν•  수 μžˆλ‹€. for λ£¨ν”„μ²˜λŸΌ 항상 미리 정해진 값을 따라 λ°˜λ³΅ν•œλ‹€.
 

ν”Œλž˜κ·Έ flag

 λ¬΄μ—‡μΈκ°€ λ°œμƒν–ˆκ±°λ‚˜ μ–΄λ–€ κ²½μš°μ— ν•΄λ‹Ήν•˜μ§€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” λ³€μˆ˜. 주둜 뢈리온 λ³€μˆ˜. μ •μˆ˜, λ¬Έμžμ—΄λ‘œ κ°€λŠ₯ν•˜λ‹€. 예: is_set, is_available 
 

μ›Œμ»€ walker

루프가 μ‹œμž‘λ˜κΈ° 전에 μ–΄λ–€ 값을 κ°€μ§ˆ 지 μ•Œ 수 μ—†λ‹€. 
 

μ΅œκ·Όκ°’ 보유자 most recent holder

μ–΄λ–€ 값이 λ³€ν•΄κ°ˆ λ•Œ κ°€μž₯ μ΅œκ·Όμ— λ³€κ²½λœ 값을 κ°–λŠ” λ³€μˆ˜.
 

λͺ©μ κ°’ 보유자 most wanted holder

νŠΉμ •ν•œ 값을 μ°ΎκΈ° μœ„ν•΄ μ–΄λ–€ 값에 λŒ€ν•΄ λ°˜λ³΅ν•  λ•Œ 찾고자 ν•˜λŠ” κ°’ ν˜Ήμ€ ν˜„μž¬κΉŒμ§€ 발견된 κ°’ λ‘₯μ—μ„œ 찾고자 ν•˜λŠ” 쑰건에 λΆ€ν•©ν•˜λŠ” 값을 κ°–λŠ” λ³€μˆ˜.
예: μ΅œμ†Ÿκ°’, μ΅œλŒ“κ°’, μ–΄λ–€ 쑰건을 λ§Œμ‘±ν•˜λŠ” 첫 번째 κ°’
 

λͺ¨μ§‘μž gatherer

데이터λ₯Ό λͺ¨μœΌκ±°λ‚˜ λͺ¨μ€ 데이터에 λŒ€ν•΄ μ–΄λ–€ 연산을 μˆ˜ν–‰ν•˜μ—¬ 얻은 값을 μ €μž₯ν•˜λŠ” λ³€μˆ˜.
 

μ»¨ν…Œμ΄λ„ˆ container

값을 μƒˆλ‘œ μΆ”κ°€ν•˜κ±°λ‚˜ μ‚­μ œν•  수 μžˆλŠ” 자료ꡬ쑰.
예: 리슀트, λ°°μ—΄, μŠ€νƒ, νŠΈλ¦¬μ— λŒ€ν•œ λ³€μˆ˜
 

μΆ”μ²™μž follower

이전 κ°’, ν˜Ήμ€ λ‹€μŒ 값을 μΆ”μ ν•˜λŠ” μ—­ν• μ˜ λ³€μˆ˜. 항상 λ‹€λ₯Έ λ³€μˆ˜μ— μ—°κ΄€λ˜μ–΄ 있음. 
예: μ—°κ²° λ¦¬μŠ€νŠΈμ—μ„œ 이전 값에 λŒ€ν•œ 포인터. 이진 νŠΈλ ˆμ΄μ„œ 이전에 λ°©λ¬Έν•œ μ›μ†Œμ˜ 인덱슀
 

쑰직자 organizer

λ‹€λ₯Έ 값을 μ €μž₯ν•˜κΈ° μœ„ν•œ λͺ©μ μœΌλ‘œ μ‚¬μš©ν•˜λŠ” λ³€μˆ˜. μ’…μ’… μž„μ‹œ λ³€μˆ˜μ΄κΈ°λ„ ν•˜λ‹€.
 

μž„μ‹œ temporary

μž μ‹œλ§Œ μ‚¬μš©ν•˜κΈ° μœ„ν•œ λ³€μˆ˜. 데이터λ₯Ό λ§žλ°”κΎΈκ±°λ‚˜ λ©”μ„œλ“œλ‚˜ ν•¨μˆ˜μ—μ„œ μ—¬λŸ¬ 번 μ‚¬μš©λ˜λŠ” 계산을 κ²°κ³Όλ₯Ό μ €μž₯ν•  λ•Œ μ‚¬μš©ν•œλ‹€.
 
 

μ°Έκ³  μˆœμ„œλ„ 

μ½”λ“œ λ‚΄ λ³€μˆ˜μ˜ 역할을 νŒλ³„ν•  수 μžˆλŠ” μˆœμ„œλ„


 

μ‹€μ œμ μΈ 팁

ν•„μžλŠ” μ½”λ“œλ₯Ό ν”„λ¦°νŠΈν•˜κ±°λ‚˜ PDF둜 μ €μž₯ν•΄μ„œ μ½”λ“œμ— 주석을 단닀고 ν•œλ‹€. 각 λ³€μˆ˜λ₯Ό μž‘μ€ μ•„μ΄μ½˜μœΌλ‘œ ν‘œμ‹œν•΄ μ£Όμ„μœΌλ‘œ 단닀고 ν•œλ‹€.