본문 바로가기
728x90

공부167

삽입정렬 복습(Insertion Sort) 오늘은 삽입정렬에 대해 또 알아보았습니다. 삽입정렬은 O(N^2)의 정렬 알고리즘 중에서도 가장 효율적인 알고리즘입니다. 특히 정렬이 되어있을때 가장 효과적입니다. 삽입정렬의 핵심은 '삽입을 하고자하는 원소 앞에 배열이 이미 정렬되어진 상태라고 가정' 하는 겁니다. 그러고 삽입하고자 하는 원소를 그 정렬된 배열 앞으로 삽입합니다. 예를 들어보겠습니다. 5 3 4 2 1 이라는 배열이 존재합니다. 첫번째 원소를 선택합니다. 5는 첫번째 원소이기 때문에 이미 정렬이 되어있습니다. 그럼 두번째 원소 3을 보겠습니다. 3이 들어갈 수 있는 두 곳이 있습니다. _5_ 3 4 2 1 여기서 3은 5보다 작이 때문에 앞 쪽 공간에 삽입됩니다. 3 5 4 2 1 다음원소인 4의 들어갈 장소를 모색합니다. _3_5_4 .. 2020. 5. 27.
버블 정렬 복습(Bubble Sort) 오늘은 버블 정렬에 대해 배워 보았습니다. 분명 1,2 학년때 다 한건데 3학년이 된 지금에서야 다시 복습을 하는게 바보같다는 생각이 들 때도 있지만 지금이라도 열심히 해야지라는 생각이 듭니다. 버블 정렬은 O(N^2) 인 세개의 정렬(선택,버블,삽입) 중에서도 가장 비효율적인 정렬입니다. 버블정렬은 무조건 옆에 요소와 비교하고 교환합니다. 여기서 무조건 교환을 하기 때문에 알고리즘의 비효율적인 부분이 커집니다. 애를 들어 설명해보겠습니다. 3 1 4 5 2 라는 배열이 존재합니다. 첫번째 첫번째 3 을 옆에 요소 1과 비교 합니다. 1이 더 크기 때문에 교환합니다. 1 3 4 5 2 그리고 두번째 수 3을 다시 4와 비교한 후 크면 교환합니다. 여기선 4보다 작기 때문에 교환을 하지는 않습니다. 1 3.. 2020. 5. 27.
컴퓨터 구조1 개요 공부할 거 CPU, memory system, I/O device and bus Cache, internal&external memory, interconnection mechanism,computer arithmetic and CPU structure 컴퓨터 구조의 중요성 -application programs, compilers, operating systems, 기타등등 performance 를 수행할 때 컴퓨터 구조를 이해하는 것이 굉장히 중요 Architecture: 추상적 ex)Instruction set, I/O mechanisms, addressing techniques 등등 Organization : 실제구현 ex) Control signals, interfaces, memory tech.. 2020. 5. 26.
Routing Routing이란? - 패킷을 목적지로 전하기 위해 다음 전달 노드를 결정하고 해당 노드로 전달하는 과정 - Routing Table 이라는 자료구조를 활용 Routing 에는 Shortest Path Problem이 존재 즉 가장 최적화된 길을 찾는 문제가 계속 있었습니다. 2 Basic Routing Architecture 1) Distance-Vector (거리 벡터) 2) Link-State (링크상태) Distance-Vector Link-State Algorithm Distributed Bellman-Ford Dijkstra Routing Info Distance-Vector Link-State Exchange with Neighbor Routers All Routers in the Netwo.. 2020. 5. 26.
728x90