数据结构与算法(1)
来源:互联网 发布:js 字符串base64编码 编辑:程序博客网 时间:2024/05/21 14:07
因为是第一篇数据结构与算法嘛,先简单介绍一下,想从基础开始了解数据结构与算法的小伙伴欢迎观看,我会持续更博客哦。近期都会发表数据结构相关内容。
先从一个简单的C语言入手,学C的小白肯定都写过这个代码,计算1+2+3+...+100的结果,绝大多数人会写出下面这个程序:
int i,sum=0,n=100;for(i=1;i<=n;i++){sum=sum+i;}printf("%d",sum);这是最简单的计算机语言之一,当然这只是其中一种做法,你也可以这样做:
int i,sum=0,n=100;sum=(1+n)*n/2;printf("%d",sum);就是普普通通的等差数列,以上两种代码都是算法,因此,可以得出算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。
算法具有五个基本特性:输入,输出,有穷性,确定性,可行性。
输入输出比较容易理解,在这里就不多说了,有穷性是指算法在执行有限的步骤之后,自动结束而不会出现无限循环,并且每一个步骤在可接受的时间内完成。也就是说,当你的代码出现死循环是,你就违背了算法的有穷性。确定性是指算法的每一步都有确定的含义,就好像你做一件事之前要明确你做这件事的唯一意义,每一步都不会出现二义性。可行性也就是说,算法的每一步都能够通过执行有限次数完成,可以转换为程序上机运行,并得到正确的结果。
唔 今天发布的内容有些少 明天继续补充,给大家放一波Java代码吧。
小球自由落体
Description
一个球从100m高度落下,每次落地后返回原高度一半,再落下。求它在第10次落地时共经过多少米?第10次返弹多高?
Input
无
Output
第10次落地时共经过的距离和第10次返弹的高度。两个数据输出在一行,中间以空格分隔,保留两位小数。
//#include"stdlib.h"
#include<stdio.h>
int main()
{
double sn=100,hn=sn/2;
int n;
for(n=2;n<=10;n++)
{ sn=sn+2*hn;
hn=hn/2;
}
printf("%.2lf% .2lf\n",sn,hn);
//system("pause");
return 0;
}
.猴子吃桃问题
Description
猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天又将剩下的桃子吃了一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天想吃时,见只剩下一个桃子了。求第1天共摘了多少个桃子?
Input
无
Output
第一天摘的桃子数
#include<stdio.h>
int main()
{
int day,x1,x2;
day=9;
x2=1;
while(day>0)
{
x1=(x2+1)*2;
x2=x1;
day--;
}
printf("%d\n",x1);
return 0;
}
字符串连接
Description
编写一个程序,将字符数组w2中的全部字符连接到字符数组w1中,不得使用strcat函数。
Input
有多组数据,每组数据由两个字符串组成,分别占一行。连接后最长的字符串不超过100个字符。
Output
连接后的字符串。
#include<stdio.h>
#include<string.h>
intmain()
{
char s1[200],s2[100];
while(gets(s1))
{
char *p1=s1, *p2=s2;
gets(s2);
p1+=strlen(s1);
for(;*p2!='\0';)
*p1++=*p2++;
*p1='\0';
printf("%s\n",s1);
}
}
- 数据结构与算法(1)
- 数据结构与算法(1)
- 算法与数据结构--(1)
- 数据结构与算法-1
- 数据结构与算法1
- 数据结构与算法之单链表(1)
- 数据结构与算法(1)--动态规划
- 数据结构、算法与应用--习题(1)
- 数据结构与算法(查找)1
- 数据结构与算法(day-1)
- 数据结构与算法之排序(1)
- 数据结构,算法与应用(1)
- 数据结构与算法(1)--指针复习
- 数据结构与算法小结(1)
- 算法与数据结构(1),List
- 数据结构与算法入门(1)--基本概念
- 数据结构与算法--链表(1)
- 数据结构与算法-动态规划(1)
- ubuntu 16.04 cannot open certain sites by any browers
- 第六周编程题_GPS数据处理
- 【个人模板】BFS
- 2017.10.16 JavaScript DOM编程艺术一刷
- MUI常用组件之accordion、actionsheet
- 数据结构与算法(1)
- atom实现html实时预览
- HDOJ 2802 F(N)
- C语言 不使用strcat函数实现连接两个字符串功能
- 服务计算作业2——selpg
- JVM学习笔记
- LA 3263
- python机器学习决策树初识
- JAX-RS (REST Web Services) 2.0 requires Java 1.6 or newer