程序设计原理中关于算法

来源:互联网 发布:linux 核 绑定 编辑:程序博客网 时间:2024/06/07 08:59

 

一、概念:算法是由有限序列组成用来解决问题的指令.

        算法=控制指令+基本操作.

        定义一个算法需要:人类语言、伪代码、流程图、程序语言。

二、设计一个算法的基本要求

        Finiteness :算法的步骤必须是有限的;

        Definiteness :程序语言清晰,有明确的执行步骤;

        Input :有大于等于零步的输入;

        Output :有至少一步的输出;

        Feasibility :算法必须可实现。

三、设计一个算法的基本原则

        Correctness :算法步骤必须是正确的 ;

        Readability :语句易懂,可读性强;

        Robust :具有武装性,即使用户输入非法数据算法也可识别;

        时间上的高效性空间上的低内存。

四、分析算法

        1、  空间复杂度

        2、  时间复杂度:计算时间

             · 影响执行时间的因素:

               ①  计算机执行命令的速度

               ②  由编译器生成机器语言的质量

               ③  程序语言

               ④  问题的规模

               ⑤  算法所挑选的方法

        3、  O(f(n))表示法

                当“问题的规模(由n表示)”是唯一的解决办法,如果随着n的增长,执行时间的增长速率与f(n)一样,那么我们表示它为:T(n)=o(f(n))。

                 f(n):通常为基本操作的最大执行时间。

                基本操作:一把在最内层的循环中列出。

 

原创粉丝点击