当前位置:首页 » 原创代写 » 算法设计作业代写
扩展阅读
中国网络原创新人乐团 2021-03-31 20:26:56
党政视频素材 2021-03-31 20:25:44
厦门大学统计学硕士 2021-03-31 20:25:36

算法设计作业代写

发布时间: 2021-03-13 22:34:30

⑴ C++算法设计题,急求!!!

//practice32.cpp:.
//
#include"StdAfx.h"
#include<string.h>
#include<ctype.h>
#include<malloc.h>//malloc()等
#include<limits.h>//INT_MAX等
#include<stdio.h>//EOF(=^Z或F6),NULL
#include<stdlib.h>//atoi()
#include<io.h>//eof()
#include<math.h>//floor(),ceil(),abs()
#include<process.h>//exit()
#include<iostream.h>//cout,cin
//函数结果状态代码
#defineTRUE1
#defineFALSE0
#defineOK1
#defineERROR0
#defineINFEASIBLE-1
//#defineOVERFLOW-2因为在math.h中已定义OVERFLOW的值为3,故去掉此行
typedefintStatus;//Status是函数的类型,其值是函数结果状态代码,如OK等
typedefintBoolean;//Boolean是布尔类型,其值是TRUE或FALSE
typedefintElemType;

//线性表的单链表存储结构
structLNode
{
ElemTypedata;
LNode*next;
};
typedefLNode*LinkList;//另一种定义LinkList的方法

//单链表线性表的基本操作(12个)

//操作结果:构造一个空的线性表L
StatusInitList(LinkList&L)
{
L=(LinkList)malloc(sizeof(LNode));//产生头结点,并使L指向此头结点
if(!L)//存储分配失败
exit(OVERFLOW);
L->next=NULL;//指针域为空
returnOK;
}

//初始条件:线性表L已存在。操作结果:销毁线性表L
StatusDestroyList(LinkList&L)
{
LinkListq;
while(L)
{
q=L->next;
free(L);
L=q;
}
returnOK;
}

//初始条件:线性表L已存在。操作结果:将L重置为空表
StatusClearList(LinkListL)//不改变L
{
LinkListp,q;
p=L->next;//p指向第一个结点
while(p)//没到表尾
{
q=p->next;
free(p);
p=q;
}
L->next=NULL;//头结点指针域为空
returnOK;
}

//初始条件:线性表L已存在。操作结果:若L为空表,则返回TRUE,否则返回FALSE
StatusListEmpty(LinkListL)
{
if(L->next)
returnFALSE;
else
returnTRUE;
}

//初始条件:线性表L已存在。操作结果:返回L中数据元素个数
intListLength(LinkListL)
{
inti=0;
LinkListp=L->next;//p指向第一个结点
while(p)//没到表尾
{
i++;
p=p->next;
}
returni;
}

//L为带头结点的单链表的头指针。当第i个元素存在时,其值赋给e并返回OK,否则返回ERROR
StatusGetElem(LinkListL,inti,ElemType&e)
{
intj=1;//j为计数器
LinkListp=L->next;//p指向第一个结点
while(p&&j<i)//顺指针向后查找,直到p指向第i个元素或p为空
{
p=p->next;
j++;
}
if(!p||j>i)//第i个元素不存在
returnERROR;
e=p->data;//取第i个元素
returnOK;
}

Statuscompare(ElemTypea,ElemTypeb)
{
if(a==b)
return1;
else
return0;
}
//初始条件:线性表L已存在,compare()是数据元素判定函数(满足为1,否则为0)
//操作结果:返回L中第1个与e满足关系compare()的数据元素的位序。
//若这样的数据元素不存在,则返回值为0
intLocateElem(LinkListL,ElemTypee)
{
LinkListp;
intj=0;
p=L->next;
while(p)
{
j++;
if(compare(p->data,e))
p=p->next;
returnj;
}
return0;
}

//初始条件:线性表L已存在
//操作结果:若cur_e是L的数据元素,且不是第一个,则用pre_e返回它的前驱,
//返回OK;否则操作失败,pre_e无定义,返回INFEASIBLE
StatusPriorElem(LinkListL,ElemTypecur_e,ElemType&pre_e)
{
LinkListp,q;
p=L->next;
while(p->next)
{
q=p->next;
if(q->data==cur_e)
{
pre_e=p->data;
returnOK;
}
p=q;
}
returnINFEASIBLE;
}

//初始条件:线性表L已存在
//操作结果:若cur_e是L的数据元素,且不是最后一个,则用next_e返回它的后继,
//返回OK;否则操作失败,next_e无定义,返回INFEASIBLE
StatusNextElem(LinkListL,ElemTypecur_e,ElemType&next_e)
{
LinkListp,q;
p=L->next;
while(p->next)
{
if(p->data==cur_e)
{
next_e=p->next->data;
returnOK;
}
p=p->next;

}
returnINFEASIBLE;
}

//在带头结点的单链线性表L中第i个位置之前插入元素e
StatusListInsert(LinkListL,inti,ElemTypee)
{
intj=0;
LinkListp=L,s;
while(p&&j<i-1)//寻找第i-1个结点
{
p=p->next;
j++;
}
if(!p||j>i-1)//i小于1或者大于表长
returnERROR;
s=(LinkList)malloc(sizeof(LNode));//生成新结点
s->data=e;//插入L中
s->next=p->next;
p->next=s;
returnOK;
}

//在带头结点的单链线性表L中,删除第i个元素,并由e返回其值
StatusListDelete(LinkListL,inti,ElemType&e)
{
LinkListp,q;
p=L;
intj=0;
while(p&&j<i-1)
{
p=p->next;
j++;
}
if(!p||j>i-1)
returnERROR;
q=p->next;
e=q->data;
p->next=q->next;
free(q);
returnOK;
}

//初始条件:线性表L已存在
//操作结果:依次对L的每个数据元素调用函数vi()。一旦vi()失败,则操作失败
StatusListTraverse(LinkListL)
{
LinkListp;
p=L->next;
while(p)
{
printf("%d",p->data);
p=p->next;
}
printf(" ");
returnOK;
}

//逆位序(插在表头)输入n个元素的值,建立带表头结构的单链线性表L
voidCreateList(LinkList&L,intn)
{
L=(LinkList)malloc(sizeof(LNode));
LinkListp;
L->next=NULL;
printf("请输入%d个数据 ",n);
for(inti=n;i>0;--i)
{
p=(LinkList)malloc(sizeof(LNode));//生成新结点
scanf("%d",&p->data);//输入元素值
p->next=L->next;
L->next=p;
}
}

//正位序(插在表尾)输入n个元素的值,建立带表头结构的单链线性表
voidCreateList2(LinkList&L,intn)
{
inti;
LinkListp,q;
L=(LinkList)malloc(sizeof(LNode));//生成头结点
L->next=NULL;
q=L;
printf("请输入%d个数据 ",n);
for(i=1;i<=n;i++)
{
p=(LinkList)malloc(sizeof(LNode));
scanf("%d",&p->data);
q->next=p;
q=q->next;
}
p->next=NULL;
}

//已知单链线性表La和Lb的元素按值非递减排列。
//归并La和Lb得到新的单链线性表Lc,Lc的元素也按值非递减排列
voidMergeList(LinkListLa,LinkList&Lb,LinkList&Lc)
{
LinkListpa=La->next,pb=Lb->next,pc;
Lc=pc=La;//用La的头结点作为Lc的头结点
while(pa&&pb)
{
if(pa->data<=pb->data)
{
pc->next=pa;
pc=pa;
pa=pa->next;
}
else
{
pc->next=pb;
pc=pb;
pb=pb->next;
}
}
if(pa==NULL)
pc->next=pb;
else
pc->next=pa;
free(Lb);//释放Lb的头结点
Lb=NULL;

}
intmain(intargc,char*argv[])
{
intn=5;
LinkListLa,Lb,Lc;
InitList(La);
printf("按非递减顺序,");
CreateList2(La,n);//正位序输入n个元素的值
printf("La=");//输出链表La的内容
ListTraverse(La);

intm,l;
printf("输入值的位置和值");
scanf("%d%d",&m,&l);
ListInsert(La,m,l);
printf("La=");//输出链表La的内容
ListTraverse(La);

printf(" 按非递增顺序,");
CreateList(Lb,n);//逆位序输入n个元素的值
printf("Lb=");//输出链表Lb的内容
ListTraverse(Lb);
MergeList(La,Lb,Lc);//按非递减顺序归并La和Lb,得到新表Lc
printf("Lc=");//输出链表Lc的内容
ListTraverse(Lc);
return0;
}

⑵ 求代写算法作业!(美国)

2430317689

⑶ 算法设计有哪些方法

算法设计常用的几种方法是
1.
穷举法
2.
贪心法
3.
分治法
4.
回溯法
5.
分枝限界法
6.
动态规划法

⑷ 谁能帮我做一下这道算法设计题啊,拜托了。

这个自己看看相关的代码就能写了,没必要找人求助,下面是资料
队列的http://blog.sina.com.cn/s/blog_622be9820100jjay.html
栈的http://blog.sina.com.cn/s/blog_8c5b746601019wxc.html
看过别人的代码后理解一下,然后自己想怎么实现题目要求
有不明白的地方可以问我

⑸ 算法设计练习

题目没有指定描述算法的计算机语言,这里以最普遍最基础的计算机语言——C语言。

代码如下图:

这是一段非常简单的程序,用伪代码描述毫无意义,这根本算不上算法。故直接给个完完整整的程序。

⑹ 急急急,正在做作业,算法设计题是要怎样做啊,写个C语言还是只写个中文步骤啊,或者都要啊

算法设计题只需要写出相应的数据结构和用文字描述的步骤。
如果你高兴,把步骤用伪代码描述更好。
对于这类题目,程序是绝对不需要的,千万不要写程序:即费时间,又没人看。

⑺ 算法设计题

(再版)
0-1背包问题

0-1背包问题:给定n种物品和一个背包。项目我的体重是无线网络,它的价格是vi背包容量C.

Q:我应该如何选择装载物品的背包,使得装入背包的总价值呢?

选择项目装入背包的每个项目我只有两种选择,即装入背包或不装入背包。项目i装入背包多次,不仅加载的项目我。

因此,这个问题被称为0-1背包问题。

?0-1解向量(X1,X2,...,XN),西安∈{0,1},1 <= I <= N。

动态编程解决方案:

集0-1背包问题给定的子最优值,M(I,J),M(我,j)是第j背包容量,可选择的项目我,我+1,...,N 0-1背包问题的最优值

无效背包()

INT I,J;

为(i = 0; I <=我+ +)
为(J = 0 J <= JMAX; J + +)

M [] [J] = 0;

(i = 0; <= n; i + + )

为(J = 0; <= JMAX; J + +)

(W [I]> J)

米[I] [J] = M [I-1] [J];

其他

M [] [J] = MAX(M [I-1] [J],M [I-1] [JW [我] + V [I]);

printf的(“%d \ N”,M [N] [C]); BR />
}

回溯解决方案:

无效1背包(I)

{
BR />(>),百视通= CV

其他

{

(CW + W [I] <= C )
{

CW + = W [我];

CV + = V [I];

背包(i +1);

CW-= W [I];

CV-= V [I];

}
a>
背包(+1);

}

}

⑻ c++作业代写 大二作业 最多用你5分钟啊

话说作业要自己动手

⑼ 计算机 算法设计题

1.(1)
存在常数c1,f(n)<=c1*s(n)
存在常数c2,g(n)<=c2*r(n)
令常数C=max(c1,c2)
则f(n)+g(n)<=c1*s(n)+c2*r(n)<=C*(s(n)+r(n))=O(s(n)+r(n))
1.(2)
令常数D=c1*c2
则f(n)*g(n)<=c1*s(n)*c2*r(n)=D*s(n)*r(n)=O(s(n)*r(n))