ACM程序设计常用算法与数据结构参考.doc
文本预览下载声明
ACM程序设计常用算法与 数据结构参考
Tomsdinary
目录
前言 6
排序算法 7
插入排序 7
选择排序 9
冒泡排序 10
希尔排序 11
随机化快速排序 13
归并排序 16
堆排序 18
大整数处理 21
包含头文件 21
定义 21
实现 23
流输出 23
流输入 23
赋值 23
转换函数 24
规范化符号化 25
带符号乘法 26
无符号取模 26
整数乘法 27
整数加法 29
带符号加法 31
浮点乘法 32
浮点加法 33
带符号减法 35
整数减法 36
浮点减法 38
带符号比较 40
无符号比较 40
无符号乘方 42
带符号乘方 42
使用方法 42
高级数据结构 43
普通二叉搜素树 43
包含头文件 43
定义 43
实现 46
删树 49
插入元素到树 49
复制树 52
求树的高度 55
求叶子的个数 56
删除元素 56
使用方法 58
基本线段树模式 59
基本并查集模式 61
散列实现的一种方式参考 62
定义与实现 62
使用方法 71
堆 71
包含头文件 71
定义与实现 71
使用方法 74
图相关算法 74
图的深度优先和广度优先算法举例 74
无向图最小生成树的Kruskal算法举例 77
无向图最小生成树的Prim算法举例 79
有向图的单源最短路径Dijkstra算法举例 81
有向图的多源最短路径Floyd算法举例 82
拓扑排序举例 84
AOE网的算法举例 86
求图的一个中心算法举例 91
求图的P个中心算法举例 93
SPFA算法举例 98
割顶和块的算法举例 100
计算几何算法 103
向量模 103
向量点积 104
向量叉积 104
左右判断 104
相交判断 104
正规相交交点 105
判断多边形凸 105
任意多变形面积 106
凸包问题的快包实现举例 106
STL算法参考 111
accumulate() 111
adjacent_difference() 111
adjacent_find() 112
binary_search() 112
copy() 113
copy_backward() 113
count() 113
count_if() 114
equal() 114
equal_range() 114
fill() 115
fill_n() 115
find() 115
find_if() 115
find_end() 116
find_first_of() 116
for_each() 117
generate() 117
generate_n() 117
includes() 117
inner_product() 118
inplace_merge() 118
iter_swap() 119
lexicographical_compare() 119
lower_bound() 120
max() 120
max_element() 120
min() 121
min_element() 121
merge() 121
mismatch() 122
next_permutation() 122
nnth_element() 123
partial_sort() 123
partial_sort_copy() 124
partial_sum() 124
prev_permutation() 125
random_shuffle() 125
remove() 125
remove_copy() 126
remove_if() 126
remove_copy_if() 126
replace() 126
replace_copy() 127
replace_if() 127
replace_copy_if() 127
reverse() 127
reverse_copy() 128
rotate() 128
rotate_copy() 128
search() 128
search_n() 129
set_difference() 129
set_intersection() 130
set_symmetric_difference() 130
set_union() 131
sort() 131
stable_partition() 132
stable_sort() 132
swap() 132
swap_range() 132
transform() 133
unique() 133
unique_copy() 134
upper_bound() 134
make_heap() 135
pop_heap() 135
push_heap
显示全部