软件设计总结

1 问题分解

   学会将复杂问题分解为若干简单问题。

2 函数的前置条件,后置条件

   前置条件:是一条语句,调用函数时该语句给出所要求的条件。若前置条件为真,则执行该函数。

   后置条件:是一条语句,当函数调用结束时,该语句将给出哪些条件为真。

   编写函数时以注释方式写入,其实就是函数的输入输出。

   使用函数assert检查前置条件可以大幅度缩短调试时间,当考虑程序的运行速度时,assert检查可以随时关闭。

3 logN

   分析算法复杂度时经常看到。可以证明,以十进制表示法书写整数n时,n中数字的位数近似等于n的以10为底的对数。但它并不总是整数,所以向下取整再加一,即 [logN]+1。

4 大O表示法

    3种重要示例:线性型O(n),二次型O(n^2),对数型O(logN)。

5 程序测试

   选择恰当的测试数据,应具有以下两个属性:

   (1)对于每个输入应该知道正确的程序输出是什么。

   (2)测试输入应该尽可能的包含那些可能导致程序出错的数据。

  重点考虑测试边界值。


    总结于《数据结构与面向对象程序设计——C++版》


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值