본문 바로가기

자료구조14

[자료구조] 연결리스트 리스트의 개념 리스트의 의미 일정한 순서 의 나열 어떤 정의에 의해 결정된 논리적인 순서 의 나열 배열의 정의 원소의 메모리 공간(메인 메모리, DDR) 의 물리적인 위치를 순서 적으로 결정하는 특징 배열의 순서는 메모리 공간에서 저장되는 원소값의 물리적 순서 → 리스트의 순서는 데이터가 저장되는 물리적인 위치와 상관없이 사람들의 머릿속에 인식되는 논리적인 순서 혹은 리스트에 나타나는 원소들 간의 의미적인 순서를 의미함 리스트의 구현 방법 포인터를 이용한 리스트의 구현 방법 → 원소 값을 저장하는 공간과 다음 원소를 가리키는 위치 정보를 저장하는 공간을 함께 구현하는 방법 배열을 이용한 리스트의 구현 방법 배열을 이용한 리스트의 구현 배열을 이용한 리스트의 구현 구현해야 할 리스트가 3.1 운동(1919.. 2023. 11. 28.
[자료구조] 큐 큐의 개념 큐의 의미 추상자료형 → 택시를 타기 위해 서 있는 행렬 → 병원 접수대 → 예금 인출기 → 작업 큐에 들어간 작업이 가장 처음에 처리되는 작업 스케쥴 (First - In - First - Service) 한쪽에서는 삽입연산만 발생 , 다른쪽에서는 삭제 연산만 발생 가능한 구조 삽입연산 → 서비스를 받기 위한 기다림 삭제연산 → 서비스를 받는 중 선입 선출 ( First - In - First - Out, FIFO) 알고리즘이 사용 됨 큐의 정의 삽입 구조 D 입력 시 rear 포인터가 한칸 이동 삭제 구조 front 값 삭제 포인터 활용 front : 삭제 rear : 삽입 큐의 추상 자료형 큐의 객체 정의 큐 객체 → 0개 이상의 원소를 갖는 유한 순서 리스트 큐의 삽입(Add_q) 연산.. 2023. 11. 28.
[자료구조] 스택 스택의 개념 스택의 정의 객체와 그 객체가 저장되는 순서를 기억하는 방법에 관한 자료 구조 → 먼저 입력된 자료가 가장 나중에 출력되는 관계 → 관계를 표현하기 위해서 연산이 필요하며, 객체에 대한 정의와 연산이 모여 순서가 기억되는 스택의 추상 자료형이 완성 됨 0개 이상의 원소를 갖는 유한 순서 리스트 push(add) 와 pop(delete) 연산이 한곳에서 발생되는 자료구조 스택의 추상자료형 스택 객체 → 0개 이상의 원소를 갖는 유한 순서 리스트 push 연산 Stack Push(stack , item) ::= if(StackIsFull(stack)) then{'stackFull' 출력;} else{스택의 가장 위에 item 을 삽입하고, 스택을 반환한다;} pop 연산 Element Pop(s.. 2023. 11. 28.
[자료구조] 배열 배열의 정의 배열의 정의 일정한 차례나 간격에 따라 벌여놓음(사전적 정의) “차례” (순서) 와 관련된 기본적인 자료구조 → 원소의 메모리 공간(메인 메모리, DDR) 의 물리적인 위치를 “순서”적으로 결정하는 특징 → 배열의 순서는 메모리 공간에서 저장되는 “원소값의 물리적 순서” 배열의 의미 인덱스와 원소값(index, value) 의 쌍으로 구성된 집합 → 원소들이 모두 같은 자료형과 같은 크기의 기억공간을 가짐 → 배열의 인덱스 값을 이용해 원소 값에 접근하기 때문에 직접 접근이 가능 배열의 인덱스 값 : 추상화된 값 = 컴퓨터의 내부구조나 메모리 주소와 무관하게 개발자에게 개념적으로 정의 됨 → 메모리 주소값은 실제 메모리의 물리적인 위치 값 배열의 (추상화된) 인덱스 값은 프로그래밍 언어와 컴.. 2023. 11. 28.
[JavaScript] JSON(2) - 복합자료구조 01. 데이터 타입을 포함하는 자료구조 JSON 데이터 내부에서 배열이 존재할때 그 배열에 접근 하는 방법이다. JSON의 key[index] 배열의 인덱스번호로 접근하여 해당 부분의 값을 가지고 올 수 있다. const company = { name : "(주)굿모닝컴페니", since : 2013, department : ["기획팀","디자인팀","개발팀"] }; console.log(company.name); //점으로 연결 (기본 접근방식) -선호 console.log(company['since']); // 배열처럼 연결 (기본 접근방식) console.log(company.department[0]); // 배열[인덱스번호] 접근 console.log(company.department[1]); c.. 2022. 11. 27.
728x90