摘要:
注:在子类中出现与父类相同名称的变量和非虚函数不是最佳实践,这里是为了说明其内存结构。 对其分析如下: 1. 每个含有虚函数的类在内存中多一根指针(vptr),见图中a,b,c对象中第一个位置,存储的是虚函数表(vtbl)所在的位置。 2. 虚函数表(vtbl)存储着所有虚函数的位置(地址),由于其 阅读全文
摘要:
对于这种列出所有结果的题首先还是考虑用递归Recursion来解,由于字符串只有左括号和右括号两种字符,而且最终结果必定是左括号3个,右括号3个,所以我们定义两个变量left和right分别表示剩余左右括号的个数,如果在某次递归时,左括号的个数大于右括号的个数,说明此时生成的字符串中右括号的个数大于 阅读全文
摘要:
hash_map和map的区别在哪里?构造函数。hash_map需要hash函数,等于函数;map只需要比较函数(小于函数). 存储结构。hash_map采用hash表存储,map一般采用红黑树(RB Tree)实现。因此其memory数据结构是不一样的。 什么时候需要用hash_map,什么时候需 阅读全文
摘要:
链接地址:https://blog.csdn.net/v_JULY_v/article/details/6530142 B+树 B+ 树是一种树数据结构,是一个n叉树,每个节点通常有多个孩子,一棵B+树包含根节点、内部节点和叶子节点。根节点可能是一个叶子节点,也可能是一个包含两个或两个以上孩子节点的 阅读全文
摘要:
问题一:两数之和 思路:用线性的时间复杂度来解决问题,那么就是说只能遍历一个数字,那么另一个数字呢,我们可以事先将其存储起来,使用一个HashMap,来建立数字和其坐标位置之间的映射,我们都知道HashMap是常数级的查找效率,这样,我们在遍历数组的时候,用target减去遍历到的数字,就是另一个需 阅读全文
摘要:
方法一:暴力求解O(n3) 遍历所有字串并且判断判断时候是回文找到最长回文串。 方法二:以字符串每个字符为中心向左右寻找回文串,记录最大回文串位置和长度。O(n2)。注意:例如“ACCAP”把CC看成一个字符,做特殊处理。 还有更好的用“马拉车算法”和动态规划。这里就不细说了,网上就更多更好讲解博客 阅读全文
摘要:
在写C++程序的时候会发现STL是一个不错的东西,减少了代码量,使代码的复用率大大提高,减轻了程序猿的负担。还有一个就是容器,你会发现要是自己写一个链表、队列,或者是数组的时候,既要花时间还要操心怎么去维护,里面的指针啊,内存够不够用啊,长度问题,有没有可能溢出啊等等一系列的问题等着我们去解决,还是 阅读全文
摘要:
链接 阅读全文
摘要:
平衡二叉树在进行插入操作的时候可能出现不平衡的情况,AVL树即是一种自平衡的二叉树,它通过旋转不平衡的节点来使二叉树重新保持平衡,并且查找、插入和删除操作在平均和最坏情况下时间复杂度都是O(log n)。 AVL树是平衡二叉搜索树。 链接:https://blog.csdn.net/collonn/ 阅读全文
摘要:
转载一篇博客:https://blog.csdn.net/wangran51/article/details/8826633/ https://blog.csdn.net/haishu_zheng/article/details/77278119 链地址法:https://blog.csdn.net 阅读全文