Design and Analysis Algorithm
Lecture 4
Recurrent Algorithms
BINARY SEARCH
for an ordered array A, finds if x is in the array A[lohi]
Alg.: BINARY-SEARCH (A, lo, hi, x)
1
2
3
if (lo > hi)
2 3 5
return FALSE
mid (lo+hi)/2
lo
if x = A[mid]
return TRUE
if (
Design and Analysis of Algorithms
Lecture 2
Algorithm Analysis
The amount of resources used by the algorithm
Space
Computational time
Running time:
The number of primitive operations (steps) executed
before termination
Order of growth
The leading t
Design and Analysis of Algorithms
Fall 2016
Introduction
Lecture 1
Course details
This course is designed for third year undergraduate
students at Princess Sumaya University for Technology
University.
Course Title: Design and Analysis of Algorithms
Course
Design and Analysis of Algorithms
Lecture 7
Insertion Sort
Idea: like sorting a hand of playing cards
Start with an empty left hand and the cards facing
down on the table
Remove one card at a time from the table, and insert
it into the correct position
Design and Analysis
Algorithms
Lecture 10
Background on Trees
Def: Binary tree = structure composed of a finite set
of nodes that either:
Contains no nodes, or
Is composed of three disjoint sets of nodes: a root node, a
left subtree and a right subtree
SystemsAnalysis&Design
7thEdition
Chapter 11
PhaseDescription
Systems Operation, Support, and Security is
the final phase in the systems development
life cycle (SDLC)
You will be supporting a functioning
information system
You continuously will access
Design and Analysis Algorithms
Lecture 16
Properties of DFS
u = [v] DFS-VISIT(v) was
called during a search of us
adjacency list
u
v
1/
2/
w
3/
Vertex v is a descendant of vertex u
in the depth first forest v is
discovered during the time in which
u is
SystemsAnalysis&Design
7thEdition
Chapter 10
PhaseDescription
Systems Implementation is the fourth of five
phases in the systems development life cycle
(SDLC)
Includes application development, testing,
documentation, training, data conversion,
system ch
Design and Analysis Algorithms
Lecture 15
Graphs
Applications that involve not only a set of items, but also the
connections between them
Maps
Schedules
Hypertext
Computer networks
Circuits
Graphs - Background
Graphs = a set of nodes (vertices) with edge
A Gift of Fire
Fourth edition
edition
DR. Malik Qasaimeh
Chapter 2:
Privacy
Slides prepared by Cyndi Chie and Sarah Frye. Fourth edition revisions by Sharon Gray.
Facts
Who is the Attacker?
Why Attacks?
Profit and money.
Competitive advantage.
Retaliation
Design and Analysis Algorithm
Lecture 17
Minimum Spanning Trees
A connected, undirected graph:
Vertices = houses, Edges = roads
A weight w(u, v) on each edge (u, v) E
Find T E such that:
4
1. T connects all vertices
2. w(T) = (u,v)T w(u, v) is
minimized
Design and Analysis Algorithm
Presentation
Assembly Line Scheduling
Dynamic Programming
An algorithm design technique for optimization
problems (similar to divide and conquer)
Divide and conquer
Partition the problem into independent subproblems
Solve
Design and Analysis Algorithms
Presentation
Count Sort, Radix Sort, and Bucket Sort
How Fast Can We Sort?
Insertion sort, Bubble Sort, Selection Sort
Merge sort
(n2)
(nlgn)
Quicksort
(nlgn)
What is common to all these algorithms?
These algorithms sor
Design and Analysis Algorithms
Presentation
Longest Common Subsequence
Longest Common Subsequence
Given two sequences
X = x1, x2, , xm
Y = y1, y2, , yn
find a maximum length common subsequence
(LCS) of X and Y
E.g.:
X = A, B, C, B, D, A, B
Subsequence
Design and Analysis Algorithms
Lecture 9
Quicksort
A[pq]
q
A[q+1r]
Sort an array A[pr]
Divide
Partition the array A into 2 subarrays A[p.q-1] and A[q+1.r],
such that each element of A[p.q-1] is smaller than each
element in A[q+1.r]
The index (pivot) q
Mass Observation (MOb)
Acceptance Test Plan
Version 0.2
Doc. No.:
Mass Observation (MOb)
Acceptance Test Plan
Version:
0.2
Date: 2010-12-08
Revision History
Date
Version
Description
Author
2010-10-22
0.1
Initial Draft
Xiaoyan Wan
2010-12-08
0.2
Update acc
Quality Assurance Plan
CS-STEM Parent Test Scenarios 1.0 Assurance Plan
This document outlines the quality assurance plan for
CS-STEM Parent 1.0.
PRESENTED TO:
<Client Names>
<CLIENT LOGO>
PRESENTED BY:
<TopCoder Names>
Quality Assurance Plan
TopCoder, I
Application
Developer Company Name:
Application Name
Application Version Tested:
Mobile Tools Inc.
Mobile Everywhere
Mobile Everywhere 1.02
Targeted SW Platforms:
Targeted Devices:
Required Bearer:
Required Memory (ROM/RAM):
Symbian S60, WM5.0
Nokia N95,
Project Name:
Test Case Template
Test Case ID: Fun_10
Test Designed by: <Name>
Test Priority (Low/Medium/High): Med
Test Designed date: <Date>
Module Name: Google login screen
Test Executed by: <Name>
Test Title: Verify login with valid username and passw
What is the difference between ISO & CMMI?
ISO
CMMI
ISO is an audit standard.
CMMI is a process model
ISO is a certification tool that certifies
businesses whose processes conform to
the laid down standards.
CMMI is a set of related "best practices"
deriv
Ahmad Ramez Haddad 20130301
Java Inspection Checklist
1. Variable, Atrtibute, and Constant Declaration Defects (VC)
Are descriptive variable and constant names used in accord with naming
conventions?
Are there variables or attributes with confusingly simi
Secure Software Development:
A Security Programmers
Guide
Chapter 2
Coding in the SDLC:
Not a Solitary Practice
Objectives
Work with principles associated with software
engineering
Identify standards and methodologies involved in the
development of effi
Secure Software Development:
A Security Programmers
Guide
Chapter 4
Getting Organized: What to Do on Day One
Objectives
Understand the Application Guide
Know how success breeds success
Define coding conventions
Secure Software Development: A Security P
Secure Software Development:
A Security Programmers
Guide
Chapter 3
Principles of Security and Quality
Objectives
Understand principles of security and quality in the
industry
Work with principles of security and quality in the
organization
Identify pr
Secure Software Development:
A Security Programmers
Guide
Chapter 5
Software Requirements: Hear What They
Say, Know What They Mean, Protect
What They Own
Objectives
Understand, analyze, and interpret assets
Identify assets in the requirements
Devise mi
Secure Software Development:
A Security Programmers
Guide
Chapter 1
Why You Need to Learn
Secure Programming
Objectives
Avoid career-ending opportunities
Understand what you need to know
Grasp that the future is better, but more complicated
Secure Soft