数据结构
响尾大菜鸟
这个作者很懒,什么都没留下…
展开
-
Java中文键树的一种实现(附带模糊查询功能)
首先在文章的开头声明一下哈,本文只是介绍一种Java蛮力键树的实现,并没有什么高深的数据结构,所以数据量不超过百万字符的可以参考,数据量太大的另请高明吧。另外,后面的键树代码实际上不仅适用于中文存储和查找,只要是字符串形式的数据都可以存储。比如:“锄禾日当午”、“a+你好啊234#jfjf”这样形式的数据都可以放进去(韩文柬埔寨文怎么混搭都可以,只要编码方式别搞混)。键树是一种非常简单的数据结...原创 2016-05-30 17:43:09 · 7410 阅读 · 5 评论 -
大O表示法初学者指南
原文地址:https://rob-bell.net/2009/06/a-beginners-guide-to-big-o-notation/ 计算机科学中,大O表示法被用来描述一个算法的性能或复杂度。大O表示法可以用来描述一个算法的最差情况,或者一个算法执行的耗时或占用空间(例如内存或磁盘占用)。 相信许多人读过《Programming Pearls》(《编程珠玑》)或者其他计算机科学书籍时,在翻译 2017-03-03 08:55:32 · 13402 阅读 · 0 评论 -
平衡二叉树和红黑树最差情况性能分析
平衡二叉树和红黑树最差情况分析1.经典平衡二叉树平衡二叉树(又称AVL树)是带有平衡条件的二叉查找树,使用最多的定理为:一棵平衡二叉树是其每个节点的左子树和右子树的高度最多差为1的二叉查找树。因为他是二叉树的一种具体应用,所以他同样具有二叉树的性质。例如,一棵满二叉树在第k层最多可拥有个节点(性质1)。一棵树的高度为其从根节点到最底层节点经过的路径数(例如只含一个节点的树的高度为0)...原创 2016-04-22 10:57:08 · 17861 阅读 · 7 评论 -
关于Top K问题的勘误讨论
在网上查找了许多Top K算法的问题,发现了几个问题:首先,不管具体实现方式是二叉堆还是快速排序或者别的,其实没有Top K这个算法。在大量数据中求前几位最值问题其实有很多解法,没有一个具体的固定最优算法,网络上所谓的Top K算法,或者是优先队列在实际中的简单应用,或者是别的算法结合。其次,关于Java的Top K算法的具体实现,网上似乎大量的资料都有误导人的嫌疑。这里只讨论利用二叉堆的实现原创 2016-04-20 08:34:34 · 776 阅读 · 0 评论