首先:** 申明,我不是看到二叉树招聘门** 发这个主题的。
是在解决问题的时候,看到[数据结构]这本书,看到二叉树这个概念,我是菜鸟,这才知道二叉树是数 据结构。 所以我想问问,二叉树是必须学会的知识吗? 他在我们的日常编程中有很大作用吗?
首先:** 申明,我不是看到二叉树招聘门** 发这个主题的。
是在解决问题的时候,看到[数据结构]这本书,看到二叉树这个概念,我是菜鸟,这才知道二叉树是数 据结构。 所以我想问问,二叉树是必须学会的知识吗? 他在我们的日常编程中有很大作用吗?
|
unionxJun 15, 2015
1
是基础知识
|
|
2
简单的说,数据结构和算法这类的基础知识,看起来在开发的时候是没什么用处的,因为很多框架和库都封装好了,可以直接拿来用.
但是基础扎实的人debug和基础不扎实的人debug能力可以差出很远很远. 单纯是拿到需求再写代码的阶段,这些技术知识没多大用处的感觉,但是真的到了需要自己去构建业务的实现逻辑和代码的结构的时候,这些知识就很有用处了. 同样的业务,两个方案哪个效率高,那个方便管理,为什么? 因为数据结构和算法这类的基础知识,其实都是计算机领域的思维方式,如果不了解这些计算机的思维方式,出了问题就没办法去分析了. |
|
3
@lecher 经典~~~ 必须关注你
|
|
binuxJun 15, 2015
4
比如 DOM 就是一棵树
|
|
5
不要说二叉树了,会写链表都可以鄙视ruby圈子一大波人了 https://github.com/rubygems/rubygems/pull/1188
|
|
101Jun 15, 2015
6
数据结构基础知识,哪本数据结构不讲,别闹
|
|
21gramsJun 15, 2015
7
其实没啥用,写了这么多年程序,还真没发现哪里要用到树结构。
|
|
yueyoumJun 15, 2015
8
最近这事闹的这么大,周末赶紧用C写了 binary search tree 来压压惊!
顺便写了写 四叉数 |
|
AndiryJun 15, 2015
10
基本的二叉树没啥用。有用的是平衡二叉树
|
|
XadillaXJun 15, 2015
11
基础而已,不会的话不是不能写代码,只是基本功不扎实而已。
|
|
loadingJun 15, 2015 via Android
12
不知道这究竟是什么
|
|
otakustayJun 15, 2015
13
二X树我能写,但二B树我真写不来,大学时被这个折磨得要死要死的……
|
|
14
开发框架/类库型的产品时,知道一下应该是会有帮助的,至少当你在使用基础库提供的现成实现时,对它们的时空复杂度会有一定的概念,要不然面对链表和平衡树(都是实现好的)时,就不知道怎么选择咯~~
不过现在要是让我写出一个红黑树出来,我是真的不会写,但要是有 Google,查查应该也是可以写得出来。不过不要误解,我不引以为荣,我还是觉得算法很重要,倒不是说要把某些特定的算法背下来(我想这永远背不完,不同领域有不同的算法),我觉得更多的是通过学习来培养算法设计能力,所以我也准备找个时间再好好学习一下的 (太惭愧也有点后悔,大学睡了一年,翘了两年) |
|
yaqinkJun 15, 2015 via iPad
15
不懂。
數據結構還是在費腦筋解決一個問題之後,自己才意識到,原來使用不同數據類型,可以減輕大量的工作量。 然而一牽扯到各種算法,自己就懵了。 基本功不扎實的我,需要學。 然而學校算法課講師連基本數據類型都不說w |
|
yxzblueJun 15, 2015
16
红黑树算不算
|
|
0x61Jun 15, 2015 via iPhone
17
二叉树是离散数学里面的,楼主可以去看离散数学,里面说的很详细
|
|
hahasongJun 15, 2015
18
不知道,还是最近看新闻才知道的,找本书了解了一下,业务开发中完全用不到,无所谓了
|
|
ibckerJun 15, 2015
19
听过,哈哈
|
|
20
必须学,因为这是一个最经典、最简单的展现如何以几何速度降低运算复杂度的范例。
|
|
likukuJun 15, 2015
21
想象成原子核裂变反应吧。
|
|
estJun 15, 2015
23
|
|
HeartworkJun 15, 2015
25
以前写过树的几种数据结构,简单讲,这玩意用处不如hash那么糙快猛,也不如hash用的广。
以前用过的使用树的场景: 数据库索引(B+树) 业务系统内部的一个查找非常频繁但是非常少修改的结构(BBT) 自己写的类lisp解释器(AST) |
|
akiraJun 15, 2015
27
如果你的工作不需要用到2叉树,那说明你不需要懂这玩意。
当然,常规的数据结构和算法,个人建议还是多少学一下吧。 |
|
28
|
|
shakoonJun 15, 2015
29
看来本站半路出家的码农很多啊
|
|
scioogaJun 15, 2015 via Android
30
当初为了弄清楚自己一个对压缩数据的想法看了一堆资料就懂这个了
|
|
blackbeansJun 15, 2015
31
面试问过很多人关于二叉树的问题,基本都不会写.......几年工作经验的都有
|
|
jacobJun 15, 2015
32
是知识不?
是。 应该掌握不? 应该。 有用没? 有用。 你能用上不? 用不上。 |
|
wingooJun 15, 2015
33
忘了差不多了, 不过大学里数据结构是全部都写过的
现在看看定义, 试了下还是能写出来的:) |
|
dallasluJun 15, 2015
34
如何判断某个集合中是否包含某元素?
最笨的办法是循环比较。 如果该集合中包含42亿个元素,需要比较多少次? Java 中的 HashSet 只需要比较32次,因为应用了二叉树。 |
|
WispZhanJun 15, 2015
35
毕业前,基本无任何压力。
毕业后……,你能不翻书 记得几个就说明: 1.要么你长期记忆力好; 2.要么你经常看,经常用,从事的是高端算法研究或者数学研究; 3.要么经常刷题或刚刚参加面试; 4.要么你经常/最近主持面试; ……………… 目前的高级语言基本上常用数据结构的都有现成封装与抽象接口。 |
|
jedihyJun 15, 2015 via iPhone
38
工作用不到二叉树说明你们业务并不偏重于数据结构相关的东西,并且瓶颈也不在这一块。在大部分底层,或者说内核开发里面都用到了二叉树,其实一般是红黑树。你的linux系统基本上时时刻刻都在查询或者增删一颗二叉树,只是你察觉不到。
|
|
sydneyzhJun 15, 2015
40
主要是锻炼逻辑思考能力。这比死记硬背条条框框其实要不容易。面试考这些,换句话说就是考人的聪明程度。很多人其实是“背”程而不是编程,遇到这种题目就比较痛苦。所以这样就达到了刷人的目的。
|
|
caoyueJun 15, 2015
41
记得之前在博客园看到过一篇文章
大概是讲有个年纪很大的大叔自学编程,为了一个程序用各种土办法自己优化了很长时间 最后找到一个程序员,告诉他用 HashTable,一下就解决了他的问题 有什么用呢,对知道的人来说,也许会有用 对不知道的人来说,肯定没用 |
|
sdcg1994Jun 15, 2015 via iPhone
42
二叉树在金融数学里面应用很广泛的
|
|
SeptembersJun 16, 2015 via Android
43
算法/设计模式 学习的不是实现而是思路
|
|
SeptembersJun 16, 2015 via Android
44
@otakustay B tree / B+ tree / B* tree / Bx tree
|
|
wizardozJun 16, 2015
45
有的东西吧,当你不懂的时候你觉得没啥用。
学会了你就发现太有用了。 41楼举的例子很好,我想表达的大概就是这个意思。 |
|
williamxJun 16, 2015
46
这个事情是这样的:如果你不觉得有用,那就是没什么用——大抵如此。
|