由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
WaterWorld版 - 借人气问问,C++二叉树
相关主题
化学博后林一热的故事 (二) 博士生涯这边周末的training大约是什么单位办的?不会是跟国内的新东方那样的吧。。
化学博后林一热的故事 (二) 博士生涯BSO一下我是如何教儿子数学的,举一例
大学学的不是理工科 总是被嘲笑 怎么办 (转载)男人玩游戏是因为穷
好多40岁的老中每天还在练算法题Facebook 用户量十分庞大,为什么还使用 MySQL 数据库?
cs难道不是一个垃圾专业?A家面积
美国官员哈佛带走薄瓜瓜 政治庇护传言成真?借人气问问,C++二叉树 (转载)
影帝又卖稀土了 :China's Wen says not to curb rare earth ex (转载)Google on-site 面试题
阿三抢了功劳,还被中国老板批评问几个关于hash, map, set的问题
相关话题的讨论汇总
话题: c++话题: 二叉树话题: 语言话题: tree话题: fortran
进入WaterWorld版参与讨论
1 (共1页)
r*****8
发帖数: 2560
1
我在看C++,看到二叉树,谷歌一下,发现是个很基础的东西。对搜索、索引、添加数
据都很有用。
既然这么有用,这么重要,别的语言怎么没有呢?
我以前学过一些别的语言,例如,Basic、PHP、Python、R、MySQL、MATLAB、FORTRAN
、JAVA Script、、等等,为啥都不要二叉树,照样搜索,照样存储。
C++一定要用二叉树吗?
谢谢各位高人指点。
M**a
发帖数: 848
2
哈哈。顶一下。高人来解释。
d**********1
发帖数: 569
3
有,但是实现起来效率不高且麻烦。
C/C++的优点之一就是运行的速度和算法效率,所以有相当一部分人用C++就是为了算法
和速度,用算法的人多了,所以愿意讨论和实现的人就多了。
Basic PHP Python ...的和C++比起来,特点是入门容易,开发速度快,管理起来(相
对)简单。所以同时要用到这些语言和二叉树检索的机会太少了,用的少,基本也就没
人讨论了。

FORTRAN

【在 r*****8 的大作中提到】
: 我在看C++,看到二叉树,谷歌一下,发现是个很基础的东西。对搜索、索引、添加数
: 据都很有用。
: 既然这么有用,这么重要,别的语言怎么没有呢?
: 我以前学过一些别的语言,例如,Basic、PHP、Python、R、MySQL、MATLAB、FORTRAN
: 、JAVA Script、、等等,为啥都不要二叉树,照样搜索,照样存储。
: C++一定要用二叉树吗?
: 谢谢各位高人指点。

c*********7
发帖数: 19373
4
二叉树是算法吧,这个跟语言没关系。
z*****a
发帖数: 9790
5
二叉树是一种数据结构,理论上任何编程语言都可以实现,只不过c/c++的指针实现起
来效率高

FORTRAN

【在 r*****8 的大作中提到】
: 我在看C++,看到二叉树,谷歌一下,发现是个很基础的东西。对搜索、索引、添加数
: 据都很有用。
: 既然这么有用,这么重要,别的语言怎么没有呢?
: 我以前学过一些别的语言,例如,Basic、PHP、Python、R、MySQL、MATLAB、FORTRAN
: 、JAVA Script、、等等,为啥都不要二叉树,照样搜索,照样存储。
: C++一定要用二叉树吗?
: 谢谢各位高人指点。

c*****z
发帖数: 1211
6
不发葵花版是怕被拍死么?

FORTRAN

【在 r*****8 的大作中提到】
: 我在看C++,看到二叉树,谷歌一下,发现是个很基础的东西。对搜索、索引、添加数
: 据都很有用。
: 既然这么有用,这么重要,别的语言怎么没有呢?
: 我以前学过一些别的语言,例如,Basic、PHP、Python、R、MySQL、MATLAB、FORTRAN
: 、JAVA Script、、等等,为啥都不要二叉树,照样搜索,照样存储。
: C++一定要用二叉树吗?
: 谢谢各位高人指点。

r*****8
发帖数: 2560
7
不管计算机发展多快,总有更大的计算要求,所以速度和效率都很重要。
但是,比如,R用来算大数据的,也用不着什么二叉树啊。
MySQL,数据库专门用来存储和搜索的,也用不着二叉树。
是不是C++/C太原始了,别的语言里二叉树已经是语言的一部分了。

【在 d**********1 的大作中提到】
: 有,但是实现起来效率不高且麻烦。
: C/C++的优点之一就是运行的速度和算法效率,所以有相当一部分人用C++就是为了算法
: 和速度,用算法的人多了,所以愿意讨论和实现的人就多了。
: Basic PHP Python ...的和C++比起来,特点是入门容易,开发速度快,管理起来(相
: 对)简单。所以同时要用到这些语言和二叉树检索的机会太少了,用的少,基本也就没
: 人讨论了。
:
: FORTRAN

r*****8
发帖数: 2560
8
是怕被拍死。

【在 c*****z 的大作中提到】
: 不发葵花版是怕被拍死么?
:
: FORTRAN

f****p
发帖数: 18483
9
那儿专门管爆菊。

【在 r*****8 的大作中提到】
: 是怕被拍死。
c****p
发帖数: 6474
10
你说的应该是二叉搜索树BST。
有些数据结构的底层实现实际上是用BST及其变种实现的,你没有直观地看到BST而已。
就我所知,C++里面的set是用红黑树(平衡BST)实现的。

FORTRAN

【在 r*****8 的大作中提到】
: 我在看C++,看到二叉树,谷歌一下,发现是个很基础的东西。对搜索、索引、添加数
: 据都很有用。
: 既然这么有用,这么重要,别的语言怎么没有呢?
: 我以前学过一些别的语言,例如,Basic、PHP、Python、R、MySQL、MATLAB、FORTRAN
: 、JAVA Script、、等等,为啥都不要二叉树,照样搜索,照样存储。
: C++一定要用二叉树吗?
: 谢谢各位高人指点。

相关主题
美国官员哈佛带走薄瓜瓜 政治庇护传言成真?这边周末的training大约是什么单位办的?不会是跟国内的新东方那样的吧。。
影帝又卖稀土了 :China's Wen says not to curb rare earth ex (转载)BSO一下我是如何教儿子数学的,举一例
阿三抢了功劳,还被中国老板批评男人玩游戏是因为穷
进入WaterWorld版参与讨论
D*********t
发帖数: 5748
11
re

FORTRAN

【在 r*****8 的大作中提到】
: 我在看C++,看到二叉树,谷歌一下,发现是个很基础的东西。对搜索、索引、添加数
: 据都很有用。
: 既然这么有用,这么重要,别的语言怎么没有呢?
: 我以前学过一些别的语言,例如,Basic、PHP、Python、R、MySQL、MATLAB、FORTRAN
: 、JAVA Script、、等等,为啥都不要二叉树,照样搜索,照样存储。
: C++一定要用二叉树吗?
: 谢谢各位高人指点。

z*******6
发帖数: 45
12
感觉你还是要好好提高一下姿势水平。
首先,二叉树是一种数据结构,与语言本身无关,与算法也没有直接关系。
其次,二叉树只是树型结构中最基本的一种,其扩展还有二叉平衡术,红黑树,B树等
等,这些数据结构广泛用于文件系统,数据库等领域。
另外,关于搜索,无论你用什么语言,你都可以选择高效算法,也都可以选择低效算法
。你所说的其他语言没有用,可能性有两个:第一,你没有用;第二,你没有显示的用
,但是事实上你所用的函数已经帮你完成了这些工作。比如你用python里面的map来存
储和搜索,你自己没有显示的用到任何树结构,但是python内部在实现的时候有可能就
是用了某些树的结构。这一点在C++也一样。你可以选择自己从头实现,也可以选择直
接使用各类函数。
最后,希望你能继续努力学习C++。语言学习不在数量,在于质量。能够精通一门比泛
泛学习多门语言更有意义,也更见功力。
j**w
发帖数: 382
13
Binary tree is a data structure.
C/C++ is a programming language.
Both are related but not completely the same.
English is a language.
England is part of UK.
Both are related, but not the same thing.

【在 r*****8 的大作中提到】
: 不管计算机发展多快,总有更大的计算要求,所以速度和效率都很重要。
: 但是,比如,R用来算大数据的,也用不着什么二叉树啊。
: MySQL,数据库专门用来存储和搜索的,也用不着二叉树。
: 是不是C++/C太原始了,别的语言里二叉树已经是语言的一部分了。

t*****v
发帖数: 287
14
LZ应该看看《数据结构》
Z**********4
发帖数: 528
15
还好卤煮只是被轻拍。。
卤煮没关系,there is no stupid questions!
Ask anything if you want.
d******8
发帖数: 2191
16
好的数据结构基本都是在底层上实现,比如数据库搜索,页面搜索。MySQL的数据结构
是类似于二叉树的B-tree,B+tree,当然还有其他的结构像Hash。C++就是为了实现这些
底层的结构和算法的,所以C++很让人痛苦。网络编程就基本不用C++。

FORTRAN

【在 r*****8 的大作中提到】
: 我在看C++,看到二叉树,谷歌一下,发现是个很基础的东西。对搜索、索引、添加数
: 据都很有用。
: 既然这么有用,这么重要,别的语言怎么没有呢?
: 我以前学过一些别的语言,例如,Basic、PHP、Python、R、MySQL、MATLAB、FORTRAN
: 、JAVA Script、、等等,为啥都不要二叉树,照样搜索,照样存储。
: C++一定要用二叉树吗?
: 谢谢各位高人指点。

b**b
发帖数: 7
17
C++找到好的类库,也可以不用自己实现。
其他的语言也可以自己从头写一个二叉树。
s****i
发帖数: 5469
18
烫烫烫烫烫
i***q
发帖数: 1095
19
You have to keep the tree balanced, therefore, no one call their tree binar
search tree when they use it. They call them black red tree or AVL tree. The
benefit of Java or python is to not code your own tree, but call built-in
libs which have tree or hash implemented internally.

FORTRAN

【在 r*****8 的大作中提到】
: 我在看C++,看到二叉树,谷歌一下,发现是个很基础的东西。对搜索、索引、添加数
: 据都很有用。
: 既然这么有用,这么重要,别的语言怎么没有呢?
: 我以前学过一些别的语言,例如,Basic、PHP、Python、R、MySQL、MATLAB、FORTRAN
: 、JAVA Script、、等等,为啥都不要二叉树,照样搜索,照样存储。
: C++一定要用二叉树吗?
: 谢谢各位高人指点。

r*****8
发帖数: 2560
20
“最后,希望你能继续努力学习C++。语言学习不在数量,在于质量。能够精通一门比
泛泛学习多门语言更有意义,也更见功力。”
谢谢指点!
“语言学习不在数量,在于质量。”
这些语言都是被逼无奈才学的,工作需要,不同平台,不同环境,只好继续学。数据处
理完了,或者是达到目的了,就不用了。
“你所说的其他语言没有用,可能性有两个:第一,你没有用;第二,你没有显示的用
,但是事实上你所用的函数已经帮你完成了这些工作。”
我很同意,Python、R里面建立多维矩阵,数据量也很大,只是一个命令,没说怎么建
的。搜索多维矩阵,也只是一个函数,没显示怎么搜索。估计里面用到了二叉结构。

: 最后,希望你能继续努力学习C++。语言学习不在数量,在于质量。能够精通一门比泛
: 泛学习多门语言更有意义,也更见功力。

【在 z*******6 的大作中提到】
: 感觉你还是要好好提高一下姿势水平。
: 首先,二叉树是一种数据结构,与语言本身无关,与算法也没有直接关系。
: 其次,二叉树只是树型结构中最基本的一种,其扩展还有二叉平衡术,红黑树,B树等
: 等,这些数据结构广泛用于文件系统,数据库等领域。
: 另外,关于搜索,无论你用什么语言,你都可以选择高效算法,也都可以选择低效算法
: 。你所说的其他语言没有用,可能性有两个:第一,你没有用;第二,你没有显示的用
: ,但是事实上你所用的函数已经帮你完成了这些工作。比如你用python里面的map来存
: 储和搜索,你自己没有显示的用到任何树结构,但是python内部在实现的时候有可能就
: 是用了某些树的结构。这一点在C++也一样。你可以选择自己从头实现,也可以选择直
: 接使用各类函数。

相关主题
Facebook 用户量十分庞大,为什么还使用 MySQL 数据库?Google on-site 面试题
A家面积问几个关于hash, map, set的问题
借人气问问,C++二叉树 (转载)G家一面。
进入WaterWorld版参与讨论
z****e
发帖数: 54598
21
因为树结构对比hashcode为代表的索引方式
仅仅在需要删除的时候,才体现出起优势来
删除时候reorg的话,直接往上依次弹出就好
如果不需要删除,仅仅是插入,新增这些的话
效率不如hashtable,更不如后续的各种优化后的hashtable
还有就是前面说的各种db,底层也就是b-tree
不过现在已经发现这个结构有些老了
正在讨论如何优化,这就是newsql
tree的确是很老的结构了,类似牛顿
但是hashcode的发明,类似爱因斯坦
z****e
发帖数: 54598
22
r是高阶语言,哪里用来算什么大数据
用来表达一些idea还差不多
真正计算都是压给那些pkg,比如scipy或者hadoop这些
r全部load数据到内存,根本算不出来
mysql底层实现就用了b-tree
c主要用来写一些底层的软件,os, db还有jvm, r这些
其它语言相对c是一种高阶的存在
最后一句是对的
其它语言甚至都不是二叉树是语言的一部分
而是hashtable这种结构是语言的一部分了
全部都是key-value pair,所有语言,到底层都是c
只有一些相对类库比较全的语言,你才能容易找到树结构
比如java里面就有treemap,但是treemap使用次数比起hashmap来说
那不知道是要小多少倍,人类发展这么多年,树有些old了
前面有人说set,set也可以多种实现,treeset比起hashset来说
我估计很多人甚至都不知道有treeset这个类
类似的还有list,arraylist比起linkedlist来说,要常用太多

【在 r*****8 的大作中提到】
: 不管计算机发展多快,总有更大的计算要求,所以速度和效率都很重要。
: 但是,比如,R用来算大数据的,也用不着什么二叉树啊。
: MySQL,数据库专门用来存储和搜索的,也用不着二叉树。
: 是不是C++/C太原始了,别的语言里二叉树已经是语言的一部分了。

i******l
发帖数: 270
23
你没想过查找吧,hashtable只能吃瘪了

【在 z****e 的大作中提到】
: 因为树结构对比hashcode为代表的索引方式
: 仅仅在需要删除的时候,才体现出起优势来
: 删除时候reorg的话,直接往上依次弹出就好
: 如果不需要删除,仅仅是插入,新增这些的话
: 效率不如hashtable,更不如后续的各种优化后的hashtable
: 还有就是前面说的各种db,底层也就是b-tree
: 不过现在已经发现这个结构有些老了
: 正在讨论如何优化,这就是newsql
: tree的确是很老的结构了,类似牛顿
: 但是hashcode的发明,类似爱因斯坦

z****e
发帖数: 54598
24
我没想过get方法?你确定吗?
点拨一下,看看会不会开窍
有个单词叫做amortized
hashtable对于tree的优化

arraylist对于linkedlist的优化
是非常相似的

【在 i******l 的大作中提到】
: 你没想过查找吧,hashtable只能吃瘪了
o***e
发帖数: 28
25
树结构可以实现有序的元素访问 这一点hash不容易实现吧 : )
而且我觉得 树对数据结构和算法而言最大的贡献在于它优化后的高度总是 log(n) 从
而在很多 (用树来实现的) 有意思的算法里引入了对数复杂度的概念 比多项式复杂度
还是强很多

【在 z****e 的大作中提到】
: 我没想过get方法?你确定吗?
: 点拨一下,看看会不会开窍
: 有个单词叫做amortized
: hashtable对于tree的优化
: 跟
: arraylist对于linkedlist的优化
: 是非常相似的

r**p
发帖数: 408
26
买买提上的马工可真多……
G***n
发帖数: 877
27
二叉树是数据结构,很多语言library的container很多都是二叉树的结构,比如c++里
STL的Map,所以你要知道这个。

FORTRAN

【在 r*****8 的大作中提到】
: 我在看C++,看到二叉树,谷歌一下,发现是个很基础的东西。对搜索、索引、添加数
: 据都很有用。
: 既然这么有用,这么重要,别的语言怎么没有呢?
: 我以前学过一些别的语言,例如,Basic、PHP、Python、R、MySQL、MATLAB、FORTRAN
: 、JAVA Script、、等等,为啥都不要二叉树,照样搜索,照样存储。
: C++一定要用二叉树吗?
: 谢谢各位高人指点。

r*****8
发帖数: 2560
28
各位专家说得太好了,让我长见识了。
我不是真正的码工,只是工作中需要什么语言就学什么语言,用完就扔,所以学了那么
多语言,无一精通。
再弱弱的问一句,C/C++中的指针,是不是也是底层的东西?
指针用起来很不顺手,没有指针的语言也是一大把。

【在 r**p 的大作中提到】
: 买买提上的马工可真多……
1 (共1页)
进入WaterWorld版参与讨论
相关主题
问几个关于hash, map, set的问题cs难道不是一个垃圾专业?
G家一面。美国官员哈佛带走薄瓜瓜 政治庇护传言成真?
LC上Contains Duplicate III用C++怎么做?影帝又卖稀土了 :China's Wen says not to curb rare earth ex (转载)
面经: bloomberg 电面阿三抢了功劳,还被中国老板批评
化学博后林一热的故事 (二) 博士生涯这边周末的training大约是什么单位办的?不会是跟国内的新东方那样的吧。。
化学博后林一热的故事 (二) 博士生涯BSO一下我是如何教儿子数学的,举一例
大学学的不是理工科 总是被嘲笑 怎么办 (转载)男人玩游戏是因为穷
好多40岁的老中每天还在练算法题Facebook 用户量十分庞大,为什么还使用 MySQL 数据库?
相关话题的讨论汇总
话题: c++话题: 二叉树话题: 语言话题: tree话题: fortran