1.多岔路口的交通燈管理(通行能力最大化)。
2.算法解決的是一類問題。
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLi0zaHRGcWdUYuVzVa9GczoVdG1mWfVGc5RHLwkzX39GZhh2csATMflHLwEzX4xSZz91ZsADMx8FdsYkRGZkRG9lcvx2bjxSa2EWNhJTW1AlUxEFeVRUUfRHelRHL2EzXlpXazxyayFWbyVGdhd3LcV2Zh1Wa9M3clN2byBXLzN3btg3PnVGcq5SYxUzM4YDOyIDN1QWMjNzM4YmZ5UzYhJGNlFDN3EjY18CX1AzLchDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL1M3Lc9CX6MHc0RHaiojIsJye.jpeg)
3.DS是一個二進制組,包含資料元素的集合和定義在資料元素關系上的集合。
4.根據斯特林公式n!約等于(n/e)^n。
5.指數級算法如2^n,n在小于20時還可以用。
6.
1 package a;
2
3 //順序表的合并,複雜度len1 + len2
4 public class Union {
5 public static void main(String[] args) {
6 int[] a = {1,4,56,79};
7 int[] b = {3,8,24,35,79,100,200,300};
8 int[] c = new int[110];
9 int len = doUnion(a,b,c);
10
11 for(int i=0; i<len; i++) {
12 System.out.println(c[i]);
13 }
14
15 }
16
17 private static int doUnion(int[] a, int[] b, int[] c) {
18 int i,j,k;
19 int len1 = a.length;
20 int len2 = b.length;
21 i = 0;//c的長度
22 j=0;
23 k=0;
24
25 while(k<len2&&j<len1) {
26 if(a[j]<b[k]) {
27 c[i++] = a[j];
28 j++;
29 }else if(a[j]>b[k]) {
30 c[i++] = b[k];
31 k++;
32 }else { //相同元素隻并入一個
33 c[i++] = a[j];
34 j++;
35 k++;
36 }
37 }
38
39 for(int t=j; t<len1; t++) {
40 c[i++] = a[t];
41 }
42
43 for(int t=k; t<len2; t++) {
44 c[i++] = b[t];
45 }
46 return i;
47 }
48
49 }