2 u010376930 u010376930 于 2014.08.01 10:29 提问

数据结构在c++编程时候的作用

最近在看基于c++的数据结构,尤其看到树,实在不太理解树这些对于c++编程有什么作用,或者说他们的联系,或者说数据结构对于编程的意义,因为不是计算机专业,所以总觉得有一种门外汉的感觉,希望大牛们能指点一二,能推荐上一两本比较好的数据结构书更好,谢谢啦!

7个回答

QQ1507527443
QQ1507527443   2014.08.03 23:24

建议还是学一下数据结构。虽然实际工作中去实现基本的数据结构与算法的不太现实,但知其然知其所以然,更能写出优质代码。
书的话选本经典的C++,JAVA实现的数据结构书就行。

u010376930
u010376930   2014.08.04 16:30

没有学过java,java实现的数据结构能看懂吗

li823412805
li823412805   2014.08.06 17:10

表示计算机专业的数据结构都没学好,门外汉还是光了解一下C和C++吧,别深入了

u010376930
u010376930 本人是自动化专业的,但是打算找软件相关的工作,快要面试了,不知道该准备什么啊
接近 4 年之前 回复
a158337
a158337   2014.08.10 20:44

我也不是计算机专业的,但是相近。我看过他们的数据结构这类的书,这类东西感觉侧重的是算法和策略。用处我能举出一些,也是书上看到的,比如计算机与计算机之间通信,如何找到另一个计算机,网络结构里面存在类似的树的模型,算法的优劣直接决定了访问速度。还有搜索引擎搜索,里面好像提到了哈希算法。像这种概念的提出都是为了优化算法,为实际应用提供指导意义的。看书+个人总结,高手勿喷。

zhb1997
zhb1997   2014.08.13 23:49

如果是搞竞赛的话可以去看刘汝佳的白书,百度一下很多的
至于树的数据结构,那太多了,堆,线段树,平衡树,树套树,动态树,树的分治等等都和树的数据结构有关
你说不懂有什么用?
首先树的定义很广,由一个或多个节点组成的有线集合,存在一个根节点,所有非根的节点一定有一个祖先,这是树;一个图中有n个点和n-1条边,这也是树,百度一下都有
树的结构用的最多的是二叉树,它可以优化一些操作。比如用数组模拟规模是n的一个数列,要支持在任意位置插入/删除一个数、询问第k个数是多少,那么插入删除最坏情况下是要做n次操作,询问只要1次。如果链表模拟的话插入、删除都是1次操作,但是询问最坏情况下是要做n次操作。这样最坏情况下都是可以用特殊数据卡你时间的。但是用平衡树就可以解决。平衡树的插入、删除、询问最坏情况下都是只要log2n的,这样就解决了时间的问题。并不是说平衡数就一定比数组、链表模拟好,所有高级数据结构的思想都是放弃一些操作的效率,来换取另一些操作效率变快。具体还是要看情况决定。

mevip
mevip   2014.08.14 12:30

选择数据结构非常重要,数据结构在一定程度上决定了设计的好坏和实现的难易程度。

chrysanthemumcao
chrysanthemumcao   2014.08.15 19:26

数据结构是编程的基础,当你设计一个程序的时候,好的数据结构设计对程序的性能来说很重要。
虽然c++中有STL,提供了一些常用的数据结构,但是如果要弄好程序设计的话,对常用的数据结构
达到精通的状态还是很重要的。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
数据结构在编程项目中的作用和认识
几天前就想写一篇关于《数据结构》方面的文章,一直没写,忍不住今天终于动手写了。我最开始学习《数据结构》课程使在大学二年级,当时编程基础薄弱的我认为它是一门很难的课程,将其和《数学分析》、《高等代数》并列为很难的几门课之一。当时的电脑还不普及,班级中能买到台式机的同学没有几个,实际上机操作进行感性学习《数据结构》课程的条件不具备。课堂上,来自老师利用在黑板上板书的方式来讲解,使得对于《数据结构》中许多
数据结构在软件编程中的地位
 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。数据结构在编程中的重要作用具体表现在:     1、数据结构是一门综合性较强的计算机软件、程序设计理论和技术相结合的重要基础知识。它主要讨论抽象数据关系和算法在计算机中的表示与实现,涉及到的数据在计算机中的表示、组织和处理 ,以及相应结构上的算法设计和算法性能上的分析技术。它所包含的知识与提
C语言经典编程题75道 (南京大学一个高手整理的 适合有一定数据结构基础的用)
南京大学一个高手整理的 我偷来给大家分享 适合想接触ACM但ACM又难的编程者使用 题目全中文的 只要把题目在GOOGLE上一搜就有答案了
《C专家编程》:C程序运行时的数据结构(六)
编程语言的经典对立之一就是代码和数据的区别。但是有些语言如LISP把两者视为一体。但是C语言却维持着两者的区别。代码和数据的区别也可以认为是编译时和运行时的分界线。编译器的绝大部分工作更翻译代码有关,必要的数据存储管理的绝大部分都在运行时进行。   学习运行时系统,主要有三个理由: (1)有助于优化代码,获得最佳效率; (2)它有助于理解更高级的材料; (3)当陷入麻烦时,它可以使分析问题
40道数据结构编程题及代码合集
2011年7月至今,解题笔记系列已有39篇文章,本文做一个归纳及索引,方便网友阅读参考。其中的题目多出自两个博客,一个是JULY的,另一个是何海涛的。上面有题目,也有解题思路及代码。       JULY的博客  http://blog.csdn.net/v_JULY_v/article/details/6057286       何海涛的博客  http://zhedahht.blo
C语言数据结构编程题.txt
将一整数逆序后放入一数组中(要求递归实现) 求高于平均分的学生学号及成绩(学号和成绩人工输入)
数据结构的作用
为什么计算机的孩子要学好数据结构? 数据结构课程介绍: 《数据结构》是计算机科学课程体系中核心课程之首,作为学科的专业基础课,具有承上启下的重要作用。对应于学科 中问题求解的理论、抽象和设计的方法论,本课程内容体系结构分为概念表述、构建数据模型、设计算法三个层面, 突出数据组织方法与处理技术,贯穿程序设计和软件工程新思想和新观点。采用面向对象和抽象数据类型(ADT)观点 介绍数据结构技术
数据结构存在的意义
在我们现实生活中,我们处理一件事情的时候,往往不只是处理单单的一个数据,也就是说你处理的是一个数据的集合体。 我们设想这些数据是有一定的关系的。比如说,用到数据a ,接下来就会用到数据 b .  可以看出a与b数据存在着某种密切的关系。下面分成两个场景来思考这个问题: 1.  a , b之间的关系并没有进行显式的存储 我们可以设想有一个机器M ,M接受了a的数据,那么接下来就会需要b的数据(
C/C++及数据结构笔试题集锦(校园招聘)之一
嗯,这是我从学校bbs精华区整理的c/c++及数据结构的笔试以及部分面试题集锦,觉得只要搞懂了这些题目,大部分的笔试都不惧了。希望能给需要的人带来帮助。顺便攒rp ^_^ 不过大部分题目没有答案,欢迎补充哦~~~~ 一: 已知类String的原型为: class String {  public:      String(const char *str = NULL);       
数据结构编程题(不断更新)
记录一些数据结构的编程题好题: 1、计算二叉树深度 public class Solution { public int TreeDepth(TreeNode pRoot) { return pRoot == null ? 0 : Math.max(TreeDepth(pRoot.left), TreeDepth(pRoot.right)) + 1; } }递归