数据结构与算法分析

什么是数据结构和算法分析?在编程里起到什么作用?什么是数据结构和算法?

数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成 。简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中,算法就是操作数据的方法 。

数据结构和算法是相辅相成的 。数据结构是为算法服务的,算法要作用在特定的数据结构之上 。因此 , 我们无法孤立数据结构来讲算法 , 也无法孤立算法来讲数据结构 。数据结构是静态的,它只是组织数据的一种方式 。如果不在它的基础上操作、构建算法,孤立存在的数据结构就是没用的 。

在编程中的作用?

刚开始学习编程时有一种误解,会编程就行,研究什么数据结构?。渴萁峁褂胨惴芄话锬闳绾慰焖侔严质滴侍庾扑慊镅?。到底该怎么转化?《数据结构》已经给出了指引:设计出数据结构,在施加以算法就行了,当然现实问题会更复杂,需要框架,类库 , 模式等支撑,具体的知识可以去小码哥李明杰了解 。

这是一种非常重要的逻辑思维能力的锻炼,也是程序员入门的条件 。很多半路出家的人,仅仅上了个培训班后参加工作,写出的代码实在是惨不忍睹,很明显只掌握了工具,逻辑思维的训练远远不足 。

总结一下,学习完数据结构其实会潜移默化的影响你的逻辑思维,当然,你需要多多练习才有可能使用纯熟,等它变成身体一部分以后,你就发现其实大部分编程任务都没什么难度了,更难的其实是对编程更高的要求:抽象的能力 。

《数据结构与算法分析C语言描述》真的适合初学者吗C语言的基本语法你只要掌握了
数据结构都不是问题
数据结构就是 数据的组织方式或者说 是一种更便捷的让程序更高效的方法 。这里面用到的都是C语言的基础知识 。
就像你做饭 一个辣椒可以炒素菜、可以炒荤菜、也可以炸成辣椒油……
同样一个东西 根据自己目的的不同 选择一个最高效的方法 就是数据结构与算法的目的.
书上的数据结构与算法 只是给你一些实际应用中的列子和一些基本方法 , 现实中做程序还需要你自己根据自己的需要去组合去研究更好的算法……

《数据结构与算法分析》和《算法导论》这两本书哪个好?算法导论堪称经典啊,还有黑书 , 也称为经典 。没有学高等数学完全没关系的,只是个思维问题 。学算法就是坚持坚持,坚持就是胜利 。不过会很辛苦的 。有空多上POJ做做题 。

数据结构与算法分析 C++说的是中序线索二叉树的插入和删除
#include stdio.h>
#include "malloc.h"
#include "windows.h"
#define maxsize 20//规定树中结点的最大数目
typedef struct node{//定义数据结构
int ltag,rtag;//表示child域指示该结点是否孩子
char data;//记录结点的数据
struct node *lchild,*rchild;//记录左右孩子的指针
}Bithptr;

Bithptr *Q[maxsize];//建队,保存已输入的结点的地址
Bithptr *CreatTree(){//建树函数,返回根指针
char ch;
int front,rear;
Bithptr *T,*s;
T=NULL;
front=1;rear=0;//置空二叉树
printf("建立一棵二叉树,请输入结点信息:\n");
printf("请输入新的结点信息,@为空结点,#为结束标志:");
ch=getchar()();//输入第一个字符
while(ch!='#')//判断是否为结束字符
{
s=NULL;
if(ch!='@')//判断是否为虚结点
{
s=(Bithptr *)malloc(sizeof(Bithptr));
s->data=https://www.zaoxu.com/jjsh/bkdq/ch;
s->lchild=NULL;
s->rchild=NULL;
s->rtag=0;
s->ltag=0;
}
rear++;
Q[rear]=s;//将结点地址加入队列中
if(rear==1)T=s;//输入为第一个结点为根结点
else
{
if(s!=NULL&&Q[front]!=NULL)//孩子和双亲结点均不是虚结点
if(rear%2==0)
Q[front]->lchild=s;
else Q[front]->rchild=s;
if(rear%2==1)front++;
}getchar()();
printf("请输入新的结点信息 , @为空结点,#为结束标志:");
ch=getchar()();
}
return T;
}
void Inorder(Bithptr *T)//中序遍历
{
if(T)
{
if(T->ltag!=1)Inorder(T->lchild);
printf("→%c",T->data);
if(T->rtag!=1)Inorder(T->rchild);
}
}

Bithptr *pre=NULL;
voidPreThread(Bithptr *root)//中序线索化算法,函数实现
{
Bithptr *p;
p=root;
if(p){
PreThread(p->lchild);//线索化左子树
if(pre&&pre->rtag==1)pre->rchild=p;//前驱结点后继线索化
if(p->lchild==NULL)
{
p->ltag=1;
p->lchild=pre;
}
if(p->rchild==NULL)//后继结点前驱线索化
p->rtag=1;
pre=p;
PreThread(p->rchild);
}
}
void PrintIndex(Bithptr *t)//输出线索
{
Bithptr *f;
f=t;
if(f)
{
if(f->ltag==1&&f->lchild==NULL&&f->rtag==1)printf("【%c】",f->data);//如果是第一个结点
if(f->ltag==1&&f->lchild!=NULL)printf("%c→【%c】",f->lchild->data,f->data);//如果此结点有前驱就输出前驱和此结点
if(f->ltag==1&&f->rtag==1&&f->rchild!=NULL)printf("→%c",f->rchild->data);//如果此结点有前驱也有后继,就输出后继
else if(f->rtag==1&&f->rchild!=NULL)printf("【%c】→%c",f->data,f->rchild->data);//如果没有前驱,就输出此结点和后继
printf("\n");
if(f->ltag!=1)PrintIndex(f->lchild);
if(f->rtag!=1)PrintIndex(f->rchild);
}
}
Bithptr *SearchChild(Bithptr *point,char findnode)//查找孩子结点函数
{
Bithptr *point1,*point2;
if(point!=NULL)
{
if(point->data=https://www.zaoxu.com/jjsh/bkdq/=findnode)return point;
else
if(point->ltag!=1){ point1=SearchChild(point->lchild,findnode); if(point1!=NULL)return point1;}
if(point->rtag!=1){ point2=SearchChild(point->rchild,findnode); if(point2!=NULL)return point2;}
return NULL;
}
else
return NULL;
}
Bithptr *SearchPre(Bithptr *point,Bithptr *child)//查找父亲结点函数
{
Bithptr *point1,*point2;
if(point!=NULL)
{
if((point->ltag!=1&&point->lchild==child)||(point->rtag!=1&&point->rchild==child))return point;//找到则返回
else
if(point->ltag!=1)
{
point1=SearchPre(point->lchild,child);
if(point1!=NULL)
return point1;
}
if(point->rtag!=1)
{
point2=SearchPre(point->rchild,child);
if(point2!=NULL)
return point2;
}
return NULL;
}
else
return NULL;
}
void Insert(Bithptr *root)
{
char ch;
char c;
Bithptr *p1,*child,*p2;
printf("请输入要插入的结点的信息:");
scanf("%c",&c);
scanf("%c",&c);
p1=(Bithptr *)malloc(sizeof(Bithptr));//插入的结点信息
p1->data=https://www.zaoxu.com/jjsh/bkdq/c;
p1->lchild=NULL;
p1->rchild=NULL;
p1->rtag=0;
p1->ltag=0;
printf("输入查找的结点信息:");
scanf("%c",&ch);
scanf("%c",&ch);
child=SearchChild(root,ch);//查孩子结点的地址
if(child==NULL){
printf("没有找到结点\n");
system("pause");
return ;
}
else printf("发现结点%c\n",child->data);
if(child->ltag==0)//当孩子结点有左孩子的时候
{
p2=child;
child=child->lchild;
while(child->rchild&&child->rtag==0)//找到左子树下 , 最右结点
child=child->rchild;
printf("发现结点%c\n",child->data);
p1->rchild=child->rchild;//后继化
p1->rtag=1;
child->rtag=0;
child->rchild=p1;//连接
p1->lchild=child;//前驱化
p1->ltag=1;
}
else//当孩子结点没有左孩子的时候
{
p1->lchild=child->lchild;//前驱化
child->ltag=0;
p1->ltag=1;
child->lchild=p1;
p1->rchild=child;
p1->rtag=1;
}
printf("\t插入结点操作已经完成,并同时完成了线索化的恢复\n");
}

数据结构与算法分析——C语言描写算法艺术?那就好好研究研究《算法导论》!不过有点深,但是还要买 , 把它当做一本工具书 。这三本里去买《数据结构与算法分析——C语言描写》这个比较基础好理解,网上也有她(严蔚敏)的视频 。另外两本《算法艺术信息学竞赛》没啥用 , 你又不参加信息学竞赛 , 就算参加信息学竞赛这书也有点简单适合初中生,高中生看,《计算机算法设计与分析》这本书我没看过 , 但肯定没有严蔚敏的《数据结构与算法分析——C语言描写》好,毕竟严蔚敏的《数据结构与算法分析——C语言描写》是考研专用书籍啊

数据结构算法在php编程中的作用?数据结构是在整个计算机科学与技术领域上广泛被使用的术语 。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成 , 以什么方式构成,呈什么结构 。数据结构有逻辑上的数据结构和物理上的数据结构之分 。逻辑上的数据结构反映成分数据之间的逻辑关系,而物理上的数据结构反映成分数据在计算机内部的存储安排 。数据结构是数据存在的形式 。数据结构是信息的一种组织方式,其目的是为了提高算法的效率 , 它通常与一组算法的集合相对应,通过这组算法集合可以对数据结构中的数据进行某种操作 。使用php实现的基本的数据结构和算法,什么二叉树、二叉搜索树、AVL树、B树、链表和常见排序、搜索算法等等,而且全部是使用面向对象来实现的,确是是很强 。

学数据结构有什么用?

数据结构与算法分析

文章插图

在许多类型的程序的设计中,数据结构的选择是一个基本的设计考虑因素 。许多大型系统的构造经验表明,系统实现的困难程度和系统构造的质量都严重的依赖于是否选择了最优的数据结构 。许多时候,确定了数据结构后 , 算法就容易得到了 。有些时候事情也会反过来 , 我们根据特定算法来选择数据结构与之适应 。不论哪种情况,选择合适的数据结构都是非常重要的 。选择了数据结构,算法也随之确定,是数据而不是算法是系统构造的关键因素 。这种洞见导致了许多种软件设计方法和程序设计语言的出现 , 面向对象的程序设计语言就是其中之一 。扩展资料:数据结构分类:1、集合结构 。该结构的数据元素间的关系是“属于同一个集合” 。2、线性结构 。该结构的数据元素之间存在着一对一的关系 。3、树型结构 。该结构的数据元素之间存在着一对多的关系 。4、图形结构 。该结构的数据元素之间存在着多对多的关系 , 也称网状结构 。一个数据结构有两个要素 。一个是数据元素的集合,另一个是关系的集合 。在形式上,数据结构通常可以采用一个二元组来表示 。参考资料来源:百度百科-数据结构
编程中数据结构是什么?各种编程语言都是需要算法的,数据结构决定算法 。数据结构是计算机存储、组织数据的方式 。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合 。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率 。数据结构往往同高效的检索算法和索引技术有关 。编程语言(programminglanguage),是用来定义计算机程序的形式语言 。它是一种被标准化的交流技巧 , 用来向计算机发出指令 。一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动 。最早的编程语言是在电脑发明之后产生的,当时是用来控制提花织布机及自动演奏钢琴的动作 。在电脑领域已发明了上千不同的编程语言,而且每年仍有新的编程语言诞生 。很多编程语言需要用指令方式说明计算的程序,而有些编程语言则属于声明式编程,说明需要的结果,而不说明如何计算 。编程语言的描述一般可以分为语法及语义 。语法是说明编程语言中,哪些符号或文字的组合方式是正确的,语义则是对于编程的解释 。有些语言是用规格文件定义 , 例如C语言的规格文件也是ISO标准中一部份,2011年后的版本为ISO/IEC9899:2011,而其他语言(像Perl)有一份主要的编程语言实现文件,视为是参考实现 。编程语言俗称“计算机语言”,种类非常的多,总的来说可以分成机器语言、汇编语言、高级语言三大类 。电脑每做的一次动作 , 一个步骤,都是按照已经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的 。所以人们要控制计算机一定要通过计算机语言向计算机发出命令 。目前通用的编程语言有两种形式:汇编语言和高级语言 。

数据结构和编程到底有什么关系呢?数据结构和程序语言和设计思想的关系 。当我们能把数据结构的学习和程序设计语言,程序设计想法相联系起来的时候 , 我想我们对数据结构本身的认识已经更加深刻了,我们学习到每一种的新的数据结构的时候我们不再恐慌,因为我们知道了任何一种数据结构都有其共同的共性和特殊的特性 , 每一种数据结构都是为了一个领域所现实的 , 从这一方面来说,数据结构本身就具有继承特性,我们可以用一个继承树来表示一个完整的数据结构体系 , 而每一种数据结构都是继承体系中的一个子节点 。

在C语言编程中数据结构与算法是怎么体现的,或者说怎么理解数据结构的作用?举个例子,你写个程序,要存全校学生的信息 。
首先学生数量可能是变动的 , 你不可能写成固定数组 。
你可以思考下怎么存 。
这时候就可以建立一个链表,在每次输入一个新生时把他挂入链表 。
这样就可以遍历学生信息了 。
这里只是讲数据结构对存储的作用,另外一方面是,好的数据结构 , 可以使算法简单,可以让程序结构清晰 。
这里我想吐槽下,学校的教育模式:学生都不知道是干嘛的,干嘛要去学 , 还要考高分?而老师只会说:能到以后你们就会明白的,我靠 。不知道学的东西是干嘛用的,我怎么想去学,怎么会有兴趣,怎么会去主动 。

学习《数据结构与算法分析》用哪种语言描述比较好?C/C++?如果你对C++不是非常熟悉的话,学习算法的时候还是看C语言描述的比较直观 。再者算法学习方面比较权威的有一本《算法导论》,这本书讲的很有深度,所以认真读起来还是很有意思的 。另外需要纠正一点,语言本身就是来实现算法的载体 , 所以学透一门语言也是必须的 。

我现在准备学C++算法 , 请问《严蔚敏-数据结构》,《算法导论》和《数据结构和算法分析 C++》哪种比较好如果你对C++不是非常熟悉的话,学习算法的时候还是看C语言描述的比较直观 。再者算法学习方面比较权威的有一本《算法导论》 , 这本书讲的很有深度 , 所以认真读起来还是很有意思的 。另外需要纠正一点,语言本身就是来实现算法的载体,所以学透一门语言也是必须的 。

《算法导论》《数据结构与算法分析》《数据结构,算法与应用》 这几本书?有什么区别??数据结构先学,然后看算法导论再看算法,数据结构是算法的基?。惴ǖ悸鄄豢匆彩强梢缘?。我是大三的计算机专业的学生~呵呵,快毕业了 - - 郁闷!

《算法导论》和《数据结构与算法分析:C语言描述 》哪个更适合新手 , 哪个更好......听说翻译都不都很好,c语言描述的更适合新手 , 

算法导论对你来说太难了,看完c语言描述,可以啃啃算法导论

求《数据结构与算法分析C++描述》 第三版 中文版电子版课后答案http://vdisk.weibo.com/s/uekMQWchR92oo

学习c++数据结构与算法分析 看那本书比较好?。?/h3>如果你对C++不是非常熟悉的话,学习算法的时候还是看C语言描述的比较直观 。再者算法学习方面比较权威的有一本《算法导论》,这本书讲的很有深度,所以认真读起来还是很有意思的 。另外需要纠正一点,语言本身就是来实现算法的载体,所以学透一门语言也是必须的 。
维斯【美】编的《数据结构与算法分析》(第三版)C++版,这本书我看了,很不错的 , 讲得很好 , 算法导论 。
维斯【美】编的《数据结构与算法分析》(第三版)C++版这本书,开始讲了一些简单的需要的C++知识,其实这本书用到的C++特性很少,所以即使你对C++的了解不多的话也可以看的 。
单纯地做算法建议用C 。

数据结构与算法分析 C++描述中文版为什么绝版了各大网上书店都有售,淘宝上也有 。电子版的也有部分网站提供 , 比如百度就搜到有CSDN提供,还有其它几个站点 。

c++数据结构与算法 第4版pdf 下载 求资源?。。。。。。。。?/h3>http://download.csdn.net/download/tankpanv/9515130

数据结构与算法分析 c++描述 怎么样您好?。语言的基本语法你只要掌握了,,数据结构都不是问题数据结构就是 数据的组织方式或者说 是一种更便捷的让程序更高效的方法 。这里面用到的都是C语言的基础知识 。就像你做饭 一个辣椒可以炒素菜、可以炒荤菜、也可以炸成辣椒油……同样一个东西 根据自己目的的不同 选择一个最高效的方法 就是数据结构与算法的目的.书上的数据结构与算法 只是给你一些实际应用中的列子和一些基本方法 , 现实中做程序还需要你自己根据自己的需要去组合去研究更好的算法……很高兴为您解答 , 不懂的来问我,。谢谢?。?

算法和数据结构有什么区别其实两者可以说关联不大 。
算法就是一个处理的方法,比如大学里基础的排序算法 , 就是为了完成对一组数据排序 。查找算法,就是为了在一个集合中查找需要的项 。除此之外,还有很多算法,比方说,加密、压缩、图像处理 。
而数据结构就是数据的结构 。比方说队列、堆、栈、链表、树等等 。
大学里的《算法与数据结构》这门课是个入门的算法课和数据结构课程 。教授针对不同的数据结构进行的排序、查找、遍历的不同算法 。仅是算法基础,就象大学里都是以C语言作为入门语言一样的 。

《数据结构与算法分析C语言描述》真的适合初学者吗我也是初学这个,我现在再看《数据结构与算法分析(C语言版)》个人感觉还不错…推荐一下 数据结构与算法分析:C语言描述(原书第2版)作者: (美)维斯 著,冯舜玺 译出 版 社: 机械工业出版社出版时间: 2004-1-1 字数: 版次: 1版1次 页数: 391 印刷时间: 2004-1-1 开本: 印次: 纸张: 胶版纸 I S B N : 9787111127482 包装: 平装 所属分类: 图书 >> 计算机/网络 >> 计算机理论我们一起努力吧?。『呛?

《数据结构与算法分析C语言描述》真的适合初学者吗有点像土地与冰面的区别把
C做出来的一个东西比作人的话 。
说实话,对你看到的计算机来说就像下雪天一样 。
你要不要再冰上面盖个房子呢?
通过常识,你很容易的知道不可以 。

数据结构就是告诉你,这里是沙地,土地,石头 , 还是假的冰面而已 。
C就是在上面借用土地为基石做的一些活动 。
石头上面种树,沙地里面屯水 , 冰面上修路 。。。这是搞笑的 。
当你知道基本的结构以后 。
你知道哪些属于什么层次的东西 。可以做什么 。。

我也不知道对不对 。哈哈哈 。
那本书适合不适合不知道 。每个人的学习方式不一样的 。
但是这东西如上面哥们说的 。你不学,你只是在冰面上过家家一样的盖个娱乐的房子而已 。

《数据结构与算法分析C语言描述》真的适合初学者吗不知道你所谓的初学者是指的什么程度?如果没有语言基?。?那肯定不行 , 如果有,你可以看下,

《数据结构与算法分析C语言描述》真的适合初学者吗我觉得这本书不太适合新手,里面的描述比较抽象,很多东西并没有说的很具体 , 需要自己再去查资料,网上很多教程其实说的比书上详细多了 。如果非要用这本书的话 , 可以参考中国大学MOOC中陈越老师的 数据结构_浙江大学_中国大学MOOC(慕课),会容易上手一点 。
我认为数据结构入门应该是了解各种结构的优点缺点,各种算法的时间复杂性,知道在什么场景中如何选择最优的数据结构,另外就是多做题 , 多实践 。

《数据结构与算法分析C语言描述》真的适合初学者吗你指的初学者,是C语言和编程的初学者 , 还是数据结构和算法上的初学者?
C语言和编程初学者的话,我觉得还是先熟悉下基本语法,应该是找C语言程序设计之类的书 。
数据结构和算法初学者的话,应该是适合的,一些高校就是用C语言开始讲数据结构和算法的 。

《数据结构与算法分析:C语言描述(原书第2版) 》这本书比起其他书,可以么?看这本书需要什么基?。?/h3>额 , 我想你说的《数据结构与算法分析》应该是Weiss写的那本吧,那本书豆瓣给出了9分的评分,已经算是非常高的分数了,但计算机世界的经典著作犹如浩瀚的海洋 , 了不起的编程书籍还有很多 。

Kernighan的《程序设计实践》是让你全面了解编程该做些什么的经典著作,尽管这书非常地薄 。

cormen的《算法导论》和Skiena 《算法设计手册》是比《数据结构与算法分析》更大部头的巨著 。


Bentley的《编程珠玑》(1,2卷)将带你领略算法的力量 。


侯捷的《STL源码剖析》,深入讲解C++标准库的实现细节,让你真正见识顶尖高手的杰作 。


stevens 的《unix环境高级编程》《unix网络编程》是程序员的进阶宝典,应当一读再读,因为你最终会明白,你的程序是运行在操作系统上的,是需要和网络交互的,你需要了解他们,和他们友好相处 。

C++之父Bjarne Stroustrup的三本大作:《 C++程序设计语言 》、《C++程序设计原理与实践 》、《C++语言的设计和演化 》是C++语言的最权威的指南,同时也是经典编程著作 。


Bryant的《深入理解计算机系统》都是能告诉你计算机底层做了什么工作,让你更好地理解计算机,更好地利用CPU的天书 。

关于软件开发方面的经典著作有《程序员修炼之道》《代码大全》《重构》《设计模式》,在任何一个编程论坛的推荐表里,这些都是程序员必看图书 。


还有一本书叫《计算机程序的构造和解释》,神一样的著作,它可以颠覆你的编程思维 。

当然 , 计算机算法的顶尖之作要算knuth的《计算机程序设计艺术》(1-4卷),其内容极深极广极难 , 那真是如浩瀚之海洋,叹为观止了 。

所谓术业有专攻,每个领域都有其经典的著作,这就要根据你个人的兴趣去进一步探究了 。例如程序设计语言与编译器、操作系统内核、硬件设计、人工智能与机器学习、自然语言处理、信息论与信号处理、网络编程、机器人等等 。

数据结构与算法分析 c语言描述 难不难您好?。?br>
C语言的基本语法你只要掌握了,,数据结构都不是问题
数据结构就是 数据的组织方式或者说 是一种更便捷的让程序更高效的方法 。这里面用到的都是C语言的基础知识 。
就像你做饭 一个辣椒可以炒素菜、可以炒荤菜、也可以炸成辣椒油……
同样一个东西 根据自己目的的不同 选择一个最高效的方法 就是数据结构与算法的目的.
书上的数据结构与算法 只是给你一些实际应用中的列子和一些基本方法,现实中做程序还需要你自己根据自己的需要去组合去研究更好的算法……

很高兴为您解答,不懂的来问我,。谢谢?。?

谁有数据结构与算法分析C语言描述这本书 PDF清楚一点的很清楚的,共享了
数据结构与算法分析,c,c++,java版之间的区别是什么?算法思想都是一样的 。但不同语言之间,实现会有所不同 。

算法只是一种软件的设计思路,可以指导代码的编写 , 并完成一定的功能 。但算法本身并不能实现功能 , 必须有具体的编程语言去实现 。于是介绍算法的书籍 , 根据书中实现算法的语言不通,就有了C, C++, Java等的区别 。
具体语言并不影响算法的理解 , 在选择书籍的时候,选取自身熟悉并掌握的语言即可 。
在不了解任何编程语言的情况下,最好不要先接触算法 。因为不配合具体的实现,空谈算法无法深入理解,同时也是没有意义的 。

数据结构与算法分析 有两个版本,一个是C版本,另一个是C++描述版 。他们有什么区别呢?c++版本的就是偏向类的思想、模版的思想 。c版本的就是最基础的c语言将算法实现 。如果您学的是c++、并且对模版比较熟悉,建议看c++版本的 。如果您写的程序中没有用到类的思想,那么就看c版本的 。我这里有c++版本的电子书,需要可以发给你 。

维斯的数据结构与算法分析,C语言版好还是java好用C或者C++版的,强烈推荐C版的 。
我用的是C++版的,不过就遇到一个问题,现在我有时要用Java写程序,Mark书中用了大量的函数按引用传递,而Java中没有引用(C中也没有),所以我把有些数据结构改成Java的时候就不知道怎么办 。我就找了一本C版的电子书 。
所以建议lz用C版的 。

此外我从没有听说过C用的很好的人用不好Java , 但是Java用的貌似不错 , C用的很烂的人我倒是见过很多 。

lz很有眼光 , Mark的数据结构是我看过的最好的数据结构的书籍 。上面不仅讲一种数据结构是什么和怎么实现,还会给你很多他们应用的hints 。
此外Mark很善于使用递归,Mark对效率的要求也很苛刻 。以上两点是不矛盾的,你看完了Mark的书,你就会发现Mark用递归用的有理!

数据结构与算法分析 c语言描述还是JAVA语言描述= =你会哪种语言就选哪种语言啦,算法和语言无关的,理解算法後在甚麼语言里都能实现

c/c++,java 之间有什么区别?区别太多 。先列几条吧 。
1. c是面向过程的语言 。c++和Java都是面向对象的 。在c中没有类或者对象的概念 。
2. java运行在虚拟机上,号称与平台无关 。也就是你开发的java程序无论是unix,linux还是windows都可以正常运行 。但是实际上这是一个良好的愿望 , 实际跨平台时还会有各种各样的问题 。c和c++都是直接编译成可执行文件,是否能跨平台主要看你用到的编译器特性是否有多平台支持 。
3. 因为c和c++是直接编译成可执行文件,所以运行效率要比java高 。至于c和c++哪个更快,两种语言的拥趸已经吵了很多年 。
4. java因为是运行在虚拟机上 , 不需要考虑内存管理和垃圾回收机制 。也是就你可以声明一个对象而不用考虑释放他,虚拟机帮你做这事情 。而c和c++语言本身没有多少内存管理的概念,写c和c++程序如果用到指针就一定要考虑内存申请和释放 。内存泄漏是c和c++最头疼的问题 。
5. 代码重用:java中有一个根类object,所有的类都是其子类,通过这种方式将容器和算法分离,实现一种操作作用于多种对象,提高代码重用 。c++中没有总根对象,但是c++提供了另一个更强大的功能“模板”,同样高效地实现了一种操作作用于多种对象,提供了高效的代码重用方法 。
6. 数据结构:java内建了丰富的数据结构:列表,集合等等(很久没用java了,有些记不太清) 。而c++则用“模板”同样提供了各种数据结构(容器) 。
7. c语言在一些比较低层,和硬件打交道的地方用得比较多 。另外很多开源软件由于unix/linux开发习惯也大多采用c来开发 。Java是现在最流行的开发语言,c++比起java稍稍不那么流行一些,但是功能很强大 。如能深入掌握,可以写出兼顾效率和美观的优秀代码 。

求《数据结构与算法分析》自测题答案和每章后练习题答案 。去书店买吧!或者是问老师去吧

《数据结构与算法分析》和《算法导论》这两本书哪个好?算法导论这书我有,确实是很好的书,经典,论证很严谨 。算法基本上和高等数学没多少联系,涉及到数学的一般是离散数学,组合数学,数论之类的,类似于微积分这类很少涉及到 。

数据结构与算法是属于同一门课程吗?不是 , 数据结构是算法的基础,算法中用到数据结构 。一般数据结构的书中大多会提到一些算法 。算法有专门一本书 叫算法导论 。

数据结构与算法分析是一门怎样的课程内容包括表、栈、队列、树、散列表、优先队列、排序、不相交集算法、图论算法、算法分析、算法设计、摊还分析、查找树算法、k-d树和配对堆等 。

“数据结构”和“数据结构导论”是同一门课吗?【数据结构与算法分析】是同一门课的...就是名字不一样....里面内容基本一致...主要讲的是数据结构中的方法 以及根据这些方法用计算机语言编写的算法 我们刚学完这门课~