c++——数据结构
1、写一个函数PrintN,使得传入一个N,打印从1到N的全部整数
#include<stdio.h>
//循环实现
void PrintN(int N){
int i;
for(i = ;i<=N;i++){
printf("%d\n",i);
}
return;
} //递归实现
void PrintN1(int N){
if(N){
PrintN1(N-);
printf("%d\n",N);
}
return;
} int main(){
int N;
scanf("%d",&N);
PrintN(N);
return ;
}
2、写程序计算给定多项式在给定点x处的值f(x)=a0+a1*x+...+an-1*x^(n-1)+an*x^n
将多项式写成如下形式:f(x)=a0+x(a1+x(...(an-1+x(an))...))
#include <stdio.h>
#include <time.h>
#include <math.h> clock_t start,stop;
double duration;
#define MAXN 10 /*多项式次数*/
#define MAXK 1e7 /*被测函数最大重复调用次数*/
double f1(int n,double a[],double x);
double f2(int n,double a[],double x); int main(){
int i;
double a[MAXN];
for (i=;i<MAXN;i++) a[i]=(double)i;
/*测试f1*/
start = clock(); /*开始计时*/
for(i=;i<MAXK;i++)
f1(MAXN-,a,1.1); /*被测试函数*/
stop = clock(); /*停止计时*/
duration = ((double)(stop-start))/CLK_TCK/MAXK;
printf("ticks1 = %f\n",(double)(stop-start));
printf("duration1 = %6.2e\n",duration);
/*测试f2*/
start = clock();
for(i=;i<MAXK;i++)
f2(MAXN-,a,1.1);
stop = clock();
duration = ((double)(stop-start))/CLK_TCK/MAXK;
printf("ticks2 = %f\n",(double)(stop-start));
printf("duration2 = %6.2e\n",duration); return ;
} double f1(int n,double a[],double x){
int i;
double p = a[];
for(i = ;i<=n;i++)
p+=(a[i]*pow(x,i));
return p;
} double f2(int n,double a[],double x){
int i;
double p = a[n];
for(i = ;i>;i--)
p=a[i-]+x*p;
return p;
}
结果:
c++——数据结构的更多相关文章
- 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)
前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...
- 一起学 Java(三) 集合框架、数据结构、泛型
一.Java 集合框架 集合框架是一个用来代表和操纵集合的统一架构.所有的集合框架都包含如下内容: 接口:是代表集合的抽象数据类型.接口允许集合独立操纵其代表的细节.在面向对象的语言,接口通常形成一个 ...
- 深入浅出Redis-redis底层数据结构(上)
1.概述 相信使用过Redis 的各位同学都很清楚,Redis 是一个基于键值对(key-value)的分布式存储系统,与Memcached类似,却优于Memcached的一个高性能的key-valu ...
- 算法与数据结构(十五) 归并排序(Swift 3.0版)
上篇博客我们主要聊了堆排序的相关内容,本篇博客,我们就来聊一下归并排序的相关内容.归并排序主要用了分治法的思想,在归并排序中,将我们需要排序的数组进行拆分,将其拆分的足够小.当拆分的数组中只有一个元素 ...
- 算法与数据结构(十三) 冒泡排序、插入排序、希尔排序、选择排序(Swift3.0版)
本篇博客中的代码实现依然采用Swift3.0来实现.在前几篇博客连续的介绍了关于查找的相关内容, 大约包括线性数据结构的顺序查找.折半查找.插值查找.Fibonacci查找,还包括数结构的二叉排序树以 ...
- 算法与数据结构(九) 查找表的顺序查找、折半查找、插值查找以及Fibonacci查找
今天这篇博客就聊聊几种常见的查找算法,当然本篇博客只是涉及了部分查找算法,接下来的几篇博客中都将会介绍关于查找的相关内容.本篇博客主要介绍查找表的顺序查找.折半查找.插值查找以及Fibonacci查找 ...
- 算法与数据结构(八) AOV网的关键路径
上篇博客我们介绍了AOV网的拓扑序列,请参考<数据结构(七) AOV网的拓扑排序(Swift面向对象版)>.拓扑序列中包括项目的每个结点,沿着拓扑序列将项目进行下去是肯定可以将项目完成的, ...
- 算法与数据结构(七) AOV网的拓扑排序
今天博客的内容依然与图有关,今天博客的主题是关于拓扑排序的.拓扑排序是基于AOV网的,关于AOV网的概念,我想引用下方这句话来介绍: AOV网:在现代化管理中,人们常用有向图来描述和分析一项工程的计划 ...
- 掌握javascript中的最基础数据结构-----数组
这是一篇<数据结构与算法javascript描述>的读书笔记.主要梳理了关于数组的知识.部分内容及源码来自原作. 书中第一章介绍了如何配置javascript运行环境:javascript ...
- [数据结构]——链表(list)、队列(queue)和栈(stack)
在前面几篇博文中曾经提到链表(list).队列(queue)和(stack),为了更加系统化,这里统一介绍着三种数据结构及相应实现. 1)链表 首先回想一下基本的数据类型,当需要存储多个相同类型的数据 ...
随机推荐
- oracle 如何查看当前用户的表空间名称
如何查询当前用户的表空间名称?因为oracle建立索引,需要知道当前用户的表空间,查找了一下资料 --查询语法-- select default_tablespace from dba_users w ...
- 每天CSS学习之direction
direction是CSS2的属性,它的作用是规定文字书写的方向. 1.ltr:从左到右,即left to right.该值为默认值.如下所示: div{ border:1px solid red; ...
- 《Python》re模块补充、异常处理
一.re模块 1.match方法 import re # match 验证用户输入的内容 ret = re.match('\d+', 'hhoi2342ho12ioh11') print(ret) # ...
- Myeclipse代码格式化
Shift+Ctrl+F 别和搜狗输入法冲突,把搜狗输入法的设置取消掉. 当然,还可以设置,自动格式化: 步骤:
- 3.6 C++继承机制下的构造函数
参考:http://www.weixueyuan.net/view/6363.html 总结: 在codingbook类中新增了一个language成员变量,为此必须重新设计新的构造函数.在本例中bo ...
- Java 将图片转成base64,传到前台展示
后台代码: public String getBase64(SysFile sysFile){ String imgStr = ""; try { File file = new ...
- 重载的方式写Python的post请求
#encoding=utf-8#__author__="Lanyangyang" import unittestimport requestsimport json # This ...
- thymeleaf之下拉框回显选中
#1.select下拉框取值 <div class="form-group "> <label id="resource" ...
- Dll重定向(尚存否?)
windows核心编程(第五版)的20.6节介绍了Dll重定向. 0x01 Dll重定向简介 产生Dll重定向原因: 应用程序 a.exe 依赖动态链接库 compoent.dll 1.0 版本.但 ...
- 一个灵活的AssetBundle打包工具
尼尔:机械纪元 上周介绍了Unity项目中的资源配置,今天和大家分享一个AssetBundle打包工具.相信从事Unity开发或多或少都了解过AssetBundle,但简单的接口以及众多的细碎问题 ...