数据结构与算法
N1314N
有志者事竟成
展开
-
请问什么是单向链表,如何判断两个单向链表是否相交
参考回答:考察点:数据结构,算法公司:百度1、单向链表单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始;链表是使用指针进行构造的列表;又称为结点列表,因为链表是由一个个结点组装起来的;其中每个结点都有指针成员变量指向列表中的下一个结点。列表是由结点构成,head指针指向第一个成为表头结点,而终止于最后一个指向nuLL的指针。2...原创 2019-06-29 14:49:53 · 781 阅读 · 0 评论 -
请你回答一下hash表如何rehash,以及怎么处理其中保存的资源
参考回答:C++的hash表中有一个负载因子loadFactor,当loadFactor<=1时,hash表查找的期望复杂度为O(1). 因此,每次往hash表中添加元素时,我们必须保证是在loadFactor <1的情况下,才能够添加。 因此,当Hash表中loadFactor==1时,Hash就需要进行rehash。rehash过程中,会模仿C++的vector扩容方式,...原创 2019-06-30 09:40:57 · 1954 阅读 · 0 评论 -
请你来说一说hash表的实现,包括STL中的哈希桶长度常数
参考回答:hash表的实现主要包括构造哈希和处理哈希冲突两个方面:(1) 对于构造哈希来说,主要包括直接地址法、平方取中法、除留余数法等。(2) 对于处理哈希冲突来说,最常用的处理冲突的方法有开放定址法、再哈 希法、链地址法、建立公共溢出区等方法。SGL版本使用链地址法,使用一个 链表保持相同散列值的元素。虽然链地址法并不要求哈希桶长度必须为质数, 但SGI STL仍然以质数来...原创 2019-06-30 09:43:17 · 1430 阅读 · 0 评论