题目

分析

实际上就是递归的使用。

代码

核心代码:

/* 递归算法 */
float sqrt(float A,float p,float e) {if(abs(p*p-A)<e) {return p;} else if(abs(p*p-A)>=e) {sqrt(A,(p+A/p)/2,e);}
}/* 非递归算法 */
float sqrt_2(float A,float p,float e) {while(abs(p*p-A)>=e) {p=(p+A/p)/2;}return p;
}

完整代码:

#include<stdio.h>#define maxSize 20/* 求绝对值 */
float abs(int x) {if(x<0) {return -x;} else {return x;}
}/* 递归算法 */
float sqrt(float A,float p,float e) {if(abs(p*p-A)<e) {return p;} else if(abs(p*p-A)>=e) {sqrt(A,(p+A/p)/2,e);}
}/* 非递归算法 */
float sqrt_2(float A,float p,float e) {while(abs(p*p-A)>=e) {p=(p+A/p)/2;}return p;
}int main() {float A=10;float p=3;float e=2.3;float r1=sqrt(A,p,e);printf("%2.f\n",r1);float r2=sqrt_2(A,p,e);printf("%2.f\n",r2);return 0;
}

运行结果:

考研数据结构之栈(2.5)——练习题之求解二次方根A的迭代函数,写出相应的递归算法和非递归算法(C表示)相关推荐

  1. 给定一个n节点的二叉树,写出一个O(n)时间非递归过程,将该树每个节点关键字输出,可以使用一个栈作为辅助数据结构(算法导论第十章10.4-3)

    给定一个n节点的二叉树,写出一个O(n)时间非递归过程,将该树每个节点关键字输出,可以使用一个栈作为辅助数据结构 (算法导论第十章10.4-3) template<typename T> ...

  2. 天勤考研数据结构笔记—栈的C语言实现

    栈的基本概念 栈的定义:栈是一种只能在一端进行插入或删除操作的线性表.其中允许进行插入或删除的一端称为栈顶(top).栈顶是由一个称为栈顶指针的位置指示器(其实就是一个变量,对于顺序栈,就是数组索引, ...

  3. 五、考研数据结构笔记——栈与队列的应用

    一.应用一:栈在括号中的应用 1.1 问题描述 一般的写一个算数表达式,看看括号是否是匹配的. 1.2 算法思路 初始设置一个空栈,顺序读入括号 若是左括号压入栈中. 若是右括号,看是否与栈顶的左括号 ...

  4. 王道计算机考研 数据结构 (栈和队列)

    第三章.栈和队列 3.1.1_栈的基本概念 栈的定义 栈的基本操作 栈的常考题型 思维导图 3.1.2_栈的顺序存储实现 顺序栈的定义 初始化操作 进栈操作 出栈操作 读栈顶元素操作 另一种方式 这种 ...

  5. 2022年考研数据结构_3 栈和队列

    https://gitee.com/fakerlove/Data-Structure 文章目录 3. 栈和队列 3.1 栈 3.1.1 栈的定义 3.1.2 栈的实现 3.1.3 栈的应用 (1)递归 ...

  6. 天勤考研数据结构———顺序栈、链栈操作

    typedef struct{                //定义顺序栈     int data[maxsize];     int top;//定义栈顶指针 }SqStack; void in ...

  7. 计算机队列概念,2020计算机专业考研数据结构知识点:栈、队列和数组

    2020计算机专业考研数据结构知识点:栈.队列和数组 1.栈.队列的定义及其相关数据结构的概念,包括:顺序栈.链栈.循环队列.链队列等.栈与队列存取数据(请注意包括:存和取两部分)的特点. 2. 掌握 ...

  8. 考研数据结构填空题整合_做题版

    考研数据结构填空题整合 目录 考研数据结构填空题整合 一.ZYL组 ZYL组一 ZYL组二 ZYL组三 ZYL组四 ZYL组五 ZYL组六 ZYL组七 ZYL组八 二.TJP组 TJP组一 TJP组二 ...

  9. 一、考研数据结构笔记——引言及目录

    一.关于我理解的数据结构 1. 引言 本人自2021年3月准备考研,考研主要是为了提升学历,本科院校不是理想.迫切需要提高学历. 写这刊博客,主要是总结我考研路上对数据结构的一些理解,以及为了方便我后 ...

  10. 西安理工大学计算机考研数据结构863整理总结

    第一章 绪论 考试大纲 1)了解数据元素.数据结构.抽象数据类型.存储结构等概念:了解算法概念及算法设计的基本要求 : 2)掌握算法分析方法.语句的频度和估算时间复杂度.空间复杂度分析方法. 考查要点 ...

最新文章

  1. 开源 java CMS - FreeCMS2.8 自定义标签 channelSon
  2. mysql中length与char_length字符长度函数使用方法
  3. 强大的grep命令使用经验
  4. 【信息抽取】介绍一种端到端的关系抽取方法
  5. 如何把你的Windows PC变成瘦客户机
  6. PrimerCH3字符串,向量,迭代器,数组
  7. php v-for=,Vue中v-for循环节点的实现代码
  8. python写word表格_使用表格—— 使用Python读写Office文档之三
  9. 让英文版的LINUX 支持中文显示
  10. gqview的安装与汉化
  11. C语言——实现简单的猜数字游戏
  12. 《数学分析》收敛数列的性质
  13. protoc 编译工具
  14. 计算机专硕怎么规划未来?
  15. Android的5种快捷开关的实现
  16. xp系统简单tcpip服务器,Win XP系统下添加打印机的方式手工添加TCP/IP端口
  17. kali Linux的优点与缺点
  18. ChinaSoft 论坛巡礼 | 软件智能合成理论与方法
  19. SVN介绍及使用总结
  20. 甲骨文面试经历 Oracle Interview

热门文章

  1. 谷歌Android UI设计技巧
  2. 使用内网服务器上线微信小程序总结
  3. 输入阻抗、输出阻抗、阻抗匹配和特性阻抗
  4. php怎么画五星红旗,PHP_php基于GD库画五星红旗的方法,本文实例讲述了php基于GD库画 - phpStudy...
  5. Mac破解软件 “XXX”意外退出 奔溃解决方法
  6. mysql5.7压缩包安装教程
  7. android 画布抗锯齿,怎么在Android应用中利用paint与Canvas实现抗锯齿效果
  8. vue如何区别浏览器刷新和关闭
  9. P1336 课题选择
  10. matlab无限长一维原子链,优·王淑华固体物理答案第三章.ppt