| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 22172 人关注过本帖, 3 人收藏
标题:C日记~立标记~
只看楼主 加入收藏
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
@九转星河~很久没有来灌水了~
其实如果是随机搜索~平衡树效率不一定比普通的二叉搜索树要高~
普通二叉搜索树进行迭代处理的效率其实是很高的~当然前提是输入数据随机性强的情况下~
其实平衡树是处理极端情况下相比之下会有优势~感觉如果进行随机操作普通二叉搜索树甚至比平衡树还要快~因为省略了旋转操作~

其实平衡树就是对空节点进行合理空间利用~如果中序遍历所有节点~平衡树和一般二叉搜索树的效率其实是差不多的~如果是线索二叉树则遍历效率或许会更高~

当然如果是间接查找随机节点那就平衡树的效率会高一些~

嗯嗯~感觉图的邻接表可以做成红黑树的状态试试~这样实现增删图的顶点和边数比较方便~
感觉这样像一个红黑树的集合~这~不就是森林么~~~~~

[此贴子已经被作者于2017-6-28 00:42编辑过]


[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-06-28 00:36
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
@九转星河~
还有用哈希效率不一定比红黑树要快~关键在于哈希有个哈希函数的过程~
当然红黑树也有一个比较函数的过程~其实如果数据量不大的时候感觉两者是差不多的~而且哈希存放少数据的时候空间利用率较低~
所以必要时还要看看实现的微操作了~通用性强的框架一般对调用框架信息处理比相对来说会多一些~那些对执行效率多少会有些影响~
例如那个list.h头文件默认为双向循环链表~
其实如果单链表足够用的情况下用单链表就可以了~因为双链表会多了个节点指针处理~
一般的栈和队列都是用单链表实现的(当然也有双向队列)~其实单链表就是在插入和删除节点时难以找到前驱~所以如果删除元素只是集中在表头或者表尾时用单链表就可以了~
当然~如果不去追求细节效率可以理解成那些数据结构实现功能可以等价的~就是时间问题~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-06-28 01:02
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 170楼 九转星河
这玩意儿跟编译器无关,所有编译器应该都是用int类型处理字符串字面值的,应该是标准要求。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-06-28 07:04
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 172楼 九转星河
树和散列没什么可比性,适用场合不同。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-06-28 07:13
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 173楼 renkejun1942
所以就是说这种写法适用于所以编译器~难怪见到某个奇葩的代码
const answer = x > 10 ? 'is greater' : 'is lesser';

VC6直接编译不能通过~
能不能理解这是啥意思?~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-06-28 08:22
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 174楼 renkejun1942
这样说没啥可比性觉得反而可以节省脑力不用管那么多~
现阶段还是重点在树的那块~散列以后再具体看看性能如何~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-06-28 08:24
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
积累了个strtod函数~感觉用于处理计算器表达式的时候挺好用的~
具体用法有兴趣的可以上网查查资料~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-06-28 09:16
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 175楼 九转星河
看不懂,为什么没有数据类型?

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-06-28 10:12
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
回复 178楼 renkejun1942
那个我也不知道~别人发的一段代码~还是先放了~感觉如果用int64_类型可以通过编译~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-06-28 12:36
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
今天突然想到了一个故事~

从前有一个神奇的国家~这个国家对于外来居民有一个有趣的规则以至于会引发一系列有趣的事情。
这个国家原本是没有居民的,最先来到的居民就当上了国王。
为了便于管理这个国家,外来居民入住必须要得到国王的申请。然后让其审批得到暂住居民证,并且为其分配住址。
顺便补充一下,国王的身份默认为正式居民,国王可以变位,但国王身份默认为正式居民却不能变。

为了便于管理,这个国家很注重每个居民的当前收入,分配住址也和他们的收入有关。
不过这个国家的人一般很忙,平时没啥时间去记录太多信息,每个成员(不管是外来的还是原著的)只知道其中三个成员的地址信息,一个是比自己富有的,一个是比自己穷的,其中这两个可以说是自己的下级,还有一个就是自己的和下级相对的上级。当然还有特殊情况就是知道某个地址没有人住,没有人住的是默认为正式居民,只是那个居民还没有实体,就是个身份象征而已。

分配住址时有一个规矩,就是会看其外来成员是比自己富有还是比自己穷,如果是比自己富有的则把分配住址这项工作交给比自己富有的那个下级管理,如果是比自己穷的则把这项工作交给比自己穷的那个下级管理。直到某个居民找不到比自己穷的或者是比自己富有的或者说是空住址。于是就把那个空出来的住址分配给这个外来居民。就这样,这个国家就如此简单地处理了居民住址分配问题了。

不过,事情还没有这么简单,这个国家的外来居民彼此都不太熟悉,他们认为彼此都是平等的,彼此都不想直接构成上下级关系,如果直接构成上下级关系则会发生冲突,于是这个国家成员采取一套约定俗成的一系列措施解决冲突。

如果冲突发生了,则位于上级的外来居民会把这个情况上报给自己的上级也就是上上级(上上级能够推测是正式居民),请求批准自己为正式居民(这源于正式居民有对身份的处理权),以便解决冲突。

不过申请成为正式居民还是没那么简单,原因是上上级的另一个下级也就是和上级是同事关系的,如果他的身份是外来居民则会表示抗议,说为啥别人能申请正式居民而自己却不能。上上级表示也很无语啊,他说每次只能为自己的其中一个下级申请,不好意思咯。

那同事听说后颇有异议,说你怎么不能一视同仁,怎么说我和他也是同事关系,是平等的,为啥要为他申请而不能为我申请。他继续说,我倒有一个解决方案,如果把你的正式居民身份证给我,让我也成为正式居民就可以啦。

那还是这样算吧……上上级无论怎么想,最终还是要表态的。于是上上级在为其下级申请正式居民身份后便把自己的正式居民身份证交给自己的另一位下级,自己却变成了外来居民……

事情当然还没有结束。上上级自己成为外来居民后也可能会引起自己的上级的冲突,于是就按照这种方式往上处理。直到没有冲突或者上报到国王结束。

当然这里还是得要补充一个关键的问题,如果在产生冲突的情况下,上面说的上级的另一个同事也是正式居民或者另一个同事的地址是没有成员居住的而不是外来居民事情会怎么样呢,此时上上级会感觉到贫富分化严重,会另外引发冲突,得要调整才行。到时动静可大了,那可要连家庭住址都要变迁了。

至于为什么上上级会感觉到贫富分化严重和具体调整方法,那便是个要另外分析处理的事情了。

是不是觉得处理冲突的方式很好笑呢~可以想象一下这个国家的成员是不是很神经呢~~~~~~~~~~~
我的天哪,我自己也很难想象为啥能编那么难懂的故事,看不懂就当一个笑话看就可以啦~~~~~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-06-29 02:19
快速回复:C日记~立标记~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018593 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved