❶ 《演算法分析與設計》課程講什麼內容
《演算法分析與設計》課程是理論性與應用性並重的專業課程。本課程以演算法設計策略為知識單元,系統地介紹計算機演算法的設計方法和分析技巧。課程教學主要內容包括:第一章,演算法概述;第二章,遞歸與分治策略;第三章,動態規劃;第四章,貪心演算法;第五章,回溯法;第六章,分支限界法。通過介紹經典以及實用演算法讓同學掌握演算法設計的基本方法。結合實例分析,讓同學深入理解演算法設計的技巧,以及分析演算法的能力。
❷ 演算法分析與設計
哎。。。掛吧 掛吧
❸ 演算法分析與設計 習題
湖南商學院信管班的吧
❹ 演算法分析與設計的問題
1. 找到數組裡面值等於k的元素是第幾個,找不到就返回0,因為下標從0開始,所以結果表述是「第幾個」 比如0下標是第一個。
2.最好情況是1, 最壞是n,平均復雜度是(n+1)/2 ,因為每個元素是n分之一,全部都算的可能性是 n(n+1)/2, 除以n 就是結果
❺ Java演算法分析與設計!
package com.chen.arithmetic_test.list_test;
/**
* Created by ChenMP on 2017/7/3.
*/
public interface List {
//獲得長度
public int size();
//插入元素
public boolean insert(int index, Object o) throws Exception;
//新增元素
public boolean add(Object o) throws Exception;
//刪除元素
public boolean remove(int index) throws Exception;
//獲取元素
public Object get(int index) throws Exception;
//判斷線性表是否為空
public boolean isEmpty();
package com.chen.arithmetic_test.list_test;
/**
* Created by ChenMP on 2017/7/3.
*/
public class SequenceList implements List {
private Object[] listArray;//對象數組
private int size;//對象數組長度
private boolean isFixed;//是否限定對象數組長度
public SequenceList() {
this.size = 0;
this.listArray = new Object[3];//默認對象數組固定長度為3
this.isFixed = false;//不限定對象數組長度
}
public SequenceList(int length) {
this.listArray = new Object[length];
this.size = 0;
this.isFixed = true;//限定對象數組長度
}
@Override
public int size() {
return size;
}
@Override
public boolean insert(int index, Object o) throws Exception {
if(index > size || index < 0)
throw new Exception("IndexOutOfBoundsException");
if(index==size && size==this.listArray.length && this.isFixed)
throw new Exception("IndexOutOfBoundsException");
if(index==size && size==this.listArray.length && !this.isFixed) {
Object[] newListArray = new Object[this.listArray.length + 10];
System.array(listArray, 0, newListArray, 0, listArray.length);
newListArray[index] = o;
this.listArray = newListArray;
this.size++;
return true;
}
if (index == size && size<this.listArray.length) {
listArray[index] = o;
this.size++;
return true;
}
if(index < size && index >= 0) {
listArray[index] = o;
return true;
}
return false;
}
@Override
public boolean add(Object o) throws Exception {
if(this.size==this.listArray.length && this.isFixed)
throw new Exception("IndexOutOfBoundsException");
if(this.size==this.listArray.length && !this.isFixed) {
Object[] newListArray = new Object[this.listArray.length + 10];
System.array(listArray, 0, newListArray, 0, listArray.length);
newListArray[size] = o;
this.listArray = newListArray;
this.size++;
return true;
}
if(this.size<this.listArray.length) {
listArray[this.size] = o;
this.size++;
return true;
}
return false;
}
@Override
public boolean remove(int index) throws Exception {
if(index < 0 || index >= size)
throw new Exception("IndexOutOfBoundsException");
System.array(listArray, 0, listArray, index, listArray.length-index);
this.size--;
return true;
}
@Override
public Object get(int index) throws Exception {
if(index < 0 || index >= size)
throw new Exception("IndexOutOfBoundsException");
return this.listArray[index];
}
@Override
public boolean isEmpty() {
return this.size>0?false:true;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
for (Object o : this.listArray) {
if(null != o)
sb.append(o).append(" ,");
}
return sb.toString();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
測試類
package com.chen.arithmetic_test.list_test;
/**
* Created by ChenMP on 2017/7/3.
*/
public class TestList {
public static void main(String[] args) throws Exception {
List list = new SequenceList(3);
list.insert(0,0);
list.add(1);
list.add(2);
// list.add(3);
System.out.print("測試定長list: " + list.toString() + "|| list長度為: " + list.size());
System.out.println();
List list2 = new SequenceList();
list2.add(0);
list2.add(1);
list2.add(2);
list2.add(3);
System.out.print("測試不定長list: " + list2.toString() + "|| list長度為: " + list2.size());
}
}
❻ 《演算法分析與設計》課程主講老師是誰
1977年畢業於華東師范大學數學系,並留校在數學系任教。分別於1988年和1998年在華東師范大學數學系獲得碩士與博士學位。1998年9月轉入華東師范大學計算機系任教至今,現為副教授。
❼ 演算法分析與設計的內容簡介
Java實現示例覆蓋了軟體設計方法、面向對象實現問題和演算法的實驗性分析。這些典型問題的Java應用示例分布在不同的章節中。此外,書中以大量圖例說明演算法的工作過程,使演算法更加易於理解和掌握。
本書適合作為高等院校計算機專業本科生和研究生演算法設計課程的教材,也可作為從事軟體開發和工程設計的專業人員的參考書。此外,演算法愛好者和參加各種程序設計大賽的選手也可把本書作為參考用書。