
算法面试题
难选昵称
独学而无友,孤陋则寡闻。学而不思则罔,思而不学则殆。
展开
-
单向链表中的环路问题
前言1.如果在单向链表中有环如何检测?2.如何知道环的长度?3.如何知道环外长度,或者说是由链表头结点到环碰撞点的长度?4.如何知道整条链的长度?5.如果存在环又该如何消除环?问题1:如何检测单向链表的环路问题?想象一下跑跑道,如果是直线,大家速度不一样是肯定追不上的,但是看比赛的时候不难发现,对于长程比赛而言,速度快的是可以追上速度慢的人的,也就是套圈,那么也就...原创 2019-07-25 19:45:53 · 406 阅读 · 0 评论 -
hash算法及性能比较
1.拉链法拉链法就是通过数组和链表共同组成key和许多value的集合来减少冲突。缺点:链表的缺点有两个:第一,其长度太长时,会导致搜索性能不好。第二,链表在内存中的存放地址是不连续的,一个缓存行的大小是64B,而每一个node可能占16个字节,如果是数组,每次就可以连续的访问4个node,但是对于链表中的每一个node,就只能单独访问,这样会导致cache的利用率不好。2.自然...原创 2019-09-02 11:09:33 · 2861 阅读 · 0 评论