C++
GMFTBY
for all
展开
-
C++自学摘要
1.void类型指针(随机类型指针)的抽象化应用memcpy内存拷贝函数void *memcpy(void *dest,const void *src,size)因为memcpy函数是对内存进行处理的,起始地址是src指针对应的首地址,要拷贝的内容长度是size拷贝的目的地是dest随机指针,在这里使用void指针的一大好处就是,我们无需考虑src首地址的具体数据结构只需要拷贝原创 2016-04-10 16:20:51 · 458 阅读 · 0 评论 -
POJ 2503 - 字典树再解
1.Question:题意:有不超过10w个字典序列,每个字典序列中都是两个字符串,第一个字符串是英文,第二个字符串是对应的一门不知道什么语言现在要求我们尽可能快速的建立映射,是的我们根据输入的外语可以快速的查找到对应的英语每个单词的长度不超过10,全部都是小写(简化了问题)输入样例和解释:dog ogdaycat atcaypig igpayfroot原创 2016-10-31 12:07:39 · 472 阅读 · 0 评论 -
线性表——线性表+抽象链表类+单向链表讲解
1.讲解:线性表两种分类:顺序表,链表线性表>记录(数据元素)>数据项顺序表:只有唯一一个节点只存在一个后继,不存在前驱,只有唯一一个节点存在前驱,不存在后继,中间所有的节点都存在位移的前驱和后继顺序表的优点:可以随机存取,方便访问,存储密度大,空间利用率高顺序表缺点:难以实现插入数据的操作,而且空间一旦定义就会固定,不能动态控制空间内存的大小链表的缺点原创 2016-08-24 17:46:36 · 560 阅读 · 0 评论 -
哈希表全解(简介+构造+冲突处理+查找分析计算+诸多要点)
目前参考了大量的优秀的大牛的博文自己总计的超详细哈希表1.哈希表的简介2.哈希表的哈希函数构造3.冲突处理4.查找分析计算5.C++完整实现代码原创 2016-08-10 22:09:42 · 3851 阅读 · 0 评论 -
微软面试百题004——指定BST路径和
微软面试百题0041.题目大意:给出一颗二叉查找树BST定义路径:从根节点出发到叶子节点终止视为一条路径定义路径和:路径上的所有上的节点的权值之和给定一个权值,请求出满足权值路径和的所有的路径2.解题思路:因为我们是要求解出所有的情况,所以很自然而然的我们就会想到深度优先遍历(DFS)我们从根节点开始,每次向下遍历至所有的根节点,满足条件打印一次(存储在余下原创 2016-08-09 16:21:01 · 573 阅读 · 0 评论 -
从BST到SBT(田劲峰老师论文读后感)6.
优劣:优点:查找的时间复杂度:O(logn)非常高效的查找速度缺点:对于存在部分有序的输入序列,会导致BST偏向于偏树,进而使得树的深度逐渐变大,导致查找速度不断退化,最坏的退化情况是退化成双向链表引出:对于BST的缺点,我们需要克服,我们最终需要的而是一种技能高效的查找数据又可以避免特殊的输入序列而导致的BST 的退化,所以这时候,我们引入了一种新的数据结构——自平衡二叉树,通过不同的操作,是的,这种进化过得BST可以拥有自动调节树高的能力,是的我们查找的时间复杂度稳定在O(logn)附近,避免原创 2016-08-18 08:28:08 · 1451 阅读 · 1 评论 -
归并排序全解(含复杂度证明)
史上最全的归并排序讲解1.归并排序实现2.归并排序复杂度证明3.归并排序应用4.归并排序的优化原创 2016-08-08 12:32:13 · 8029 阅读 · 0 评论 -
快速排序全面讲解(含复杂度证明)——即将引出八大排序算法
快速排序最经典额讲解,一看就会,不会以抽我耳刮子都可以原创 2016-08-07 23:07:58 · 9752 阅读 · 8 评论 -
C++易混点——深度解析指针悬挂和虚析构函数
对于C++的指针悬挂和虚析构函数有一个更加清楚的认识原创 2016-08-06 16:01:16 · 747 阅读 · 0 评论 -
编程之美1.14——连连看工程(含全部代码,伪哈希+BFS)
编程之美迄今为止最为详细的讲解,包含连连看游戏的C++所有代码片段伪哈希+BFS+动态规划绝对值得收藏,绝对值得浏览我是不是该开个竖屏的专栏了其余的扩展问题还在思索,会不定期的更新原创 2016-08-16 10:20:57 · 1327 阅读 · 0 评论 -
树及二叉树
1.基础概念:树是一种扩展性的数据结构,体现在树额一对多的方面上一.树的表示方法1.双亲表示树:结构体包含数据域和指向双亲的指针域,我们也可以添加指向长子的指针域和只想有兄弟的指针域2.孩子表示树:两种结构体,一种结构体建立出顺序的数组结构,保存数据域和指向孩子的指针域 第二种结构体,包含有指向对应的孩子的指针域,还包含指向与其有相同的双亲的兄弟的节点原创 2016-08-04 16:59:46 · 488 阅读 · 0 评论 -
二叉查找树BST总结
二叉查找树BST总结分析1.ADT(抽象数据类型)ADT BST{ 数据元素:数据节点(键值,位置信息)数据关系:父子关系基本操作:插入节点查找节点删除节点遍历节点(前中后层序)}2.二叉查找树性质:(不存在相同键值的节点)1.空树2.非空树并且左子树所有节点的键值均小于本节点的键值 右子树所有的节点的键值原创 2016-07-31 22:59:16 · 3054 阅读 · 0 评论 -
POJ 2503 - 二分+快排
1.Question:前文有2.Solution:本文采用二分+快排的模式我们都知道字符串在字典序下是有严格的递增的序列的,所以我们利用字符串的字典序作为待查序列,利用二分法来查找PS:二分法的时间复杂度是O(n*logn),但是字典树是接近O(n),但是在测试中,二分比字典树还要快一点,我有些不得其解,可能库函数对排序而做了非常好的的优化我也不知道,也有可能是数据的问原创 2016-11-01 09:33:18 · 490 阅读 · 0 评论