1.1算法绪论

    技术2022-07-16  77

    算法

    前言:本系列文章为数据结构(邓俊辉第三版)听课笔记

    1、计算=信息处理

    借助某种工具,遵照一定规则,以明确而机械的形式进行。

    计算模型=计算机=信息处理工具

    2、算法

    所谓算法,即特定计算模型下,旨在解决特定问题的指令序列。 输入 待处理的信息=问题 输出 经处理的信息=答案 正确性 的却可以解决指定的问题 确定选 任一算法都可以描述为一个由基本操作组成的序列 可行性 每一基本操作都可实现,且在常数时间内完成 有穷性

    好算法: 正确:符合语法,能够编译、链接 能正确处理简单的、大规模的、一般性的、退化的、任意合法的输入。 健壮:能辨别不合法的输入并作适当处理,而不致非正常退出。 可读:结构化+准确命名+注释+… 效率:速度快、储存空间少

    3、算法:有穷性

    Hailstone(n)未必是算法,未证明其有穷性 序列Hailstone(n): n<=1, Hailstone(n)={1}; n偶, Hailstone(n)={n}UHailstone(n/2); n奇, Hailstone(n)={n}UHailstone(3n+1);

    #include<iostream> using namespace std; int hailstone(int n) { int length=1; //计算其序列长度的程序 while(1<n){ // if((n%2)==1){ // n=3*n+1; // }else{ // n=n/2; // } ((n%2)==1)?n=3*n+1:n=n/2; length++; } return length; } int _tmain(int argc, _TCHAR* argv[]) { int i,j; cout<<"Please enter the number: "<<endl; cin>>i; j=hailstone(i); cout<<"j="<<j<<endl; return 0; }
    Processed: 0.010, SQL: 9