0% found this document useful (0 votes)
4 views

Lecture 15_Algorithm_graph_review

The document outlines various programming tasks related to algorithms and data structures, including sorting, generating permutations, and finding subsequences. It also covers graph-related problems such as calculating connected components and topological sorting, as well as shortest path algorithms. Additionally, it includes tasks for writing regular expressions for matching phone numbers and emails.

Uploaded by

21021595
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Lecture 15_Algorithm_graph_review

The document outlines various programming tasks related to algorithms and data structures, including sorting, generating permutations, and finding subsequences. It also covers graph-related problems such as calculating connected components and topological sorting, as well as shortest path algorithms. Additionally, it includes tasks for writing regular expressions for matching phone numbers and emails.

Uploaded by

21021595
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Algorithm and Graph

Review
Sort

Given a list A of n numbers. Your task is to write


the function MergeSort(A, n) to sort the numbers
increasingly.

2
Recursive function

Your task is to write a function to output all


permutations of n elements.
Example: All permutations of n = 3
123, 132, 213, 231, 312, 321

3
Recursive function

Your task is to write a function to output all


binary numbers of length n and the number of
‘1’ digits is smaller or equal to the number of ‘0’
digits.
Example: The output of n = 3
000,001,010,100

4
Dynamic programming

Given a sequence of n integer numbers A(1) ...


A(n), your task is to write a function to find the
longest subsequence (not necessarily
contiguous) in which the values in the
subsequence form a strictly increasing sequence.
Example: 8 3 5 10 15 6 7 12 9 11 17 13 16
Output: 3 5 6 7 9 11 13 16
5
Graph

Given an undirected computer network with n


nodes (numbered from 1 to n) and m edges, your
task is to write a program to calculate the
number of connected components that each
contains at least three nodes.

6
Topological sorting

Given n jobs (numbered from 1 to n) and m order


requirements. Each order requirement is a pair of
two jobs u and v indicating that job u must be
done before job v. Your task is to write a program
to order these jobs to fulfill the order
requirements.

7
Shortest Path

Given n cities (numbered from 1 to n) and m


roads connecting cities. The traffic level between
two cities u, v is D[u,v]. You have two tasks:
❖ Write a program to find a path from a
starting point s to the end point e such that
the total traffic level on the path is the
smallest.
❖ Write a program to find the smallest traffic 8
Regular Expression

Write a regular expression that matches these


numbers:
❖ (123) 456 7899
❖ (123).456.7899
❖ (123)-456-7899
❖ 123-456-7899
❖ 123 456 7899
❖ 1234567899
9
Regular Expression

Your task is to write a regular expression for an


email.

10

You might also like