
数据结构和算法
hust_dxxxd
这个作者很懒,什么都没留下…
展开
-
面试经典问题---数据库索引B+、B-树
大型数据库数据都是存在硬盘中的,为了操作的速度,需要设计针对外存的数据结构。而数据库索引技术就是在面试中反复被问到的一个问题:数据库索引是怎么实现的?数据库索引越大越好吗? 需要详细了解下这方面的知识:原文链接。以下为转载-----------------------------------------------------------------------------转载 2016-03-16 15:28:18 · 7972 阅读 · 0 评论 -
求质数算法的N种境界
全文转载:http://marvel.blog.chinaunix.net/uid-29073321-id-5569985.html求质数算法的N种境界 (N > 10) ★题目 好,言归正传。下面俺就由浅入深,从各种角度来剖析这道题目的奥妙。 为了避免被人指责为"玩文字游戏"(有些同学自己审题不细,却抱怨出题的人玩文字游戏),在介绍各种境界之前,转载 2016-03-20 13:18:21 · 2683 阅读 · 1 评论 -
经典的裴波拉契数列与尾递归实现
对于经典的裴波拉契数列:f(n) = f(n-1)+f(n-2), f(0) = 0, f(1) = 1.(抱歉现在markdown里面插入latex公式还不会,后面再咯)。直接用递归实现,可以发现,当求f(n-1)时,需要从f(2)到f(n-2)的每一项值,求f(n-2)时需要f(2)到f(n-3)的每一项值,这中间包含了很多的重复,算法复杂度用树来分析,基本是一个满二叉树的节点数目,即O(2^n原创 2016-03-23 15:00:18 · 2054 阅读 · 0 评论 -
二分查找实现细节
二分查找原理 与有序数组相关的问题,比如确定某个数是否在其中,采用二分查找可以达到log(n)的复杂度。虽然原理简单,但是要真正编码实现,而且无bug往往还不是那么容易。本人就实践过多次,每次写完后都要调试好几次才能去掉很多bug。但是在面试过程中,面试官看的就是你平时编码多不多,肯定不会让你有那么多机会调试,你最多可以心里调试一遍,这样往往就留下很多bug,一跑就很有可能出错。以下是我对b原创 2016-03-31 21:13:54 · 1169 阅读 · 0 评论 -
链表有环找入口的问题
之前遇到过这个问题,记得方法是先分别用两个快、慢指针,让他们在环中相遇,然后一个从头结点,一个从相遇点,都一次走一步,相遇点即为入口点。 但是关于这个结论的证明,看了网上好几个博客,感觉都说的不够清晰,印象中有一篇讲得还不错,还算理解了它的思想,今天做题时想要去搜结果搜不到了。 这里写下我自己的一点理解: 其中p点为快慢指针的相遇点。原创 2016-05-17 15:35:44 · 506 阅读 · 1 评论 -
LeetCode Medium : Search Insert Position
题目:https://leetcode.com/problems/search-insert-position/典型的二分查找实现思路 但是需要注意,这里相当于要在数组中查找最小的、大于等于目标值的元素下标,注意更新左边界条件的方式,之前写的一篇博文中介绍了怎样更新边界以避免死循环bug。另外还要注意,对于目标值是大于原数组中最大值和最小值得情况要特殊考虑。原创 2016-07-10 13:03:02 · 366 阅读 · 0 评论 -
二叉树概念总结
原文: http://blog.youkuaiyun.com/xy010902100449/article/details/46591733----------------------------------------------------------------------------------------------------------1、二叉树结点编号在一棵n个结点的完转载 2016-09-06 17:28:37 · 441 阅读 · 0 评论