免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: OwnWaterloo
打印 上一主题 下一主题

[算法][C]二叉搜索树的两路二分查找 [复制链接]

论坛徽章:
0
111 [报告]
发表于 2012-08-09 23:49 |只看该作者
回复 106# OwnWaterloo


    至于函数式那就是另一码事了,表达方式的不同可能直接导致算法设计的思路不同。啊不了解,不重要了,跑题了 ..

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
112 [报告]
发表于 2012-08-09 23:54 |只看该作者
本帖最后由 starwing83 于 2012-08-09 23:57 编辑

回复 109# OwnWaterloo


    被发现了………………

你那句话有歧义,我理解的意思是:我引你对OO吐了那么多槽的目的就是因为我发现在算法(解释)上说不赢你,干脆转移话题脱身,结果被你发现了= =

好吧,现在看来,似乎是另外一个意思……………………暴露了……

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
113 [报告]
发表于 2012-08-10 00:00 |只看该作者
回复 112# starwing83

没别的意思,只是纯粹看不惯OO而已。前两天又看见OO之父那傻逼言论了,怨念还没消完而已。
好在还有一些大牛也看不惯OO,我不是孤单一人,否则真要稳不住了。

论坛徽章:
0
114 [报告]
发表于 2012-08-10 00:11 |只看该作者
回复 110# OwnWaterloo


>> 没说要强在哪啊?但也没弱在哪吧?本来就是一回事,我倾向用递归描述而已。
是一回事,但 while (bool) 写成 f {bool || return ; f(bool)}总是不太漂亮是吧 .. 当然没得选另说。

>> 这里的递归你指的是真递归而非伪递归?
是.

>> 而还有些语言是尽可能将有副作用的代码隔离的。用尾递归去实现也没什么不光彩的。因为绕过副作用的隔离会更不光彩。
不了解 .. 补补去。

不过很好奇,除了那几个专利问题,要是整套平衡树的操作都用函数式的语言完成,会长成什么模样?

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
115 [报告]
发表于 2012-08-10 00:40 |只看该作者
本帖最后由 OwnWaterloo 于 2012-08-10 00:45 编辑

回复 114# hbmhalley

>> 是一回事,但 while (bool) 写成 f {bool || return ; f(bool)}总是不太漂亮是吧 .. 当然没得选另说。
有些语言里,前者不一定比后者漂亮。。。

  1. f 边界条件值 = 边界结果
  2. f 非边界条件值 = 递归定义

  3. g ... =
  4.   | 边界条件 = 边界结果
  5.   | 非边界条件 = 递归定义
复制代码
>> 不过很好奇,除了那几个专利问题,要是整套平衡树的操作都用函数式的语言完成,会长成什么模样?
这是特指纯函数式吧?
记得有本专门讲这个的书,data structure in functional programming?也许是这个名字,也许是persistent data structure。。。
总之就是将那些经典的数据结构(节点式的)在只能创建新节点,不允许修改已有节点的情况下实现了一遍。

  1. l1 = [1,2,3]
  2. l2 = [4,5,6]
  3. l3 = l1 ++ l2

  4. l1 -> 1  -> 2  -> 3  -> nil
  5. l3 -> 1' -> 2' -> 3' -+
  6.                       |
  7.                       v
  8. l2 ---------------->  4 -> 5 -> 6 -> nil
复制代码

  1. // 非真实代码或实现方式了,仅是示意。
  2. t1 = treeFromList [1,2,3,4]
  3. t2 = insert 5 t1
  4. t3 = delete 3 t2

  5.    t1          t2           t3
  6.    |           |            |
  7.    2           2'           2''
  8.   /  \       /  \         /   \
  9. 1    4     1    4'      1      4''
  10. |   /      |   / \      |        \
  11. |  3       |  3   5'    |         5'
  12. |  |       |  |   |     |         |
  13. |  |       |  |   +-----+---------+
  14. |  +-------+--+         |
  15. |          |            |
  16. +----------+------------+
复制代码
灰常蛋疼。

论坛徽章:
0
116 [报告]
发表于 2012-08-10 01:12 |只看该作者
回复 115# OwnWaterloo


    犀利 .. 看看去

    其实我更关心那些个大段的平衡操作放到函数式的语境里是个什么模样 .. 这是在算导里借循环不变量说了一大坨的东西。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
117 [报告]
发表于 2012-08-10 01:20 |只看该作者
回复 116# hbmhalley

好像是algorithm in c,里面有说top down而不是bottom up的自顶向下旋转。。。

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
118 [报告]
发表于 2012-08-10 09:44 |只看该作者
其实, 有些人是不适合编程的,
OO 都接受不了, 还怎么写程序 !?   

另类的悲剧 !

论坛徽章:
0
119 [报告]
发表于 2012-08-10 10:06 |只看该作者
如果大家闲的没事还觉得自己很牛,给linux内核帮点忙,写的NB的代码,比在这儿无聊强多了!
我们中国这些码农主要是没时间,还得养家糊口.

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
120 [报告]
发表于 2012-08-10 16:58 |只看该作者
__BlueGuy__ 发表于 2012-08-10 09:44
其实, 有些人是不适合编程的,
OO 都接受不了, 还怎么写程序 !?   

另类的悲剧 !

为什么你总是喜欢来充当我的素材呢?

对那些茶余饭后又希望研究点技术、提升自己的层次、跟上潮流的人来说,OO、设计模式、MVP之类的东西最适合了。简单、轻便、收效快。
这是其他求不得但求OO得到的人。
不过我看你不是这种,而是求OO也不得的那类。
这句话还给你 —— 连OO都搞不定,还怎么写程序? 改行吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP