20200721_数据结构C++语言版_读书笔记05_鲁棒性

本文探讨了算法的鲁棒性和重用性,强调了算法在面对极端输入时的表现及其应用范围的重要性。通过排序问题举例说明了退化情况下的算法行为,并讨论了如何确保算法的鲁棒性。同时,文章提到了算法的框架应便于推广至其他场景,如bubblesort的通用性。

20200721_数据结构C++语言版_读书笔记05_鲁棒性

每日小知识

LAMP,开源软件四大工具,分别为linux,apache,mysql,php。

一、相关术语

  • degeneracy
    算法的退化性。

  • robustness
    算法的鲁棒性。

二、相关内容

第1章,绪论。
1.1 计算机与算法

1.1.4 算法

▶退化与鲁棒性

除一般性情况外,实用的算法还应能够处理各种极端的输入实例。仍以排序问题为例,极端情况下待排序序列的长度可能不是正数,或者长度超过系统支持的最大值,以上都属于退化(degeneracy)情况。

算法所谓的鲁棒性(robustness),就是要求能够尽可能充分地应对上述情况。

▶重用性

从实用角度评判不同算法及其实现方式时,可采用的另一标准是:算法的总体框架能否便捷地推广至其它场合。例如bubblesort,无论是对于float、char或其它类型,都可以沿用。

三、看不懂的内容

无。

四、相关笔试题

面试例题6、下面的程序哪里有错?

int main()
{
int iv; //1
int iv2=1024;   //2
int iv3=999;    //3
int &reiv;  //4
int &reiv2 = iv;    //5
int &reiv3 iv;  //6
int *pi;    //7
*pi = 5;    //8
pi = &iv3;  //9
const double di;    //10
const double maxWage = 10.0;   //11
const double minWage = 0.5; //12
const double *pc = &maxWage;    //13
cout << pi;

return 0;
}

答:4,错误,引用必须初始化。
6,错误,必须初始化。
8,错误,指针必须指向一个地址,5是一个常量。
10,错误,const常量赋值必须初始化。

本文归类

建议归类到【数据结构】。

明日计划

标题:数据结构C++语言版_读书笔记06_算法效率
小知识:无。

参考文献:

《数据结构(C++语言版)》,第7页。

《程序员面试手册》,第22页。

一些难度较高的笔试题

题目6、T(n) = 25T(n/5)+n^2的时间复杂度是什么?
题目10、实现N*N矩阵的乘法,矩阵由一维数组表示。
题目12、有长度为n的整数数组,找出其中任意(n-1)个乘积最大的那一组,只能用乘法,不能用除法。要求对算法的时间复杂度和空间复杂度做出分析,不要求写程序。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丰哥86

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值