자료구조
-
03/31 BinaryTree 배열로 구현하기자료구조/수업내용 2021. 3. 31. 15:57
배열로 이진트리 레벨 순으로 왼쪽에서 오른쪽으로 저장 A[0]는 루트노드 왼쪽추가(부모인덱스, 데이터) 왼쪽노드 계산 : (부모인덱스 * 2) + 1 계산한 인덱스에 데이터 추가 오른쪽추가(부모인덱스, 데이터) 오른쪽노드 계산 : (부모인덱스 * 2) + 1 계산한 인덱스에 데이터 추가 Program.cs using System; namespace Study09 { class Program { static void Main(string[] args) { Console.WriteLine("Main"); new App(); } } } App.cs using System; namespace Study09 { public class App { //생성자 public App() { Console.WriteLine..
-
03/30 수업내용 메모자료구조/수업내용 2021. 3. 30. 18:21
2021/03/30 큐 도착한 순서대로 데이터를 꺼내는 선형적 자료구조 선입선출구조를 가지고있음(FIFO) Front, Rear인덱스 배열을 이용한 큐 추가할 때는 Rear인덱스, 제거할때는 Front인덱스 사용 1. 큐의 초기 상태에서 Front와 Rear인덱스는 -1로 설정 2. 처음 추가시, A[0]에 넣고 Front와 Rear를 0 3. (Rear + 1)%A.length ==Front -> 가득 차있는지 확인 4. Front와 Rear가 -1 -> 비어있음 단일 연결 리스트를 이용한 큐 Head와 Tail을 갖게 하고, Tail을 통해 Enqueue하고, Head를 통해 Dequeue 스택 선형적인 자료구조, LIFO top에 데이터를 추가 push, pop 배열로 구현한 stack 고정배열, ..
-
03/30 단일 연결 리스트로 Stack 구현자료구조/수업내용 2021. 3. 30. 15:23
Program.cs using System; namespace Study09 { class Program { static void Main(string[] args) { Console.WriteLine("Main"); new App(); } } } App.cs using System; namespace Study09 { public class App { //생성자 public App() { Console.WriteLine("App"); StackLinkedList stack = new StackLinkedList(); Console.WriteLine("----------- Push ----------------"); stack.Push("장검"); stack.Push("단검"); stack.Push("활..
-
03/30 고정배열로 Stack 구현하기자료구조/수업내용 2021. 3. 30. 14:14
Stack에 필요한 Push, Pop, Peek메서드를 구현 Program.cs using System; namespace Study09 { class Program { static void Main(string[] args) { Console.WriteLine("Main"); new App(); } } } StackArray.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Study09 { public class StackArray { private int top; private string[] arr; public boo..
-
03/30 단일연결리스트 복습 Add, Count, Print자료구조/수업내용 2021. 3. 30. 10:12
단일 연결리스트의 노드 추가, 노드 갯수 취득, 노드 출력 기능 구현 Program.cs using System; namespace Study09 { class Program { static void Main(string[] args) { Console.WriteLine("Main"); new App(); } } } App.cs using System; namespace Study09 { public class App { //생성자 public App() { SingleLinkedList linkedList = new SingleLinkedList(); Node node1 = new Node(1); Node node2 = new Node(2); Node node3 = new Node(3); Node no..
-
03/29 수업내용 메모자료구조/수업내용 2021. 3. 29. 18:21
2021/03/26 유한상태머신 문제를 읽는다 생각한다 문제를 푼다 2021/03/29 Thread Prionrity 쓰레드의 우선순위 설정 start join Running : 스레드 시작후 동작 상태 Unstarted : 스레드 생성 후 Start도기전 상태 WsitSleepJoin : 블록 상태, Join, Monitor Enter, Sleep일때 되는 상태 Stopped : Abort메서드 호출시 되는 상태 (중지된 스레드의 상태) abort메소드는 잘 사용하지 않음 RestAbort abort메소드를 취소 Monitor 비동기 Task 값을 반환 하지 않고 비동기적으로 실행 되는 단일 작업을 나타냄 Start Wait Run async await 비동기 WaitAny 자료구조 데이터 구조를 만들..
-
03/29 동적 배열 구현 연습자료구조/수업내용 2021. 3. 29. 16:27
Add메서드 호출시, DynamicArray클래스의 int배열을 임시로 보관할 tmp배열을 int배열+1의 길이로 초기화, int배열의 요소를 tmp배열에 보관하고, int배열변수에 tmp배열을 넣음 그 후, int배열의 마지막 인덱스에 매개변수x의 값을 넣음 Program.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Study09 { class Program { static void Main(string[] args) { Console.WriteLine("Main"); new App(); } } } App.cs usin..