1.2-1
给出在应用层需要算法内容的应用的一个例子,并讨论涉及的算法的功能。
答:
在现在的网约车服务中,为了节省油费以及时间,服务平台需要自动为司机选择一条最短路径作为导航。同时,也为了节省乘客的时间,通常会通过一定的算法来避免堵车。
1.2-2
假设我们正比较插入排序与归并排序在相同机器上的实现。对规模为 n n n的输入,插入排序运行 8 n 2 8n^2 8n2步,而归并排序运行 64 n l o g 2 n 64nlog_2n 64nlog2n步。问对哪些 n n n值,插入排序优于归并排序?
答:
8
n
2
<
64
n
log
2
n
8n^2 < 64n\log_2n
8n2<64nlog2n
⇒
n
<
8
log
2
n
,
且
n
≠
0
\Rightarrow n< 8\log_2n ,且n \neq 0
⇒n<8log2n,且n=0
⇒
2
n
<
n
8
\Rightarrow 2^n < n^8
⇒2n<n8
⇒
2
⩽
n
⩽
43
\Rightarrow 2 \leqslant n \leqslant 43
⇒2⩽n⩽43
1.2-3
n n n的最小值为何值时,运行时间为 100 n 2 100n^2 100n2的一个算法在相同机器上快于运行时间为 2 n 2^n 2n的另一个算法?
答:
100
n
2
<
2
n
100n^2 < 2^n
100n2<2n
⇒
n
⩽
15
\Rightarrow n \leqslant 15
⇒n⩽15