精华内容
下载资源
问答
  • 算法描述

    千次阅读 2019-09-22 17:40:02
    (1)算法描述数据对象之间的关系(包括数据逻辑关系、存储关系描述)。 (2)描述算法的工具:算法可用自然语言、框图或高级程序设计语言进行描述。自然语言简单但易产生二义性;框图直观但不擅长表达数据的组织...

    1.算法、语言、程序的关系

    首先分析数据结构中算法、语言和程序的关系。

    (1)算法:描述数据对象之间的关系(包括数据逻辑关系、存储关系描述)。

    (2)描述算法的工具:算法可用自然语言、框图或高级程序设计语言进行描述。自然语言简单但易产生二义性;框图直观但不擅长表达数据的组织结构;而高级程序设计语言则较为准确、严谨,但因需考虑细节问题而显得相对繁琐。

    (3)程序是算法在计算机中的实现(与所用计算机及所用语言有关)。程序设计的实质是对实际问题选择一种好的数据结构,加之设计一个好的算法,而好的算法在很大程度上取决于描述实际问题的数据结构。

    2.设计实现算法过程的步骤

    (1)找出与求解有关的数据元素之间的关系(建立结构关系)

    (2)确定在某一数据对象上所施加的运算。

    (3)考虑数据元素的存储表示。

    (4)选择描述算法的语言。

    (5)设计实现求解的算法,并用程序语言加以描述。

    3.描述算法的语言选择

    高级语言描述算法具有严格、准确的优点,但用于描述算法,也有语言细节过多的弱点,为此可采用类语言形式。所谓类语言,是指接近于高级语言而又不是严格的高级语言,它具有高级语言的一般语句,撇掉语言中的细节,以便把注意力集中在算法处理步骤本身的描述上。

    传统的描述语言是采用Pascal语言,由于该语言语法规范严谨,非常适合于数据结构。在Windows环境下,又出现了一系列功能强大且面向对象的程序开发工具,如visual C++、Borland C++、Visual Basic等。近年来在计算机科学研究、系统开发、教学以及应用开发中,C语言的使用范围越来越广,C语言成为许多学校计算机专业与非计算机专业必修的高级程序设计语言。C语言类型丰富,执行效率高。

     

    展开全文
  • 9本书主要讨论捷联惯导系统算法方面的有关问题,包括姿态算法基本理论、捷联惯导更新算法与误差分析、组合导航卡尔曼滤波原理、捷联惯导系统的初始对准技术、组合导航系统建模以及算法仿真等内容。
  • 算法描述语言ADL

    千次阅读 多人点赞 2020-12-05 12:39:40
    算法描述语言ADL书写算法的格式及规定如下: 算法<算法名>(变量i1,···,变量in.变量j,···,变量jn) // <算法的概括说明>或者/* <算法的概括说明> */ <步骤名>.[<本步骤的概括...

    用算法描述语言ADL书写算法的格式及规定如下:

    算法<算法名>(变量i1,···,变量in.变量j,···,变量jn)
          // <算法的概括说明>或者/* <算法的概括说明> */
       <步骤名>.[<本步骤的概括说明>]
                <操作1>//<操作1的解释>或者/*<操作1的解释>*/
                       或者(操作1的解释)或者<无解释>
                 ···
                 <操作J1> // <操作J1的解释>或者/* <操作J1的解释> */
                          或者(操作J1的解释)或者<无解释>
         ···
       <步骤名>.[<本步骤的概括说明>]
                 <操作1> //<操作1的解释>或者/*<操作1的解释>*/
                         或者(操作1的解释)或者<无解释>
                 ···
    		     <操作Jk> // <操作Jk的解释>或者/* <操作Jk的解释> */
                          或者(操作Jk的解释)或者<无解释>▎
    

    下面是对上述书写格式给出具体解释:

    (1)关于“<算法名>(变量i1,···,变量in.变量j,···,变量jn)”的解释

     <算法名>是由字母和数字组成的有限字符串,并且字符串中的第一个符号必须是字母。
     在变量表中,变量ik为输入变量.1≤k≤m,m≥0,当m=O时.表示无输入变量;变量jk为输出变量,1≤k≤n,n≥1。
    

    (2)关于<算法的概括说明>的解释

       在算法的变量表后对整个算法进行概括说明,说明中应包含算法的主要思想,对算法功能和其变量的解释等。
    

    (3)关于算法步骤的解释

     算法的每一步骤都要有步骤名,步骤名由<算法名或算法名缩写><数字>组成。
     步骤名后面的方括号内是对该步骤所执行操作的高度概括。
     方括号后是本步骤的一系列操作,每个操作由ADL语句给出,若某操作难于理解则需在其后对其做出解释。
    

    (4)关于符号“ ▎”的解释

     每个算法都需要用符号“ ▎”表示其被书写完毕,也就是说,符号“ ▎”作为对应算法被书写完毕的结束符。
     注意算法不一定在符号“I”处运行结束。
    

    (5) 可使用的算术运算符

     +、-、*、x、/、DIV、MOD、L」(取地板运算,如Lx」的值是小于等于x的最大整数)、
     「](取天棚运算,如「x]的值是大于等于x的最小整数).....
    

    (6)关系、逻辑运算符、逻辑常量、集合运算符

     可用的关系运算符(=、≠、<、>、≥、≤)逻辑运算符(AND OR NOT),逻排常量(true,false).集合运算符(∩、U、一(差)...)。
    

    (7)结束符

     通常每条语句(或每个操作)都用".”作为结束符,但在能判断语句结束的位置可略去“.”。
    

    (8)关于注释语句

    注释语句有以下3种形式:
     1.较短的注释语句(注释内容不超过一行)用符号“//”开头,后面是具体注释的内容。
     2.较长的注释语句用符号“/*”开头,中间是具体注释的内容,用符号“*/”结尾。
     3.注释语句用左小括号“("开头,中间是具体的注释或说明内容,用右小括号“)”结尾。
    

    (9)关于赋值语句

     形如a←b,其中a是变量,b是表达式或变量;
     a↔b表示交换变量a和变量b的内容;
     a←b←c,表示既将c的值赋给变量a,又将其值赋给变量b。
    

    (10)关于条件语句

    1.IF(或如果,或若)<逻辑表达式> THEN(或“,则”)(语句...语句m).
    2.IF(或如果,或若)<逻辑表达式>
    	THEN(或“,则")(语句...语句m).
    	ELSE(或“;否则”)(语句...语句n).
    其中m,n≥1。
    3.CASE DO
    		(<逻辑表达式 1>:(语句1...语句n).
    		       ···
    		<逻辑表达式m>:(语句...语句nm )).
    其中,n≥1,m≥1,1≤i≤m。
    

    (11)关于循环语句

    	1.WHILE<逻辑表达式>DO(语句1. ..语句n).
    其中,n≥1。
    	2.FOR<变量>=<算术表达式1> T0<算术表达式2>STEP<算术表达式3>
    				DO(语句1. ... 语句n).
    其中,n≥1。若<算术表达式3>=1,则“STEP<算术表达式3>"可略去。
    	3.FOR V<变量>∈<集合> DO (语句...语句n).路
    其中,n≥1。
    

    (12)关于转移语句

    	GOTO<步骤名>.
    

    (13)关于EXIT语句

    		可用在通常的结束条件满足之前,用来结束WHILE或FOR循环的执行。
    		EXIT语句使得程序转移到紧接在包含EXIT的(最内层的)WHILE或者FOR循环后面的第一个语句。
    

    (14)关于RETURN语句

    RETURN语句有两种表达形式:
    	RETURN
    或
    	RETURN<表达式>
    第一种表达形式表示没有返回值,直接返回;第二种表达形式表示返回表达式的值,并返回。
    若算法在紧邻符号“ ▎”的操作处结束,RETURN语句通常被省略。
    

    (15)关于圆括号

    当且仅当圆括号中只有1条语句时,圆括号可以省略。
    

    (16)关于输人、输出语句

    输人语句为
    	READ(x)
    表示读取输人值赋给变量x。
    输出语句为
    	PRINT( <表达式>)
    或
    	PRINT<字符串常量>
    
    展开全文
  • 五种常见的基本算法描述

    千次阅读 2020-04-18 17:25:22
    1.分治法 2.动态规划 3.贪心 4.回溯 5.分支限界法

    1.分治法

    分治法


    2.动态规划

    动归


    3.贪心

    贪心



    4.回溯

    回溯


    5.分支限界法

    分支限界

    展开全文
  • 算法描述

    千次阅读 2020-04-13 21:34:45
    算法描述</center> 注:本文为学习《C语言从入门到精通》时,部分章节的总结 1、自然语言 人们日常使用的语言,通俗易懂,但用来描述较为复杂的算法时,不是很方便。 2、流程图 流程图是一种传统的...

    <center>算法的描述</center>

    注:本文为学习《C语言从入门到精通》时,对部分章节的总结

    1、自然语言

    人们日常使用的语言,通俗易懂,但用来描述较为复杂的算法时,不是很方便。

    2、流程图

    流程图是一种传统的算法表示法,用不同的图框代表不同性质的操作,用流程线来知识执行方向。直观形象,易于理解。

    (1)、流程图符号

    正确性食指所写的算法应能安祖具体问题的要求,即对任何合法的输入,都会得到正确的结果。

    流程图使用一些图框来表示各种操作。

    a.起止框:标识算法的开始和结束;

    b.输入/输出框:标识数据任何种类的输入或输出;

    c.流程线:表示控制流的流线;

    d.判断框:用于对一个给定的条件进行判断,根据条件成立与否决定如何执行后续操作;

    e.处理框:表示在过程的一个单独的步骤;

    f.注释框:用于说明一些事项;

    g.连接点:用于将画在不同地方的流程线连接起来。

     

    :从键盘输入3个数并分别赋值给a、b、c,要求从大到小的顺序将它们打印出来。

     

    (2)、3种基本结构

    a.顺序结构:简单的线性结构;

    b.选择结构:也称为分支结构,必须至少包含一个判断框;

    c.循环结构:反复的执行一系列操作,直到条件不成立时才终止循环。按照判断条件出现的位置,可分为当型循环和直到型循环。

    3、N-S流程图

    在普通流程图的基础上去掉了流程线。

    (1)、顺序结构

     

    (2)、选择结构

     

    (3)、循环结构

    a.当型循环:

     

    b.直到型循环:

     

    展开全文
  • 书的内容包括表、栈、队列、树、散列表、优先队列、排序、不相交集算法、图论算法算法分析、算法设计、摊还分析、查找树算法、k-d树和配对堆等。《数据结构与算法分析:C++描述(第3版)》适合作为计算机相关专业本科...
  • GM/ T 0001《祖冲之序列密码算法》包括三部分: 第1部分:算法描述; 第2部分:基于祖冲之算法的机密性算法; 第3部分:基于祖冲之算法的完整性算法。 本部分为GM/T 0001的第1部分。
  • 3.2 算法及其描述- 新教材粤教版2019高中信息技术必修一练习 学校_姓名_班级_考号_ 一选择题 1下面关于算法描述,正确的是 A 算法不可以用自然语言描述 B 算法只能用流程图来描述 C 一个算法必须保证它的执行步骤是...
  • 算法描述---伪代码

    千次阅读 2017-11-23 14:13:40
     算法描述是指设计出的算法,用一种方式进行详细的描述,以便与人交流。描述可以使用自然语言、伪代码,也可使用程序流程图,但描述的结果必须满足算法的五个特征。  使用自然语言描述算法显然很有吸引力,但是...
  • 算法及其描述

    千次阅读 2018-03-01 16:48:00
    算法有五个重要的特性1)有穷性 2)确定性 3)可行性 4)有输入 5)有输出算法设计应满足以下几条目标: 1)正确性 2)可使用性 3)可读性 4)健壮性 5)高效率和低存储量需求二、 算法时间复杂度分析通常有两种衡量算法效率的...
  • 《数据结构与算法分析:C语言描述》特色:着重讨论了算法设计技巧,包括贪婪算法、分治算法、动态规划、随机化算法以及回溯算法。系统介绍了当前流行的论题和新的数据结构,如斐波那契堆、斜堆、二项队列、跳跃表和...
  • * * 2.1 算法的基本概念 2.2 算法描述语言 2.3 算法设计的基本方法 2.4 算法的复杂度分析 第二章 算法 2.1 算法的基本概念 算法是指解题方案的准确而完整的描述 实际上一个程序应包含4个方面的内容即 程序=算法+数据...
  • 算法精解:C语言描述》是数据结构和算法领域的经典之作。包括pdf和源代码
  • 遗传算法

    万次阅读 多人点赞 2019-04-06 21:41:47
    使用遗传算法求解多峰函数的最大值,是我的一项课程作业,做...2、算法描述及实现 2.1、遗传算法概述 遗传算法(GA,Genetic Algorithm),也称为进化算法。遗传算法是受达尔文的进化论的启发,借鉴生物进化过程而提出...
  • 加密算法描述.zip

    2020-08-12 10:47:16
    集中常用加密算法描述框架,包含五种,实现了基础框架; 集中常用加密算法描述框架,包含五种,实现了基础框架; 集中常用加密算法描述框架,包含五种,实现了基础框架; 集中常用加密算法描述框架,包含五...
  • 本书基于Python语言介绍了数据结构与算法的基本知识,主要内容包括抽象数据类型和Python面向对象程序设计、线性表、字符串、栈和队列、二叉树和树、集合、排序以及算法的基本知识。本书延续问题求解的思路,从解决...
  • SVDD((Support Vector Data Description)即支持向量数据描述,其基本思想是通过在映射到高维的特征空间中找出一个包围目标样本点的超球体,并通过最小化该超球体所包围的体积让目标样本点尽 能地被包围在超球体中...
  • 数据结构、算法与应用:C++语言描述(原书第2版)共分三个部分。第一部分从第1章到第4章,旨在复习C++程序设计的概念以及程序性能的分析和测量方法。第二部分从第5章到第16章,研究数据结构,包括线性表、数组和矩阵、...
  • 本书是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程...第12章增加了后缀树和后缀数组的相关材料,包括Karkkainen和Sanders的线性时间后缀数组构造算法。 更新书中的代码,使用了Java 7中的菱形运算符。
  • 第二部分包含第3~9章,介绍各种算法设计思想,包括分治策略、贪心策略、动态规划、搜索与遍历、回溯、分支定界、代数方法等;第三部分包含第10~12章,介绍算法复杂度理论知识,包括下界定理、NP难和NP完全问题以及...
  • STL所有算法描述70个

    2018-10-18 20:23:02
    STL算法的详细描述,其中包含了70个算法,能够满足学习和考试面试所用。整理的好,便于学习
  • python实现bp算法包括算法类,实现类,包含两个实现机器学习的小例子test1,test2,用pycharm打开直接运行!
  •  《Reilly精品图书系列·算法精解:C语言描述》内容包括:  · 数据结构和算法的概念,以及使用它们的原因和意义  · 指针和递归  · 算法分析  · 常用数据结构:链表、栈、队列、集合、哈希表、树、堆、...
  • 算法精解(C语言描述),包含书上的源代码
  • 书的内容包括表、栈、队列、树、散列表、优先队列、排序、不相交集算法、图论算法算法分析、算法设计、摊还分析、查找树算法、k-d树和配对堆等。本书适合作为计算机相关专业本科生的数据结构课程和研究生算法分析...
  • 数据结构算法描述和分析

    千次阅读 2018-08-17 19:25:49
    高级语言程序设计在解决某一实际问题的一般步骤是:分析实际问题、确定数学模型、设计或选择一个求解此数学模型的算法、编写程序进行调试和测试解决问题等几个步骤。 例1:已知:游泳池的长length和宽winde,求面积...
  • 用流程图描述算法

    万次阅读 多人点赞 2018-07-18 08:41:11
    流程图就是一种描述算法的图形化描述,用流程图可以清晰地描述算法的思路和过程。通过本篇的学习,你将了解到如何用流程图来描述算法。】   流程图是算法的图形化描述。俗话说:一张图胜过千言万语,用流程图...
  • 内容包括14项,每项还包括相关的子项内容: 一、数论算法 二、图论算法 三、背包问题 四、排序算法 五、高精度计算 六、 树的遍历 七、进制转换 八、全排列与组合的生成 九、查找算法 十、贪心法 十一、回溯法...
  • [简述]数据结构-算法描述(c语言实现)second60 201804211 什么是算法?算法是特定问题求解步骤的一种描述。 1.1 五个特性 1.2 算法描述 1.3 算法分析算法分析的两个维度:时间复杂度和空间复杂度 1.3.1 时间...
  • 北京理工大学《数据结构与算法设计(C描述)》课程复习资料。主要内容包括数据结构概述、线性表、栈和队列、树和二叉树、图、查找、内部排序等内容。仅供复习参考。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 601,442
精华内容 240,576
关键字:

对算法的描述包括