[자료 구조와 알고리즘] 자바스크립트 실행 환경 구축과 배열

2023. 5. 15. 23:14·📗 self-study/📗 inflearn

 

 

 

🔥 그림으로 쉽게 배우는 자료 구조와 알고리즘

 

자바스크립트 실행 환경 구축

 

 

 

 

📍 vsCode, node.js

 

 

 

 

🔥 그림으로 쉽게 배우는 자료 구조와 알고리즘

 

배열

 

 

 

 

📍 프로그래밍 언어에서의 배열

👉🏻 프로그래밍 언어에서 제공하는 배열은 배열을 선언할 때 크기를 같이 할당해 줌

👉🏻 int arr[10] = {1, 2, 3, 4, 5}라면 열 개의 연속된 공간에 배열을 넣고, 남은 배열에는 쓰레기 값을 넣어 놓음

👉🏻 운영체제는 배열의 시작 주소만 기억하고 그 외의 값은 인덱스로 접근함

👉🏻 배열의 인덱스 참조는 길이에 상관없이 한 번에 가져옴 =. O(1)의 성능을 가짐

👉🏻 읽기, 쓰기와 같은 참조에서 좋은 성능을 보임

👉🏻 삽입, 수정, 삭제에서의 성능은 좋지 않음

       기존에 할당된 데이터가 있고, 해당 크기에 맞춰서 메모리를 할당했으므로 그 이상의 값은 다른 곳에서 유의미한 값일 수 있음

       그렇기 때문에 운영체제는 추가된 공간이 더해진 만큼 비어 있는 메모리를 새로 찾아야 하고, 기존 값을 복사도 해 줘야 함

       처음부터 배열을 크게 설정해 놓는다면, 불필요하게 메모리를 낭비할 수도 있음 

 

 

 

📍 자바스크립트에서의 배열

👉🏻 상황에 따라서 연속적, 불연속적으로 메모리 할당

       대부분은 불연속적으로 할당하여 내부적으로 연결 후 사용자에게는 배열인 것처럼 보이게 함

저작자표시 비영리 변경금지 (새창열림)
'📗 self-study/📗 inflearn' 카테고리의 다른 글
  • [자료 구조와 알고리즘] 스택(Stack)과 큐(Queue)
  • [자료 구조와 알고리즘] 연결리스트(Linked list)
  • [자료 구조와 알고리즘] 시간 복잡도
  • [자료 구조와 알고리즘] 자료 구조와 알고리즘이란?
천재강쥐
천재강쥐
  • 천재강쥐
    디버거도 버거다
    천재강쥐
  • 전체
    오늘
    어제
    • Category (467)
      • 진짜 너무 궁금한데 이걸 나만 몰라...? (0)
      • 💾 Portfolio (2)
      • 🐤 CodingTest (28)
        • Java (20)
        • ᕕ(ꐦ°᷄д°᷅)ᕗ❌ (5)
      • 🚀 from error to study (142)
        • AI (1)
        • Cloud (2)
        • DB (12)
        • Front-End (16)
        • Github (14)
        • Java (39)
        • Mac (7)
        • Normal (29)
        • Server (22)
      • 📘 certificate (44)
        • 📘 리눅스마스터1급 (1)
        • 📘⭕️ 정보처리기사 (40)
        • 📘⭕️ SQLD (3)
      • 📗 self-study (234)
        • 📗 inflearn (35)
        • 📗 생활코딩 (8)
        • 📗 KH정보교육원 당산지원 (190)
      • 🎨 Scoop the others (0)
        • 📖 Peeking into other people.. (0)
        • 🇫🇷 (0)
        • 📘⭕️ 한국사능력검정시험 심화 (11)
        • 오블완 (4)
  • 인기 글

  • hELLO· Designed By정상우.v4.10.1
천재강쥐
[자료 구조와 알고리즘] 자바스크립트 실행 환경 구축과 배열
상단으로

티스토리툴바