[์ด๋ก ] ๋ฐฐ์—ด (feat. ์ฝ”๋“œํŠธ๋ฆฌ ์กฐ๋ณ„๊ณผ์ œ : 3์ฃผ์ฐจ)

2024. 8. 4. 02:04ยท์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ•™์Šต

 

์ •์  ๋ฐฐ์—ด

  • ๋ฐฐ์—ด์˜ ์„ ์–ธ๊ณผ ๋™์‹œ์— ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•˜๋ฉฐ, ์„ ์–ธ ์ดํ›„์—๋Š” ํฌ๊ธฐ๋ฅผ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋‹ค.

๋™์  ๋ฐฐ์—ด

  • ๊ธธ์ด๊ฐ€ ์ž์œ ์ž์žฌ๋กœ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋Š” ๋ฐฐ์—ด. ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€ ๋งŒํผ๋งŒ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ •์  ๋ฐฐ์—ด์˜ ๊ธฐ๋ณธ ์—ฐ์‚ฐ

์‚ฝ์ž…

  • ๋ฐฐ์—ด์˜ ์•ž์ด๋‚˜ ๊ฐ€์šด๋ฐ์— ๊ฐ’์ด ์‚ฝ์ž…๋œ๋‹ค๋ฉด, ์ƒˆ๋กœ์šด ๊ฐ’์ด ๋“ค์–ด๊ฐˆ ์ž๋ฆฌ๋ฅผ ํ™•๋ณดํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค๋ฅธ ๊ฐ’๋“ค์˜ ์ž๋ฆฌ ์ด๋™์ด ํ•„์š”ํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ์ผ๋ฐ˜์ ์ธ(์ตœ์•…์˜ ์ƒํ™ฉ์—์„œ์˜) ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(N)์ด๋‹ค.
  • ์ฆ‰, ๋‹ค๋ฅธ ๊ฐ’๋“ค์˜ ์ž๋ฆฌ ์ด๋™์ด ํ•„์š”ํ•˜์ง€ ์•Š์€ ์ƒํ™ฉ( ๋งจ ๋’ค์— ๊ฐ’์ด ์‚ฝ์ž…๋˜๋Š” ๊ฒฝ์šฐ)๋Š” ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ O(1)์ด๋‹ค.

์‚ญ์ œ

  • ์‚ฝ์ž…๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฐฐ์—ด์˜ ๋งจ ๋’ค์— ๊ฐ’์ด ์‚ญ์ œ๋œ๋‹ค๋ฉด ์‚ญ์ œ ํ›„ ๋‹ค๋ฅธ ๊ฐ’๋“ค์˜ ์ž๋ฆฌ ์ด๋™์ด ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค.
  • ๋ฐฐ์—ด์˜ ์•ž์ด๋‚˜ ๊ฐ€์šด๋ฐ์—์„œ ๊ฐ’์„ ์‚ญ์ œํ•œ๋‹ค๋ฉด ์‚ญ์ œ๋œ ๊ฐ’์˜ ๋นˆ ์ž๋ฆฌ๋ฅผ ์ฑ„์›Œ์•ผ ํ•˜๋ฏ€๋กœ ๋‚˜๋จธ์ง€ N-1 ๊ฐœ์˜ ๊ฐ’์ด ์ด๋™ํ•ด์•ผ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(N)์ด๋‹ค.

ํƒ์ƒ‰

  • ์›ํ•˜๋Š” ๊ฐ’์„ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ชจ๋“  ๊ฐ’์„ ํƒ์ƒ‰ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(N)์ด๋‹ค.
  • ์ฐพ๋Š” ๊ฐ’์ด ๋งจ ์•ž์ด๋‚˜ ๋’ค์ธ ๊ฒฝ์šฐ๋Š” O(1)์ด๊ฒ ์ง€๋งŒ, ์‹œ๊ฐ„๋ณต์žก๋„๋Š” ์ตœ์•…์˜ ์ƒํ™ฉ์„ ๊ณ ๋ คํ•˜๋ฏ€๋กœ...

 

์ •์  ๋ฐฐ์—ด๊ณผ ๋™์  ๋ฐฐ์—ด์˜ ์‹œ๊ฐ„ ๋ณต์žก๋„ โฑ๏ธ

  • ๋™์  ๋ฐฐ์—ด์€ ์‚ฝ์ž…, ์‚ญ์ œ, ํƒ์ƒ‰ ๊ณผ์ •์€ ๋ชจ๋‘ ์ •์  ๋ฐฐ์—ด๊ณผ ๋™์ผํ•˜์ง€๋งŒ, ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ๋งŒ ์ฐจ์ง€ํ•œ๋‹ค.
  ์ •์  ๋ฐฐ์—ด (Array) ๋™์  ๋ฐฐ์—ด (Dynamic Array)
์‚ฝ์ž… O(N) O(N)
์‚ญ์ œ O(N) O(N)
ํƒ์ƒ‰ O(N) O(N)
K๋ฒˆ์งธ ์›์†Œ ๊ตฌํ•˜๊ธฐ O(1) O(1)
  • K๋ฒˆ์งธ ์›์†Œ๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒฝ์šฐ์—” ์ธ๋ฑ์Šค๋ฅผ ํ™œ์šฉํ•˜์—ฌ  ํƒ์ƒ‰ํ•˜๋ฏ€๋กœ O(1) ์ด๋‹ค.

 

Java ์—์„œ์˜ ๋™์  ๋ฐฐ์—ด (ArrayList)

import java.util.ArrayList;

public class Main {
	public static void main(String[] args) {
    	ArrayList<Integer> al = new ArrayList<>(); // ์ •์ˆ˜๋ฅผ ๊ด€๋ฆฌํ•  ArrayList ์„ ์–ธ
        
        // 1. add(E)
        al.add(2); 						// al : [2]
        al.add(3); 						// al : [2, 3]
        
        // 2. remove(index)
        al.remove(1); 					// ์ธ๋ฑ์Šค 1์„ ์‚ญ์ œ
            
        // 3. size()
        al.size(); 						// ํ˜„์žฌ ArrayList์— ๋“ค์–ด์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜
               
        // 4. get(index)
        al.get(0); 						// ์ธ๋ฑ์Šค 0์— ์žˆ๋Š” ์›์†Œ๋ฅผ ์กฐํšŒ
        
    }
}

๋™์  ๋ฐฐ์—ด(ArrayList) ๊ธฐ๋ณธ ๋ฌธ์ œ

 

 

์ž๋ฐ”์—์„œ ์ •์  ๋ฐฐ์—ด๊ณผ ๋™์  ๋ฐฐ์—ด์— ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹นํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅผ๊นŒ??

์ฐจ๊ทผ์ฐจ๊ทผ.. ๊ณต๋ถ€ํ•˜๊ณ  ์•Œ์•„๋ณด๊ณ  ์ •๋ฆฌํ•ด๋ด์•ผ๊ฒ ๋‹ค..

์ถ”ํ›„์—...

์ €์ž‘์žํ‘œ์‹œ

'์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ•™์Šต' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋ฌธ์ œํ’€์ด] ๋ฐฑ์ค€ 5427 ๋ถˆ  (1) 2025.02.14
[๋ฌธ์ œํ’€์ด] ๋ฐฑ์ค€ 1697 ์ˆจ๋ฐ”๊ผญ์งˆ  (1) 2025.02.13
[๋ฌธ์ œ ํ’€์ด] SWEA 4615. ์žฌ๋ฏธ์žˆ๋Š” ์˜ค์…€๋กœ ๊ฒŒ์ž„  (0) 2024.08.12
[๋ฌธ์ œ ํ’€์ด] ํ–‰๋ณตํ•œ ์ˆ˜์—ด์˜ ๊ฐœ์ˆ˜ (feat. ์ฝ”๋“œํŠธ๋ฆฌ ์กฐ๋ณ„๊ณผ์ œ : 4์ฃผ์ฐจ)  (3) 2024.08.11
[์ด๋ก ] ๊ณต๊ฐ„๋ณต์žก๋„ (feat. ์ฝ”๋“œํŠธ๋ฆฌ ์กฐ๋ณ„๊ณผ์ œ : 1์ฃผ์ฐจ)  (0) 2024.07.19
'์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ•™์Šต' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฌธ์ œํ’€์ด] ๋ฐฑ์ค€ 1697 ์ˆจ๋ฐ”๊ผญ์งˆ
  • [๋ฌธ์ œ ํ’€์ด] SWEA 4615. ์žฌ๋ฏธ์žˆ๋Š” ์˜ค์…€๋กœ ๊ฒŒ์ž„
  • [๋ฌธ์ œ ํ’€์ด] ํ–‰๋ณตํ•œ ์ˆ˜์—ด์˜ ๊ฐœ์ˆ˜ (feat. ์ฝ”๋“œํŠธ๋ฆฌ ์กฐ๋ณ„๊ณผ์ œ : 4์ฃผ์ฐจ)
  • [์ด๋ก ] ๊ณต๊ฐ„๋ณต์žก๋„ (feat. ์ฝ”๋“œํŠธ๋ฆฌ ์กฐ๋ณ„๊ณผ์ œ : 1์ฃผ์ฐจ)
bamDal
bamDal
๊ด€์‹ฌ์žˆ๋Š” ๋ถ„์•ผ ๊ณต๋ถ€ํ•˜๋Š” ๋ธ”๋กœ๊ทธ.....๐ŸŒ™๐ŸŒฐ
  • bamDal
    ๐ŸŒ™๐ŸŒฐ๋‹ฌ๋ฐค์— ์ฝ”๋”ฉ
    bamDal
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ
      • TIL
      • Back-End
        • JAVA
        • SPRING
        • ํŒŒ์ด์ฌ
        • Linux
      • DataBase
        • MariaDB
      • CS
        • ์ž๋ฃŒ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜
      • Infra
      • Tool
        • Git
        • IntelliJ
      • Etc
      • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ•™์Šต
      • Front-End
        • jQuery
        • AJAX
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ์นดํ…Œ๊ณ ๋ฆฌ
    • ํƒœ๊ทธ
  • ๋งํฌ

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

  • ์ธ๊ธฐ ๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
bamDal
[์ด๋ก ] ๋ฐฐ์—ด (feat. ์ฝ”๋“œํŠธ๋ฆฌ ์กฐ๋ณ„๊ณผ์ œ : 3์ฃผ์ฐจ)
์ƒ๋‹จ์œผ๋กœ

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