Part 1 Algorithm Design Methodologies 01 Algorithm and Complexity
Realize the algorithm in c/c+/java
Test them one some test cases and print the test results out by running the program
Analyze the algorithms Big-Oh time complexity
Algorithms:
1.Insertion
COMP3790
Advanced Algorithm Design,
Analysis and Implementation
Algorithm design methodologies:
Part 3: Dynamic Programming
By Dr. Hailong ZHU
1
Introduction
2
Problems of Using Dynamic Programming
0-1 Knapsack Problem
The Rod-cutting Problem
Chain Matrix
Discrete Math
CS 2800
Number Theory
1
Outline
The Integers and Division
Applications of Congruences
Hashing Function
Pseudorandom numbers
Cryptology
Primes and Greatest Common Divisor
2
The Integers and Division
Of course, you already know what the in
COMP3790
Advanced Algorithm Design,
Analysis and Implementation
Algorithm design methodologies:
Part 2: Advanced Design Techniques
By Dr. Hailong ZHU
1
Some Advanced Techniques
of Algorithm Design
Basic Concept: Recursion
I. Divide and Conquer
II. Backtra
1
Outline
Base b number system
Modular Exponentiation
Number Theory Results
Theorems
Chinese Remainder Theorem
Fermat Little Theorem
Euler theorem
Carmichael numbers
Public Key System
2
Base-b number systems
Ordinarily, we write base-10 rep
COMP3790
Advanced Algorithm Design,
Analysis and Implementation
Algorithm design methodologies:
Part 2: Backtracking
By Dr. Hailong ZHU
1
Some Advanced Techniques
of Algorithm Design
Basic Concept: Recursion
I. Divide and Conquer
II. Backtracking
2
(II) B
COMP3790
Advanced Algorithm Design,
Analysis and Implementation
Graph Algorithms
Part 3: Kruskals MST Algirhtm
1
Outline
2
Recalling the generic algorithm
3
Idea of Kruskals algorithm
4
Example
5
Outline
6
Why Kruskals algorithm is correct?
7
Outline
8
Ou
COMP3790
Advanced Algorithm Design,
Analysis and Implementation
Graph Algorithms:
Part 2: Spanning Trees
1
Spanning Trees
2
Spanning Trees
3
Weighted Graphs
4
Minimum Spanning Trees
5
Remark
6
Minimum Spanning Tree Problem
7
General strategy for solving t
COMP3790
Advanced Algorithm Design,
Analysis and Implementation
Algorithm design methodologies:
Part 1: Algorithm and complexity
By Dr. Hailong ZHU
1
Outline
What are algorithms
What does it mean to analyze an algorithm
Time complexity
2
Computational Pro
1
COMP3790
ADVANCED ALGORITHM DESIGN,
ANALYSIS AND IMPLEMENTATION
Homework on Number Theory
Refer to below materials, and do the two homework
Materials
java.math.BigInteger library
http:/docs.oracle.com/javase/6/docs/api/java/math/BigI
nteger.html
lets
1
COMP3790
Advanced Algorithm Design,
Analysis and Implementation
Module 3
Backtracking
2
Backtracking
A general programming structure
bool finished = FALSE; /* to control when to stop */
backtrack(int a[], int k, data input ) cfw_
int candidate[MAX]; /*
AUTOMATA AND
LANGUAGE THEORY
Xiang Wan
2013/09/06
Contents
Motivation
Regular language
Regular expression, Deterministic finite automata (DFA),
Nondeterministic finite automata (NFA), Pumping lemma
Context-free languages
Context free grammar (CFG), P
AUTOMATA AND
LANGUAGE THEORY
Xiang Wan
2013/09/25
Contents
Motivation
Regular language
Regular expression, Deterministic finite automata (DFA),
Nondeterministic finite automata (NFA), Pumping lemma
Context-free languages
Context free grammar (CFG), P
AUTOMATA AND
LANGUAGE THEORY
Xiang Wan
2013/09/10
Contents
Motivation
Regular language
Regular expression, Deterministic finite automata (DFA),
Nondeterministic finite automata (NFA), Pumping lemma
Context-free languages
Context free grammar (CFG), P
AUTOMATA AND
LANGUAGE THEORY
Xiang Wan
2013/09/03
Contents
Motivation
Regular language
Deterministic finite automata (DFA), Nondeterministic finite
automata (NFA), Regular expression, Pumping lemma
Context-free languages
Context free grammar (CFG), P
Homework Practice One
Name:
Q1
Q2
Q3 and Q4
Date:
Q3
What is the output when the input is 001100?
(A)
010010
(B) 001001
(C) 001000
(D) 000110
(E) 000010
Q4
What is the greatest number of 1-outputs that could be made in response to an input of length 15?
(
GRE SUBJECT TEST
Xiang Wan
2013/09/03
GRE Subject Test
Biochemistry, Cell and Molecular Biology
Biology
Chemistry
Computer Science (more than 1/3 Examinee)
Literature in English
Mathematics
Physics
Psychology
Why you need to take the test?
Around
Non-Regular Languages & Pumping Lemma
CS 510 Fall 2005 September 22, 2005
We would like to show that there are languages that are not regular and they satisfy the Pumping Lemma. Let us consider the language L = cfw_abj cj | j 0 cfw_ai bj ck | i, j, k 0 i
Cooks Theorem
The Turing Machine
A Turing Machine TM is described by the septuple
TM = cfw_Q, , b, , q0, qY, qN
where
Q = a finite set of states including a start state q0 and accepting/rejecting
states qY, and qN
= a set of symbols that are part of the
HoMewoRk 1
Due: Oct. 23, 2013 in class
answeR 40 quesTions in 2 HouRs
You may skip problems #5, #16, #30
1. Concerning Javas Garbage Collector (GC), which are true? (Choose all that apply.)
A. If Object X has a reference to Object Y, then Object Y can
Lecture 3: Java Threading
Thread
In Java, "thread" means two different things:
An instance of class java.lang.Thread
It is an object, and it has variables and methods, and
lives and dies on the heap.
A thread of execution
It is an individual process
Lecture 2: Collections
Introduction
The Collections Framework
since release of JDK 1.2
expanded ever since then
interfaces and classes are all declared in java.util package
It gives you lists, sets, maps, and queues to satisfy most
of your coding nee
Lecture 1: Generic Programming
What and Why
Generics are similar to templates in C+.
C+ and Java are strong typing languages.
A strong typing language restricts on how operations involving values
of different data types can be intermixed. For example,
Homework 2: Answer 27 questions in 60 minutes
Instructions:
A. Complete them all by yourself in the time frame given.
B. After that, check your unsure solutions in your java IDE. If you dont have an IDE at hand,
there is an excellent web one at www.ideone