第1章 算法在计算中的作用

本文介绍了算法的基本概念,强调了正确性和效率的重要性。通过举例说明了NP完全问题,如排序、多矩阵相乘最佳排序和找出凸壳。讨论了除运行速度外的效率指标,并分析了栈数据结构的优缺点。同时,对比了最短路径问题和旅行商问题。文章进一步阐述了算法作为技术的角色,指出系统性能依赖于高效算法。最后,举例展示了在地图导航等实际应用中算法的功能,并比较了插入排序和合并排序的效率边界。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.1 算法

算法就是定义良好的集算过程,它取一个或一组值作为输入,并产生一个或一组值作为输出。亦即,算法就是一系列的计算步骤,用来将输入数据转换成输出结果。

如果一个算法对其每一个输入实例,都能输出正确的结果并停止,则称它是正确的。

NP完全问题:迄今为止没有找出NP完全问题的有效解法,但也无法证明其有效解法不存在。其次,如果该集合中任何一个问题存在有效解法,则该集合中其他所有问题都存在有效解法。

 

练习

1.1-1 给出一个真实世界的例子,其中包含下列的某种计算问题:排序,确定多矩阵相乘的最佳排序,或者找出凸壳。

排序:给学生考试成绩按从高到低统计排序

确定多矩阵相乘的最佳排序:

找出凸壳:一群人围在操场上,找出一个面积最小的多边形将他们围住

1.1-2 除了运行速度以外,在真实世界问题背景中,还可以使用哪些效率指标?

可以使用的指标包括:单位时间内成品的比例、完成一件成品需要的原料等

1.1-3 选择你原来见过的某种数据结构,讨论一下其长处和局限性。

栈:先进后出的结构,使得数据存储很方便,且查询速度为O(n)。但是对于大数据量的查询与删除插入等操作不能很好的执行

1.1-4 上文中给出的最短路径问题和旅行商人问题有哪些相似之处?有哪些不同之处?

相似之处:均为寻找路径的最小值

不同之处:旅行商多少人问题需要考虑货物与距离的叠加限制条件,而最短路径只需要距离最短即可。

1.1-5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值