본문 바로가기

전체 글

(33)
Practice Algorithm (171009) - BFS 바이러스 - bfs 그대로 가져다 쓸 수 있었음 - 양방향으로 데이터를 넣어줘야 한다, edgeList - 중복 문제 - 토마토 문제!! - direction array로 처리 - queue 사용 - checker 사용 Source-Code : The-G
bitwise operator(비트연산자) == bitwise operator(비트연산자) == - & (AND)- | (OR)- ^ (XOR)- ~ (NOT)- > (RIGHT SHIFT) source-code : The-G
Permutation(순열) Algorithm == Permutation(순열) Algorithm ==- 순차적으로 swapping 해주네!! code def perm(input, i): if i == len(input)-1: print(input) else: for j in range(i, len(input)): input[i], input[j] = input[j], input [i] perm(input, i+1) input[i], input[j] = input[j], input [i] perm([1,2,3], 0) - 사용예 - 여행할 때, 방문 순서 경우의 수! source-code : The-Greference : 상상개발자
Dijkstra Algorihm == 최단경로검색 Dijkstra Algorithm == - Find Shortest Path - Weighted graph를 볼 수 있다. 표를 작성하는데!! 1. A에서 출발한다고 하고, A와 연결된 node들의 cost(비용)와 어디에서 왔는지 첫번째 줄에 적어준다. 2. C가 가장 cost가 적기 때문에 C를 두번째 줄에 적어준다. C node와 연결된 node는 A를 제외하고 E가 있다. E까지 가는데 누적 cost가 3이기 때문에 3과 이전노드 C를 적어준다. 나머지 빈칸은 copy over 해준다. 3. 2번째 줄에서, C노드를 제외하고 가장 최소의 cost를 보니 B와 E가 있는데, B를 보겠다. 4. 3번째 줄에 B를 적어주고, 2번의 과정을 반복해 준다. 단, 이전 cost보다 큰 누적..
BFS(Breadth First Search) == BFS(Breadth First Search) == vertexList = ['0', '1', '2', '3', '4', '5', '6'] edgeList = [(0,1), (0,2), (1,0), (1,3), (2,0), (2,4), (2,5), (3,1), (4,2), (4,6), (5,2), (6,4)] adjacencyList = [[] for vertex in vertexList] for edge in edgeList: adjacencyList[edge[0]].append(edge[1]) adjacencyList = [[1,2], # vertex 0 [0,3], # vertex 1 [0,4,5], # vertex 2 [1], # vertex 3 [2,6], # vertex 4 [2], # ..
DFS(Depth First Search) / DFS to find cycle in graph == Depth First Search(깊이 우선 탐색) == vertexList = ['0', '1', '2', '3', '4', '5', '6'] edgeList = [(0,1), (0,2), (1,0), (1,3), (2,0), (2,4), (2,5), (3,1), (4,2), (4,6), (5,2), (6,4)] adjacencyList = [[] for vertex in vertexList] for edge in edgeList: adjacencyList[edge[0]].append(edge[1]) adjacencyList = [[1,2], # vertex 0 [0,3], # vertex 1 [0,4,5], # vertex 2 [1], # vertex 3 [2,6], # vertex 4 [2],..
자료구조 Graph == Graph 기본 개념 정리 == - Direct Graph - vertax 와 edge 가 있으면 Graph 라고 한다 - 방향성이 있으니 Direct Graph - Undirect Graph - 방향성이 없다. - Weighted Graph - edge에 cost가 있을 때 - Vertex List vertaxList = ['0', '1', '2', '3', '4', '5'] - Edge List edgeList = [(0,1), (1,0), (1,2), (1,3), (2,1), (3,1), (3,4), (4,3), (4,5), (5,4)] - Undirect graph 이니 양쪽 방향 다 있지. - Adjacency List adjacencyList = [[1], [0,2,3], [1], [1,..
네트워크와 TCP/IP 네트워크와 TCP/IP (뇌를 자극하는 TCP/IP 소켓 프로그래밍) 1부. 소켓 네트워크 프로그래밍1장. 네트워크와 TCP/IP2장. 네트워크와 프로그래밍 환경 만들기3장. 소켓 네트워크 프로그래밍에 대한 이해 1장. 네트워크와 TCP/IP1. 네트워크! 네트워크란 무엇인가?2. 컴퓨터 네트워크의 진화3. 컴퓨터 네트워크가 있게한 동력4. 네트워크의 네트워크 인터넷 - 네트워크, 컴퓨터 네트워크로의 진화1. 모든 것은 정보다.2. 자연현상은 정보의 네트워크의 상호작용의 결과이다.3. 생물활동도 정보 네트워크의 상호작용의 결과다.Ex) 뇌의 뉴런!! - 네트워크 효과1. 한정된 노드와 공간에 더 많은 정보를 저장할 수 있다.2. 하나의 경로가 파괴되더라도 다른 경로를 통해서 노드에 도달할 수 있다. - ..

반응형