间始终是个常数算法就是原地工作4算法设计规范1在算法设计中第一个牵涉到的概念是算法说明它是写在过程或函数首部以下的注释内容虽是注释内容却是必不可少的在测试中也占有相当大的作用此说明主要包括算法的功能参数表中各参数的含义及输入输出定义算法中引用了哪些全局变量或外部定义的变量它们的作用入口初值以及应该满足哪些
f我下vip免费资源网wwwwoxia
et
限制条件如链表是否带头结点表中元素是否有序如果有序是递增还是递减等等必要时算法说明还可用来陈述算法思想采用的存储结构等递归算法的说明特别重要读者应该力求将它写为算法的严格定义几个例子229procedureDiffere
ceSqlistVARaSqlistbcSqlist删去增序顺序表中那些既在增序顺序表中B出现又在增序顺序表C中出现的元素233procedureSqlistli
kedlistVARlcldloi
kedListlli
kedList将线性表ll分割为3个循环链表lcld和lo其中每个循环链表只含一类字符分别为AZ09和其它字符2注释与断言在难懂的语句和关键的语句段之后加以注释可以大大提高程序的可读性注释要恰当并非越多越好此外注释句的抽象程度应略高于语句段断言是注释的一种特殊写法它是一个逻辑谓词陈述算法执行到此点时应满足的条件即这种形式当时最重要的就是算法的入口断言与else分支断言如果算法不含有参数佥性检测的代码段书写入口断言是最低限度的要求3输入输出三种方式a通过专门的输入出语句readwritesca
fpri
tf等b通过参数表中的参数传递c通过全局及外部变量4错误处理三种处理方式aerror语句实现b通过函数返回错误代码或错误状态值cexit语句实现提倡使用第二种方式来实现错误处理5语句的使用与算法结构避免使用goto语句算法结构结构应该同层次对齐下一层向上一层缩进两格并以适当的符号标识语句段的开始与结束6基本运算未明确要求的不得直接用教科书上的基本运算非用不可的要将这些基本运算的代码全部写出7几点建议a建议以图说明算法b建议在算法书写完毕后用边界条件的值验证一下算法能否正确执行5类P与类C大比拼许多朋友问我类P与类C有啥区别哪个更好考试的时候用哪个语言其实这些都是一些很基础的问题不客气地说这是考研门外汉的问题类P较类C的教材版本出得早在后期的类C版数据中省去了类P中的一些内容比如栈一章的递归到非递归的转化等但并不能因此就说类C版要差事实上类C的更符合当前考试和应用的发展趋势从整体认同度而言r