본문 바로가기

분류 전체보기333

자료구조 - 연결 리스트란 오늘은 연결리스트에 대해 정리해보았다. 그럼 따라와보자 1. 리스트의 개념 원소들 간의 순서가 지켜지며 유지되는 자료구조 리스트의 순서는 데이터가 저장되는 물리적인 위치와 상관없이 사람들의 머릿속에 인식되는 논리적인 순서, 혹은 원소들 간의 의미적인 순서이다 배열은 순서와 관련된 자료구조이다 배열은 인덱스로 표현되는 순서가 === 메모리(주기억장치, DDR) 내의 물리적인 저장순서를 결정한다 리스트 구현 방법 1. 리스트는 배열을 이용하여 구현한다 2. 리스트는 원소 값을 저장하는 공간 + 다음 원소의 위치 정보를 저장하는 공간으로 구현한다 2. 배열을 이용한 리스트의 구현 👍 리스트의 원소값을 순서대로 배열에 저장 (간 - 단) 👍 메모리의 공간 활용 효율이 높다 ↑ (포인터를 위한 메모리가 필요X) .. 2023. 11. 29.
자료구조 - Array(배열)이란 배열은 언제나 배열이었다 오늘은 자료구조에서 배열을 공부해보면서 좀더 색다른 매력을 느껴버렸다 자료구조 - Array(배열)이란 " 일정한 차례나 간격에 따라 벌여 놓음 " 이라는 뜻을 가지고 있다 차례(순서)에 관한 기본적인 자료 구조이다 인덱스 - 원소값 으로 구성 되어있다 (인덱스는 0번부터 시작하고 순서대로 값이 들어간다) 인덱스 배열의 원소들은 메모리 주소를 가지고 있고, 메모리 주소의 순서는 === 인덱스 순서와 일치한다 배열은 배열[인덱스] = 이런식으로 원소값에 직접 접근이 가능하다 배열과 인덱스로 알고리즘을 작성 ↓ 알고리즘에 따라 프로그램을 완성 ↓ 운영체제는 프로그램을 읽고 추상화된 언어를 해석해서 기계어로 번역해서 실행 (컴파일) ↓ 사용자에게 제공 배열의 추상 자료형 배열의 정의와.. 2023. 11. 26.
자료구조 - Queue(큐)란 지난 시간에는 스택을 오늘은 큐에 관해서 좀 더 집중해서 공부해보자 자료구조 - Queue(큐)란 스택은 입구와 출구가 같았다. 하지만 큐는 입구와 출구가 다르다. 스택을 프링글스에 비유하고 큐는 은행대기순번에 비유하곤 한다. 스택은 한쪽에서 삽입과 삭제를 한꺼번에 진행하는데, 요 부분을 top 이라고 한다 큐는 끝과 끝에서 각각 삽입과 삭제 연산을 진행한다. 삭제되는 부분을 "front" 삽입되는 부분을 "rear" 이라고 한다. 큐의 추상 자료형 객체의 정의(큐생성)과 연산자(삽입/삭제/꽉찬/텅빈)로 구성된다 // 큐 생성 Queue Create_q(maxSize) ::= 큐의 크기가 maxSize인 빈 큐를 생성하고 반환 // 꽉찬 큐 확인 Boolean IsFull_q(queue, maxSize).. 2023. 11. 24.
자료구조 - Stack이란 스택은 솔직하게 면접용으로 암기식 공부를 했었다. 하지만 이번엔 자료구조를 공부하며 정리를 해보았다 스택의 기본개념부터 확장된 연산 표기식까지 흩어졌던 지식들을 모아보았다 자료구조 - Stack이란 스택은 객체가 저장되는 순서를 기억하는 방법에 관한 자료구조이다 가장 마지막에 들어간 놈이 제일 먼저 출력(LIFO) 되는 방식이다 → 한마디로 스택은 객체의 순서를 정해주는 자료구조 ! 스택의 추상 자료형 스택의 정의와 적용 가능 연산을 명세 → 생성부터 종료까지 스택의 매니징에 필요한 여러 기능들을 소개한다 • stack : 0개 이상의 원소를 갖는 스택 (값이 들어 있는) • item : 스택에 삽입되는 원소 • maxQueueSize : 스택의 최대 크기를 정의 // 스택 생성 Stack CreateS.. 2023. 11. 23.
JavaScript - Argument 란 (Feat. caller, callee) 함수를 공부하다보면 Argument 이야기가 나온다 Argument 이친구도 알아야겠다 싶어 포스팅를 쓰게 됬는데 caller와 callee 의 개념도 같이 알아야겠다 싶어 소금치듯 같이 뿌려보았다 JavaScript - Argument 란 (Feat. caller, callee) arguments, caller, 그리고 callee는 자바스크립트에서 함수와 관련된 속성이나 개념을 이다. 하지만 caller와 callee는 현재 사용되지 않거나 사용이 권장되지 않는다고 한다. (ES5부터는 caller와 callee의 사용이 제한, strict 모드에서는 arguments.callee가 금지) Argument arguments 는 유사 배열 객체이다 함수를 사용할 떄 매개변수로 여러개를 받는 상황이라면 .. 2023. 11. 19.
JavaScript - 표현식 자바스크립트 뿐 아니라 프로그래밍 언어 기초공부를 하며 표현식이라는 단어를 참 많이 들은 것 같다. 표현식이 뭘까? 자세히 알아보자 표현식 표현식은 쉽게말해 값이 나오는 코드이다. (숫자 같은) 값들, 연산자, 변수 및 함수의 조합으로 이루어져 있다 const x = ___ 처럼 변수에 할당된 일반적인 표현식이 있고, const x = 이부분을 쏙 빼고 5 + 10 같은 알맹이만 사용하는 문장 표현식이 있다 // 변수에 할당된 표현식 (숫자 값들의 덧셈) const sum = 5 + 10; // 15로 평가 // 변수에 할당된 표현식 (변수와 연산자를 사용) const x = 20; const y = 30; const result = x * y; // 600으로 평가 // 문장 표현식 (변수에 할당x) .. 2023. 11. 17.
JavaScript - throw / try / catch / finally throw / try / catch / finally 이친구들은 참 많이도 접하고 많이도 공부했다. 근데 따로따로 공부했다 🥲 그래서 따로 놀았다 이제는 개념을 한번더 뭉쳐줄 타이밍이다 throw, try, catch, finally 이 친구들은 전부다 예외 처리 라는 목표을 향해 뭉친 친구들이다 throw 는 예외를 던져(throw)버리고 try 는 예외 없이 잘 실행될 경우(happy case) catch 는 throw가 던진 에러를 캐치해서 뒷처리를 해주고 finally 는 예외가 있던 없던 그냥 실행된다 Throw 자바스크립트에서 예외는 - 런타임에러가 일어날 때 발생하거나 - throw 문으로 발생시킬 수도 있다 예외가 발생하면 인터프리터는 실행을 중단하고 가까운 예외처리기로 넘긴다 (이때 ca.. 2023. 11. 14.
JavaScript - Call By Value, Call By Reference 함수형 컴포넌트를 다루다 보니 정작 함수에 대해 모르는 부분이 많다는 생각이 들었다 그래서 이번 포스팅은 Call By Value, Call By Reference 를 정리해 보았다 함수를 호출하는 방법은 Call By Value, Call By Reference 요 두 가지 방법이 있다 → 값을 호출할거냐 참조를 호출할거냐 두가지 방식으로 본다 → 내가 이해한 개념은 함수 안에서 값을 어떻게 다루느냐 였다 이 부분을 이해하려면 c 언어의 포인터와 스택의 개념을 알아야 할 필요가 있다 그리고 인자와 매개변수의 차이도 잘 알아야 한다 (백문이 불여일견 ) function getUser(name, age) { // name 이랑 age 가 매개변수 return { name, age }; } getUser('.. 2023. 11. 9.
JavaScript - 연산자 오늘은 기초중의 기초! 연산자를 정리해보았다 연산자(operator)는 연산을 수행하여 값을 만들어 낸다. (=+- 등) 피연산자(operand)는 연산의 대상이다. 이 값으로 표현식을 만든다 → 연산자는 피연산자와 짝을 이룬다. (환ssang의 커플) 할당 연산자 좌항의 변수에 값을 할당하므로 변수 값이 변하는 부수효과가 있다 단순대입연산자 → 좌항에 = 우측표현식 으로 표현한다. 복합대입연산자 → 좌항에 += 우항에서 실행된 평가결과를 할당한다 **+=는 예시 연산자 예시 동일 표현 = x = 5 x = 5 += x += 5 x = x + 5 -= x -= 5 x = x - 5 *= x *= 5 x = x * 5 /= x /= 5 x = x / 5 %= x %= 5 x = x % 5 증감 연산자 증감.. 2023. 11. 7.
반응형