본문 바로가기

TIL

2022.07.29.TIL

CS스터디:

알고리즘이란?

알고리즘은 납세 신고서와 비슷하다.

세금계산은 처리 절차가 완전해야 하고 어떤 상황에서라도 납부할 세액을 항상 산출해야 한다<-알고리즘도 값을 산출해야 한다.

알고리즘은 모든 가능한 상황을 다루어야 하며, 다음에 무엇을 해야 할지 모르는 상황이 발생하면 안 된다. 또한 알고리즘은 결국 멈추어야 한다.(무한히 실행되면 안된다.)

 

알고리즘의 효율성은 처리 데이터 양에 따라 계산에 소요되는 시간을 표현하는 방법이다.

자료구조는 계산 과정에서 필요한 정보를 표현하는 방법이다.

전체에서 평균을 찾으려면 처음부터 끝까지 돌면서 더해주고, 사람 수를 나누어야 한다.<- 컴퓨터가 작업을 하는데 걸리는 시간이 입력하는 데이터의 양에 정비례 한다. O(n): 선형 시간

많은 선형 알겨리즘이 동일한 기본 형태를 갖는다.

평균을 구할 때 데이터가 들어오지 않으면 나누는 값이 0이 되는데 이렇게 알고리즘은 처리하기 곤란한 경우를 명시적으로 검사함으로써 잠재적으로 발생할 수 있는 문제들을 처리한다. <-예외처리

 

자료구조의 기본적인 종류:

필수 자료구조 출처:&nbsp;https://bnzn2426.tistory.com/115
자료구조별 처리 속도:&nbsp;https://bnzn2426.tistory.com/115

primitive: 원초적인

 

Array: 배열

  • 동일한 타입이 저장되어 있다.
  • 크기가 고정되어 있다.
  • 인덱스를 가지고 있어 인덱스로 데이터에 접근이 가능하다.

Lists: linked list

  • 각 데이터들이 순서를 가지고 연결된 구조
  • 동적으로 데이터 추가, 삭제하는데 유리하다.
  • 하지만 인덱스로 데이터 접근이 불가능하다.

링크드 리스트 출처:https://velog.io/@sangh00n/%EB%A6%AC%EC%8A%A4%ED%8A%B8List%EC%9D%98-%EC%9D%B4%ED%95%B4-%EB%A7%81%ED%81%AC%EB%93%9C%EB%A6%AC%EC%8A%A4%ED%8A%B8

File: 명령어들의 집합

서로 관련있는 필드(Field)로 구성된 레코드(record) 집합인 파일에 대한 자료구조로 보조 기억장치에 데이터가 실제로 기록되는 형태

 

Stack: FILO

Queue: FIFO

Graph: Vertex(정점)과 Edge(간선)으로 이루어진 자료구조

Tree: Connected, Acyclic, Undirected Graph

어플리케이션 개발자로서 구현방법은 몰라도 정의와 복잡도는 간단하게 알아두자

 

번외) 평균복잡도:

 

 

 

 

 

Spring 심화강의:

@ResponseBody 어노테이션을 적으면 view를 통과하지 않고 body에 response를 전달해준다.(templates를 거치지 않음)

Controller 와 HTTP Response 메시지

@RestController: ResponseBody가 클래스 안 모든 메소드에 적용되게 함

Controller 와 HTTP Request 메시지

Spring MVC 공식문서

https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#mvc

 

Web on Servlet Stack

Spring Web MVC is the original web framework built on the Servlet API and has been included in the Spring Framework from the very beginning. The formal name, “Spring Web MVC,” comes from the name of its source module (spring-webmvc), but it is more com

docs.spring.io

 

'TIL' 카테고리의 다른 글

2022.08.01.TIL  (0) 2022.08.01
2022.07.30.TIL  (0) 2022.07.30
2022.07.28.TIL  (0) 2022.07.28
2022.07.27.TIL  (0) 2022.07.27
2022.07.26.TIL  (0) 2022.07.26