数据结构和程序语言和设计思想的关系。当我们能把数据结构的学习和程序设计语言,程序设计想法相联系起来的时候,我想我们对数据结构本身的认识已经更加深刻了,我们学习到每一种的新的数据结构的时候我们不再恐慌,因为我们知道了任何一种数据结构都有其共同的共性和特殊的特性,每一种数据结构都是为了一个领域所现实的,从这一方面来说,数据结构本身就具有继承特性,我们可以用一个继承树来表示一个完整的数据结构体系,而每一种数据结构都是继承体系中的一个子节点。
贵州大学计算机技术硕士研究生考试科目:101思想政治理论、204英语二、302数学二、831程序设计与数据结构。
参考书目:
1、《C语言程序设计教程》,朱鸣华、刘旭麟、杨微主编,机械工业出版社。
2、《数据结构(C语言版)》,严蔚敏、吴伟民主编,清华大学出版社。
程序设计与数据结构考试大纲:
考试着重考核考生掌握程序设计与数据结构基本概念、基本思想、基本分析方法和基本理论的程度,要求考生对程序设计与数据结构理论体系的基本框架有一个比较全面的了解,并能综合运用所学的程序设计和数据结构的基本知识分析现实问题,并进行问题抽象、算法提炼和编程实现。
1//存储结构:deque
//多项式相加的基本过程:(1)、两个多项式的最高次幂较高的那个,存入endPower;
// (2)、从ix=0开始,对多项式的对应项做运算;
// (3)、递增,如果ix>=endPower,结束;否则,重复2和3。
#include <deque>
#include <iostream>
using namespace std;
class Expression {
public:
Expression() { int highestPower=0; factors=deque<double>(00); }
~Expression() { factorsclear(); }
bool create();
void display();
Expression &add( Expression &another );
Expression &subtract( Expression &another );
int HighestPower() const;
double Factor( int index ) const;
private:
int highestPower; //最高次幂
deque<double> factors; //系数(从最高次幂~0的系数都保存,如果某次幂不存在,则系数为0)
};
bool
Expression::
create() {
cout<<"Enter the highest power: ";
cin>>highestPower;
double dTemp;
for( int ix=highestPower; ix>=0; --ix ) {
cout<<"Enter the factor of x^"<<ix<<" (double): ";
cin>>dTemp;
factorspush_front( dTemp );
}
return true;
}
void
Expression::
display() {
for( int ix=highestPower; ix>=0; --ix ) {
if( ix<highestPower && factorsat(ix)>0 )
cout<<"+";
if( factorsat(ix)!=0 ) {
cout<<factorsat(ix);
if( ix>0 )
cout<<"x"<<"^"<<ix;
}
}
cout<<endl;
}
Expression &
Expression::
add( Expression &another ) {
int endPower = (highestPower>anotherHighestPower()) highestPower : anotherHighestPower();
for( int ix=0; ix<=endPower; ++ix ) {
if( ix>highestPower ) {
factorspush_back( anotherFactor(ix) );
highestPower=ix;
} else if( ix<=anotherHighestPower() ){
factorsat(ix) += anotherFactor(ix);
}
}
return this;
}
Expression &
Expression::
subtract( Expression &another ) {
int endPower = (highestPower>anotherHighestPower()) highestPower : anotherHighestPower();
for( int ix=0; ix<=endPower; ++ix ) {
if( ix>highestPower ) {
factorspush_back( (-1)anotherFactor(ix) );
highestPower=ix;
} else if( ix<=anotherHighestPower() ){
factorsat(ix) -= anotherFactor(ix);
}
}
return this;
}
int
Expression::
HighestPower() const {
return highestPower;
}
double
Expression::
Factor( int index ) const {
return factorsat(index);
}
int main() {
Expression aExpression, bExpression;
if( aExpressioncreate() )
aExpressiondisplay();
if( bExpressioncreate() )
bExpressiondisplay();
cout<<"aExpressionadd( bExpression ): "<<endl;
aExpressionadd( bExpression );
aExpressiondisplay();
cout<<"aExpressionsubtract( bExpression ): "<<endl;
aExpressionsubtract( bExpression );
aExpressiondisplay();
}
2char a;
int m;
cout<<"输入猴子个数:"<<endl;
cin>>m;
a=new char[m];
cout<<"输入N:"<<endl;
int n;
cin>>n;
if(n>m)
{
cout<<"输入错误,必须小于M="<<m<<,重输入:"<<endl;
cin>>n;
}
for(int i=0;i<m;i++)
{
a[i]=1;
}
bool c=true;
for (int j=0;;j++)
{
for(int k=0;k<m;k++)
{
if(a[k]!=0)
{
c=false;
break;
}
else c=true;
}
if(c!=true)//判断退出
break;
if(j%n==0)
a[j%m]=0;
}
int result=j%m;
cout<<"最后猴子的序号是:"<<result<<endl;
---------------2-----------------
insert(int arry[],int address,int data)
{
int l=arrylength();
for(int i=l-1;i>address;i--)
{
arry[i]=arry[i-1];
}
arry[i]=data;
}
sort01(int a[])
{
int temp;
int l=alength();
temp=a[0];
for(int i=1;i<l;i++)
{
if(a[i]<temp)
insert(a,i-1,temp);
temp=a[i];
}
}
------------------------------------
swap(int x,int y)
{
int temp;
temp=x;
y=temp
x=y;
}
l=alength;
temp1=a[0];temp2=a[1];
for(int k=0;k<l;k++)
for(int i=k;i<l;i++)
{
if(a[i]>a[i+1])
swap(a[i],a[i+1);
}
3//二叉树
struct node {
int key;
node left;
node right;
};
//链表
struct list {
node data;
list next;
};
//队列
struct queue {
list front;
int count;
list rear;
};
//Enqueue for Breadth-First Traversal
queue BST::_enqueue (queue Q, node n) //进队
{
list pNew = new list;
pNew->data = n;
pNew->next = NULL;
if (Q->count == 0)
Q->front = pNew;
else
Q->rear->next = pNew;
Q->rear = pNew;
Q->count++;
return Q;
}
//Dequeue for Breadth-First Traversal
node BST::_dequeue (queue &Q) //出队
{
if (Q->count == 1)
Q->rear = NULL;
list pDel = Q->front;
node temp = pDel->data;
Q->front = Q->front->next;
Q->count--;
delete pDel;
pDel = NULL;
return temp;
}
//Breadth-First Traversal (层序遍历)
void BST::_traverse (const node T)
{
queue Q = new queue;
Q->front = Q->rear = NULL;
Q->count = 0;
while (T != NULL)
{
cout << T->key << " ";
if (T->left != NULL)
Q = _enqueue (Q, T->left); //左孩子进队
if (T->right != NULL)
Q = _enqueue (Q, T->right); //右孩子进队
if (Q->count != 0) //排队输出下一个将要处理的节点
T = _dequeue (Q);
else //队列为空,跳出
T = NULL;
}
return ;
}
你看看这个行不
*** 作系统:只是学习一下 *** 作系统的原理很简单,理解就行;
数据结构:就是程序设计的一个前提课程,主要靠理解,可以完全没有代码,相对简单;
C程序设计:就涉及到开发语言的学习,比前俩要复杂一些;
以上就是关于数据结构和编程到底有什么关系呢全部的内容,包括:数据结构和编程到底有什么关系呢、贵州大学计算机考研科目是什么、数据结构的程序设计等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)