当前位置:编程学习 > JAVA >>

大学,各位肯定学过一科,叫做——数据结构

请问,数据结构里,讲的这堆内容
模块目录                                                 页码
一、 排序  …………………………………………………………4
1. 选择排序    
2. 插入排序
3. 冒泡排序
4. 快速排序
5. 堆排序
6. 归并排序
7. 线性时间排序
二、 高精度 …………………………………………………………6
1. 高精度比较
2. 高精度加法
3. 高精度减法
4. 单精度乘法
5. 高精度乘法
6. 单精度除法
7. 高精度除法
8. 进制转换
三、 数论  ……………………………………………………………10
1. 欧几里德算法
2. 扩展欧几里德
3. 求最小公倍数
4. 求解线形同余方程
5. 素数的判断
6. 素数的生成
四、 排列组合 ………………………………………………………12
1. 排列生成算法
2. 组合生成算法
3. 排列按序生成法
4. 排列字典序生成法
五、 图论 ……………………………………………………………15
1. 图的读入
2. 深度优先搜索
3. 广度优先搜索
4. 强连同分量
5. 拓扑排序
6. 最小生成树
7. 最短路径
六、 背包问题 ………………………………………………………21
1. 装满背包
2. 一维价值最大背包
3. 二位价值最大背包


到底,对于现实的编程,有什么意义?
望前辈,精辟讲解 --------------------编程问答-------------------- 楼主一直处于幻想中的编程? --------------------编程问答-------------------- 那些拿高工资的都很会这些 --------------------编程问答-------------------- 那些拿高工资的都很会这些

   我不是拿工资的那些,所以我........... --------------------编程问答-------------------- 语法什么的大家都会  技术水平差距貌似就差在这上面 --------------------编程问答-------------------- 没学过~ --------------------编程问答--------------------
引用 1 楼 zhouyuqwert 的回复:
楼主一直处于幻想中的编程?


所以,我的意思是想问,大学,学这科,到底干嘛?
需要学吗? --------------------编程问答--------------------
引用 5 楼 cbxjj 的回复:
没学过~


计算机专业的必修课,
你等于说你不是学计算机的 --------------------编程问答-------------------- 用处很大,却只可意会 --------------------编程问答--------------------
引用 8 楼 alexandertech 的回复:
用处很大,却只可意会


精辟有余,通俗不足。
希望能展开阐述,谢谢。 --------------------编程问答-------------------- 一般 算法工程师 的工资都是高过搞开发的 --------------------编程问答--------------------
引用 7 楼 jiangxun980 的回复:
引用 5 楼 cbxjj 的回复:
没学过~


计算机专业的必修课,
你等于说你不是学计算机的

我数学系的
只学过离散数学
数据结构真心没学过~ --------------------编程问答--------------------
引用 10 楼 ticmy 的回复:
一般 算法工程师 的工资都是高过搞开发的


我有点迷糊,难道,最底层搞开发的民工程序员,可以完全不懂那堆高中算法,照样开发? --------------------编程问答--------------------
引用 11 楼 cbxjj 的回复:
引用 7 楼 jiangxun980 的回复:
引用 5 楼 cbxjj 的回复:
没学过~


计算机专业的必修课,
你等于说你不是学计算机的

我数学系的
只学过离散数学
数据结构真心没学过~


呵呵,其实,数据结构的内核,就是离散,就差,没把内容转化为计算机实现罢了 --------------------编程问答--------------------
引用 13 楼 jiangxun980 的回复:
呵呵,其实,数据结构的内核,就是离散,就差,没把内容转化为计算机实现罢了


你再看我的目录,数论、排列组合、图论,你学过离散,你不知道这些?
那你得再补补了 --------------------编程问答-------------------- 学过, 忘了 --------------------编程问答-------------------- 我毕业好多年了 
学校里学的东西全还回去了
这些东西可以说只对1/10的程序员有用
不学也可以做开发 --------------------编程问答--------------------
引用 16 楼 cbxjj 的回复:
我毕业好多年了 
学校里学的东西全还回去了
这些东西可以说只对1/10的程序员有用
不学也可以做开发


没错,我也是一直听到这种说法。
所以我纳闷,大学还学个**。 --------------------编程问答-------------------- 大学计算机课程其实分了四层

编程语言
这是编程的基础,不用多说。

如楼主所举的数据结构
总结归纳了对常见数据结构的标准/最优处理方式,能解决大多数问题,有助于在大多数场合写出效率高缺陷少的程序

算法设计与分析
在第二层的基础上,综合运用或者自由创造,能解决更复杂的实际问题,兼顾时间与空间的平衡

概率论与数理统计、计算方法、微积分
以软件辅助科研或者某些高端领域的软件设计所必须,如金融市场交易建模、信息检索(含搜索引擎)、图像识别、人工智能等 --------------------编程问答--------------------
引用 18 楼 alexandertech 的回复:
大学计算机课程其实分了四层

编程语言
这是编程的基础,不用多说。

如楼主所举的数据结构
总结归纳了对常见数据结构的标准/最优处理方式,能解决大多数问题,有助于在大多数场合写出效率高缺陷少的程序

算法设计与分析
在第二层的基础上,综合运用或者自由创造,能解决更复杂的实际问题,兼顾时间与空间的平衡

概率论与数理统计、计算方法、微积分
以软件辅助科研或者某些高端领域的软件……


其实,二三可以合并,数据结构和算法,分不开的。比如图论,是不可能撇开Kruskal、Dijktra、Floyd来单独讲图论的。 --------------------编程问答--------------------
引用 18 楼 alexandertech 的回复:
大学计算机课程其实分了四层

编程语言
这是编程的基础,不用多说。

如楼主所举的数据结构
总结归纳了对常见数据结构的标准/最优处理方式,能解决大多数问题,有助于在大多数场合写出效率高缺陷少的程序

算法设计与分析
在第二层的基础上,综合运用或者自由创造,能解决更复杂的实际问题,兼顾时间与空间的平衡

概率论与数理统计、计算方法、微积分
以软件辅助科研或者某些高端领域的软件……


但是,现实里的编程,貌似,数据结构那套,不懂也没关系。不信你问问,广大做底层开发的程序员。 --------------------编程问答--------------------
引用 15 楼 aotian16 的回复:
学过, 忘了

顶一下,老师讲的时候我没听,看电子书嘞……压根就没学会~~ --------------------编程问答--------------------
引用 19 楼 jiangxun980 的回复:
引用 18 楼 alexandertech 的回复:
大学计算机课程其实分了四层

编程语言
这是编程的基础,不用多说。

如楼主所举的数据结构
总结归纳了对常见数据结构的标准/最优处理方式,能解决大多数问题,有助于在大多数场合写出效率高缺陷少的程序

算法设计与分析
在第二层的基础上,综合运用或者自由创造,能解决更复杂的实际问题,兼顾时间与空间的平衡

概率论与数理统计……


还是不一样的,第2层是提供了对单一数据结构的标配算法。
实际问题可能比这复杂得多,要同时处理多种数据结构,包括是否使用某种数据结构也在其架构考虑中。
举个例子来说,冒泡排序就是个标配算法,第二层的产物,蒙特卡洛算法就是第三层的产物。 --------------------编程问答--------------------
引用 4 楼 bianhei000 的回复:
语法什么的大家都会  技术水平差距貌似就差在这上面
在理。这也是一个人的内功呀。 --------------------编程问答--------------------
引用 22 楼 alexandertech 的回复:
引用 19 楼 jiangxun980 的回复:

引用 18 楼 alexandertech 的回复:
大学计算机课程其实分了四层

编程语言
这是编程的基础,不用多说。

如楼主所举的数据结构
总结归纳了对常见数据结构的标准/最优处理方式,能解决大多数问题,有助于在大多数场合写出效率高缺陷少的程序

算法设计与分析
在第二层的基础上,综合运用或者自由创造,能解决更复杂的……


你好好学吧,看出来你还没毕业。其实,数据结构那本书,是基础,万变不离其宗。换个语言,一样的思路。但是,现实里工作开发,值钱的是VC、java这些技术,数学那些东西,你能学通固然好,学不通,其实照样能打工。不过,这里就是高低手的区别了。 --------------------编程问答-------------------- 这些都学过,可是现在都忘鸟。。。 --------------------编程问答-------------------- 都是思想前人总结的设计精华 你如果够聪明的话可以不学 自己悟 --------------------编程问答-------------------- 特别抽象,NND让高中的时候学没准儿能学会,大学 就懒了。。。。。。 --------------------编程问答-------------------- 说实话 就像你以前高中初中学的语数外理化生有啥用呢 现在开发可以说用不到 
但是你学了肯定对你今后学习帮助很大 不学很多无法理解 --------------------编程问答-------------------- 没看出来楼主是来求建议的,还是给人建议的 --------------------编程问答--------------------
引用 3 楼 amos1989 的回复:
那些拿高工资的都很会这些

   我不是拿工资的那些,所以我...........

难道阁下是义务劳动 --------------------编程问答-------------------- 你先不看这书,自己写点程序。学完这门课之后,再对相同的需求,重新写一遍,你看看差别。 --------------------编程问答-------------------- 缓缓飘过 --------------------编程问答-------------------- 我也没学过,自然也写不出来什么程序! --------------------编程问答-------------------- 忘了了 --------------------编程问答--------------------
引用 28 楼 zhouyuqwert 的回复:
说实话 就像你以前高中初中学的语数外理化生有啥用呢 现在开发可以说用不到 
但是你学了肯定对你今后学习帮助很大 不学很多无法理解


说得好,那我的问题就是——是中学学的那堆对编程重要点,还是大学这科数据结构重要点,还是同等重要?
阁下的意思。 --------------------编程问答--------------------
引用 29 楼 alexandertech 的回复:
没看出来楼主是来求建议的,还是给人建议的


我是想知道,数据结构,对于现实意义的编程——现在已经工作的程序员能明白的,
到底有多大用?
因为我听过无数这样说的,真正的开发,会不会数据结构一个样。

而你给的建议,明眼人一看,都知道,你还没毕业。
所以我就劝勉你,好好学,无用之用,才是最有用的。 --------------------编程问答--------------------
引用 34 楼 a619225471 的回复:
忘了了


其实,理科的东西是不会忘的,前提是你理解了。举个很简单的例子,初二学的,怎么解一元二次方程,你会忘吗?不会,并不是因为你记性好,而是因为,你把他理解了。所以,数据机构的东西,你忘了,只能说明你没学通。 --------------------编程问答-------------------- 不学数据结构 编程肯定是没的问题的,只不过想要效率高你就必须对数据结构有了解
就我知道的一个简单的例子
递归 有时候可以被循环代替 但效率比起 那些 递归还是差了一些的, --------------------编程问答--------------------
引用 36 楼 jiangxun980 的回复:
引用 29 楼 alexandertech 的回复:
没看出来楼主是来求建议的,还是给人建议的


我是想知道,数据结构,对于现实意义的编程——现在已经工作的程序员能明白的,
到底有多大用?
因为我听过无数这样说的,真正的开发,会不会数据结构一个样。

而你给的建议,明眼人一看,都知道,你还没毕业。
所以我就劝勉你,好好学,无用之用,才是最有用的。


哈哈,谢谢你的劝勉~
--------------------编程问答-------------------- 精华的东西居然说没用,我晕之!!!!!!! --------------------编程问答-------------------- 你想往深处走的话,必须要学好它。
但学好它的人很少,这就为什么java程序员们都是--初级程序员 --------------------编程问答--------------------
引用 40 楼 vs_lizhi 的回复:
精华的东西居然说没用,我晕之!!!!!!!


说这些没用的,是我朋友,我“拾人牙慧”罢了。 --------------------编程问答--------------------
引用 41 楼 zhouyunan2010 的回复:
你想往深处走的话,必须要学好它。
但学好它的人很少,这就为什么java程序员们都是--初级程序员


但愿你是以一个高级程序员的身份说这些话。 --------------------编程问答--------------------
引用 38 楼 jmy108 的回复:
不学数据结构 编程肯定是没的问题的,只不过想要效率高你就必须对数据结构有了解
就我知道的一个简单的例子
递归 有时候可以被循环代替 但效率比起 那些 递归还是差了一些的,


呵呵,你的“那些”,我告诉你吧,是递推,递归都可以转化成递推,但不是谁都会。 --------------------编程问答-------------------- 大学课程没学过,但是自己私下学过 --------------------编程问答-------------------- 思维模式会不同而已 你不学也许一样能实现你想要的 
不过做起来可能会更加复杂 逻辑更加混乱点 只是说有可能
感觉不比深究 如果你不是去专门搞算法的 大概知道下数据结构有哪些 什么情况用起来会方便些就行了 --------------------编程问答--------------------
引用 46 楼 zhouyuqwert 的回复:
思维模式会不同而已 你不学也许一样能实现你想要的 
不过做起来可能会更加复杂 逻辑更加混乱点 只是说有可能
感觉不比深究 如果你不是去专门搞算法的 大概知道下数据结构有哪些 什么情况用起来会方便些就行了


那,如果,要你给大学入学的计算机新生,分享经验,你会强烈建议他们学好数据结构这科吗?
还是多花精力,到技术应用层面的,asp,vb,java等等 --------------------编程问答--------------------
引用 47 楼 jiangxun980 的回复:
引用 46 楼 zhouyuqwert 的回复:
思维模式会不同而已 你不学也许一样能实现你想要的
不过做起来可能会更加复杂 逻辑更加混乱点 只是说有可能
感觉不比深究 如果你不是去专门搞算法的 大概知道下数据结构有哪些 什么情况用起来会方便些就行了


那,如果,要你给大学入学的计算机新生,分享经验,你会强烈建议他们学好数据结构这科吗?
还是多花精力,到技术应用层面的,asp,v……

会的,这也是为什么计算机课程必然会开这门课的原因
而且你不会觉得这门课很有意思么。。。
语言和应用得区别下哈,这些语言的基础肯定得学好的,毋庸置疑,但数据结构在大学阶段学好一样对你很大帮助,当然你不学也可以找到份工作
可以这么说,现在大部分应用层的东西都应该不是很难,调用别人API,到用的时候学习下就是
数据结构的话可不是你学习个几天就能会的
说来说去都是一个意思,不学一样可以做项目,学了对你今后帮助很大 --------------------编程问答--------------------  想深入做技术,那些必须学好。 --------------------编程问答-------------------- 迄今为止对我最有帮助的一门课 --------------------编程问答-------------------- 这东西、、是内功 
内外结合才是武林高手~~ --------------------编程问答-------------------- 借分
11111 --------------------编程问答-------------------- 木有学过,不过冒泡排序什么的,在学C的时候倒是接触过。。。 --------------------编程问答-------------------- 我觉得要看是什么语言了,我猜很多高级语言能够对很多的算法进行包装吧,很多的人在不知道什么是算法的情况下同样能进行软件开发。 --------------------编程问答-------------------- 要想学的深,走的远,一般多这个还有C要求很高的,楼主努力啊 --------------------编程问答-------------------- 貌似有用 --------------------编程问答-------------------- 我挂过,不知道学没学过 啊哈哈 --------------------编程问答-------------------- 记得有这门课,但是压根就没学会,考试都是抄过的。 --------------------编程问答-------------------- 额~~我不说 --------------------编程问答--------------------
引用楼主 jiangxun980 的回复:
请问,数据结构里,讲的这堆内容
模块目录                                                 页码
一、 排序  …………………………………………………………4
1. 选择排序    
2. 插入排序
3. 冒泡排序
4. 快速排序
5. 堆排序
6. 归并排序
7. 线性时间排序
二、 高精度 ………………………………………………………

一般人用不到,用到的人不一般 --------------------编程问答-------------------- 这些个内容总是到开发元件或是较深层的技术用到
一般JAVA或C#编程的初学都不用考虑这些
因为很多都被封装起来了
我们只需要调用即可

我认为升到中级编程的技术人员可以先看设计模式和框架
先搞懂设计模式和框架基本工资就不低

高级编程人员就很需要数据结构来帮助编程效率 --------------------编程问答-------------------- 数据结构和算法就想设计模式一样,是程序员的通用语言。想象一下,项目中要用某个平衡的BST处理动态数据查询,如果你没听说过平衡的BST为何物,你能融入到这个团队吗?没有人会有时间给你讲平衡的BST是什么的。。。 --------------------编程问答--------------------
引用 41 楼 zhouyunan2010 的回复:
你想往深处走的话,必须要学好它。
但学好它的人很少,这就为什么java程序员们都是--初级程序员


菜鸟才说出这种话。。。技术的高低与语言没有关系。。。 --------------------编程问答-------------------- 这个还真学过。 --------------------编程问答-------------------- 算法工程师基本上是不会招本科生的。 --------------------编程问答-------------------- 很爽的一门课,好好学吧 --------------------编程问答-------------------- 面向过程,底层,优化,难道都不用嚒? --------------------编程问答--------------------
引用 67 楼 owo_lee 的回复:
面向过程,底层,优化,难道都不用嚒?


那就去优化一下 TreeMap 吧的实现吧,或者去优化一下 ConcurrentHashMap 的实现。 --------------------编程问答-------------------- --------------------编程问答-------------------- 大家都是内功深厚的人 --------------------编程问答-------------------- 其实,这本书讲的都是一些思路,以后编码的时候就是根据这个思路讲这些思想具体话!学好这门课真的作用蛮大的…… --------------------编程问答-------------------- 学过,只会皮毛 --------------------编程问答--------------------
引用 61 楼 cscxxx 的回复:
这些个内容总是到开发元件或是较深层的技术用到
一般JAVA或C#编程的初学都不用考虑这些
因为很多都被封装起来了
我们只需要调用即可

我认为升到中级编程的技术人员可以先看设计模式和框架
先搞懂设计模式和框架基本工资就不低

高级编程人员就很需要数据结构来帮助编程效率

学习起来比较好学,好好学吧 --------------------编程问答--------------------
引用 41 楼 zhouyunan2010 的回复:
你想往深处走的话,必须要学好它。
但学好它的人很少,这就为什么java程序员们都是--初级程序员



为什么说java程序员们都是--初级程序员?
这个问题希望不要引发一场血雨腥风。。。。

--------------------编程问答-------------------- 这门课是我大学4年唯一觉得有用的一门课

说完 --------------------编程问答-------------------- 有用,但不一定用的上 --------------------编程问答-------------------- 没用,会它能拿高工资,不会它会后悔还得补 --------------------编程问答-------------------- 多学一些总是好的
何况是很有用的东西

熟练工和技术手的差别就在这些地方了 --------------------编程问答--------------------
引用 18 楼 alexandertech 的回复:
大学计算机课程其实分了四层

编程语言
这是编程的基础,不用多说。

如楼主所举的数据结构
总结归纳了对常见数据结构的标准/最优处理方式,能解决大多数问题,有助于在大多数场合写出效率高缺陷少的程序

算法设计与分析
在第二层的基础上,综合运用或者自由创造,能解决更复杂的实际问题,兼顾时间与空间的平衡

概率论与数理统计、计算方法、微积分
以软件辅助科研或者某些高端领域的软件……


大神,我这学期刚学了数据结构。但是,我感觉在做课程设计的时候,根本不会用。
我知道是我的练习量不够,但是,我不知道怎么提高这个的应用熟练程度。 --------------------编程问答-------------------- 我学过 当时很萌 也很蒙 --------------------编程问答-------------------- 计算机能够处理的信息,最终都是以某一种数据结构保存在计算机存储空间中,要应用计算机程序设计语言来完成某种编程工作,其本质就是把外部客观事件(比如说,某个电信项目里面的数据)以某种数据结构的方式存储在计算机中,然后应用某种算法对这些数据结构进行处理,程序员就是完成这个工作的
补充:Java ,  非技术区
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,